RouterOS beeper player
CQ in Morse
One tone, keyed on and off: CQ twice to anyone listening, DE, a name twice, and K to invite a reply — then a silence, and the call again.
1# CQ, a general call in International Morse code (ITU-R M.1677-1). No composer; the words are the arranger's. https://lab.glossema.dev/play/morse-cq2# grid: unit 60ms, bar 2040ms3# One tone, 698 Hz (F5), keyed on and off.4# Dit 60 ms, dah 180 ms.5# Spaces: 60 ms between the elements of a letter, 180 ms between letters, 420 ms between words.6# Each word is one bar: CQ CQ DE ROUTER ROUTER K.7# The call is sent twice, with 2460 ms of silence between the two calls (a word space, then a listening bar of 2040 ms).89# ---- Call 1 of 2 ----10:put "CQ";11# bar 112:beep frequency=698 length=180ms; # C dah13:delay 180ms;14:delay 60ms;15:beep frequency=698 length=60ms; # C dit16:delay 60ms;17:delay 60ms;18:beep frequency=698 length=180ms; # C dah19:delay 180ms;20:delay 60ms;21:beep frequency=698 length=60ms; # C dit22:delay 60ms;23:delay 180ms; # letter space24:beep frequency=698 length=180ms; # Q dah25:delay 180ms;26:delay 60ms;27:beep frequency=698 length=180ms; # Q dah28:delay 180ms;29:delay 60ms;30:beep frequency=698 length=60ms; # Q dit31:delay 60ms;32:delay 60ms;33:beep frequency=698 length=180ms; # Q dah34:delay 180ms;35:delay 420ms; # word space3637:put "CQ";38# bar 239:beep frequency=698 length=180ms; # C dah40:delay 180ms;41:delay 60ms;42:beep frequency=698 length=60ms; # C dit43:delay 60ms;44:delay 60ms;45:beep frequency=698 length=180ms; # C dah46:delay 180ms;47:delay 60ms;48:beep frequency=698 length=60ms; # C dit49:delay 60ms;50:delay 180ms; # letter space51:beep frequency=698 length=180ms; # Q dah52:delay 180ms;53:delay 60ms;54:beep frequency=698 length=180ms; # Q dah55:delay 180ms;56:delay 60ms;57:beep frequency=698 length=60ms; # Q dit58:delay 60ms;59:delay 60ms;60:beep frequency=698 length=180ms; # Q dah61:delay 180ms;62:delay 420ms; # word space6364# grid: unit 60ms, bar 1080ms65:put "DE";66# bar 367:beep frequency=698 length=180ms; # D dah68:delay 180ms;69:delay 60ms;70:beep frequency=698 length=60ms; # D dit71:delay 60ms;72:delay 60ms;73:beep frequency=698 length=60ms; # D dit74:delay 60ms;75:delay 180ms; # letter space76:beep frequency=698 length=60ms; # E dit77:delay 60ms;78:delay 420ms; # word space7980# grid: unit 60ms, bar 3480ms81:put "ROUTER";82# bar 483:beep frequency=698 length=60ms; # R dit84:delay 60ms;85:delay 60ms;86:beep frequency=698 length=180ms; # R dah87:delay 180ms;88:delay 60ms;89:beep frequency=698 length=60ms; # R dit90:delay 60ms;91:delay 180ms; # letter space92:beep frequency=698 length=180ms; # O dah93:delay 180ms;94:delay 60ms;95:beep frequency=698 length=180ms; # O dah96:delay 180ms;97:delay 60ms;98:beep frequency=698 length=180ms; # O dah99:delay 180ms;100:delay 180ms; # letter space101:beep frequency=698 length=60ms; # U dit102:delay 60ms;103:delay 60ms;104:beep frequency=698 length=60ms; # U dit105:delay 60ms;106:delay 60ms;107:beep frequency=698 length=180ms; # U dah108:delay 180ms;109:delay 180ms; # letter space110:beep frequency=698 length=180ms; # T dah111:delay 180ms;112:delay 180ms; # letter space113:beep frequency=698 length=60ms; # E dit114:delay 60ms;115:delay 180ms; # letter space116:beep frequency=698 length=60ms; # R dit117:delay 60ms;118:delay 60ms;119:beep frequency=698 length=180ms; # R dah120:delay 180ms;121:delay 60ms;122:beep frequency=698 length=60ms; # R dit123:delay 60ms;124:delay 420ms; # word space125126:put "ROUTER";127# bar 5128:beep frequency=698 length=60ms; # R dit129:delay 60ms;130:delay 60ms;131:beep frequency=698 length=180ms; # R dah132:delay 180ms;133:delay 60ms;134:beep frequency=698 length=60ms; # R dit135:delay 60ms;136:delay 180ms; # letter space137:beep frequency=698 length=180ms; # O dah138:delay 180ms;139:delay 60ms;140:beep frequency=698 length=180ms; # O dah141:delay 180ms;142:delay 60ms;143:beep frequency=698 length=180ms; # O dah144:delay 180ms;145:delay 180ms; # letter space146:beep frequency=698 length=60ms; # U dit147:delay 60ms;148:delay 60ms;149:beep frequency=698 length=60ms; # U dit150:delay 60ms;151:delay 60ms;152:beep frequency=698 length=180ms; # U dah153:delay 180ms;154:delay 180ms; # letter space155:beep frequency=698 length=180ms; # T dah156:delay 180ms;157:delay 180ms; # letter space158:beep frequency=698 length=60ms; # E dit159:delay 60ms;160:delay 180ms; # letter space161:beep frequency=698 length=60ms; # R dit162:delay 60ms;163:delay 60ms;164:beep frequency=698 length=180ms; # R dah165:delay 180ms;166:delay 60ms;167:beep frequency=698 length=60ms; # R dit168:delay 60ms;169:delay 420ms; # word space170171# grid: unit 60ms, bar 960ms172:put "K";173# bar 6174:beep frequency=698 length=180ms; # K dah175:delay 180ms;176:delay 60ms;177:beep frequency=698 length=60ms; # K dit178:delay 60ms;179:delay 60ms;180:beep frequency=698 length=180ms; # K dah181:delay 180ms;182:delay 420ms; # word space183184# ---- Listening ----185# grid: unit 60ms, bar 2040ms186# bar 7187:delay 2040ms; # listening188189# ---- Call 2 of 2 ----190:put "CQ";191# bar 8192:beep frequency=698 length=180ms; # C dah193:delay 180ms;194:delay 60ms;195:beep frequency=698 length=60ms; # C dit196:delay 60ms;197:delay 60ms;198:beep frequency=698 length=180ms; # C dah199:delay 180ms;200:delay 60ms;201:beep frequency=698 length=60ms; # C dit202:delay 60ms;203:delay 180ms; # letter space204:beep frequency=698 length=180ms; # Q dah205:delay 180ms;206:delay 60ms;207:beep frequency=698 length=180ms; # Q dah208:delay 180ms;209:delay 60ms;210:beep frequency=698 length=60ms; # Q dit211:delay 60ms;212:delay 60ms;213:beep frequency=698 length=180ms; # Q dah214:delay 180ms;215:delay 420ms; # word space216217:put "CQ";218# bar 9219:beep frequency=698 length=180ms; # C dah220:delay 180ms;221:delay 60ms;222:beep frequency=698 length=60ms; # C dit223:delay 60ms;224:delay 60ms;225:beep frequency=698 length=180ms; # C dah226:delay 180ms;227:delay 60ms;228:beep frequency=698 length=60ms; # C dit229:delay 60ms;230:delay 180ms; # letter space231:beep frequency=698 length=180ms; # Q dah232:delay 180ms;233:delay 60ms;234:beep frequency=698 length=180ms; # Q dah235:delay 180ms;236:delay 60ms;237:beep frequency=698 length=60ms; # Q dit238:delay 60ms;239:delay 60ms;240:beep frequency=698 length=180ms; # Q dah241:delay 180ms;242:delay 420ms; # word space243244# grid: unit 60ms, bar 1080ms245:put "DE";246# bar 10247:beep frequency=698 length=180ms; # D dah248:delay 180ms;249:delay 60ms;250:beep frequency=698 length=60ms; # D dit251:delay 60ms;252:delay 60ms;253:beep frequency=698 length=60ms; # D dit254:delay 60ms;255:delay 180ms; # letter space256:beep frequency=698 length=60ms; # E dit257:delay 60ms;258:delay 420ms; # word space259260# grid: unit 60ms, bar 3480ms261:put "ROUTER";262# bar 11263:beep frequency=698 length=60ms; # R dit264:delay 60ms;265:delay 60ms;266:beep frequency=698 length=180ms; # R dah267:delay 180ms;268:delay 60ms;269:beep frequency=698 length=60ms; # R dit270:delay 60ms;271:delay 180ms; # letter space272:beep frequency=698 length=180ms; # O dah273:delay 180ms;274:delay 60ms;275:beep frequency=698 length=180ms; # O dah276:delay 180ms;277:delay 60ms;278:beep frequency=698 length=180ms; # O dah279:delay 180ms;280:delay 180ms; # letter space281:beep frequency=698 length=60ms; # U dit282:delay 60ms;283:delay 60ms;284:beep frequency=698 length=60ms; # U dit285:delay 60ms;286:delay 60ms;287:beep frequency=698 length=180ms; # U dah288:delay 180ms;289:delay 180ms; # letter space290:beep frequency=698 length=180ms; # T dah291:delay 180ms;292:delay 180ms; # letter space293:beep frequency=698 length=60ms; # E dit294:delay 60ms;295:delay 180ms; # letter space296:beep frequency=698 length=60ms; # R dit297:delay 60ms;298:delay 60ms;299:beep frequency=698 length=180ms; # R dah300:delay 180ms;301:delay 60ms;302:beep frequency=698 length=60ms; # R dit303:delay 60ms;304:delay 420ms; # word space305306:put "ROUTER";307# bar 12308:beep frequency=698 length=60ms; # R dit309:delay 60ms;310:delay 60ms;311:beep frequency=698 length=180ms; # R dah312:delay 180ms;313:delay 60ms;314:beep frequency=698 length=60ms; # R dit315:delay 60ms;316:delay 180ms; # letter space317:beep frequency=698 length=180ms; # O dah318:delay 180ms;319:delay 60ms;320:beep frequency=698 length=180ms; # O dah321:delay 180ms;322:delay 60ms;323:beep frequency=698 length=180ms; # O dah324:delay 180ms;325:delay 180ms; # letter space326:beep frequency=698 length=60ms; # U dit327:delay 60ms;328:delay 60ms;329:beep frequency=698 length=60ms; # U dit330:delay 60ms;331:delay 60ms;332:beep frequency=698 length=180ms; # U dah333:delay 180ms;334:delay 180ms; # letter space335:beep frequency=698 length=180ms; # T dah336:delay 180ms;337:delay 180ms; # letter space338:beep frequency=698 length=60ms; # E dit339:delay 60ms;340:delay 180ms; # letter space341:beep frequency=698 length=60ms; # R dit342:delay 60ms;343:delay 60ms;344:beep frequency=698 length=180ms; # R dah345:delay 180ms;346:delay 60ms;347:beep frequency=698 length=60ms; # R dit348:delay 60ms;349:delay 420ms; # word space350351# grid: unit 60ms, bar 960ms352:put "K";353# bar 13354:beep frequency=698 length=180ms; # K dah355:delay 180ms;356:delay 60ms;357:beep frequency=698 length=60ms; # K dit358:delay 60ms;359:delay 60ms;360:beep frequency=698 length=180ms; # K dah361:delay 180ms;362:delay 420ms; # word spaceOn the router: paste the script into a terminal, or upload the file and run it.
Script output
Write your own
Ask for a tune you may arrange: your own, one out of copyright, or one you are licensed to use.
Have a MIDI file? altucor’s converter turns it into a script.
How it works
One command sounds one tone: :beep frequency=<hertz> length=<time>; the beeper plays one note at a time.
:delay is the clock. A beep starts the tone and returns at once, so every note is a beep followed by a delay of the same length and a small gap.
Most tunes here are written out note by note, a beep and a delay each; some also come as code, with loops, tables and functions, that plays the very same notes. Download any of these and run it in a terminal.