RouterOS beeper player
Ninja Turtles
The cartoon’s chorus as Konami’s NES game played it, three times through: the chant alone, then the bass under it, then the high voice climbing above.
1# Teenage Mutant Ninja Turtles theme (Chuck Lorre and Dennis C. Brown, 1987) as Konami arranged it for the NES in Teenage Mutant Ninja Turtles II: The Arcade Game (1990) - https://lab.glossema.dev/play/turtles2# grid: unit 116ms, bar 928ms3# The chorus, eight bars in even eighths, played three times, then a closing bar.4# Pass 1 is the game's lead voice alone: the chant as a riff, one note on every eighth.5# Pass 2 adds the bass voice as short low thumps on its own note, at the first and fifth eighth of each bar and where it steps to D.6# Pass 3 adds the high voice's five climbing entries as short high graces in bars 17 to 22; where a grace takes a lead note, the thump moves to the next eighth.7# The last bar, the tonic C5 held after one bass thump, is the arrangement's close; the game loops the chorus instead.89# ---- chorus, pass 1 of 3 ----10:put "Chorus 1 of 3: the lead alone";11# bar 112:beep frequency=392 length=106ms; # G413:delay 116ms;14:beep frequency=262 length=106ms; # C415:delay 116ms;16:beep frequency=440 length=106ms; # A417:delay 116ms;18:beep frequency=262 length=106ms; # C419:delay 116ms;20:beep frequency=392 length=106ms; # G421:delay 116ms;22:beep frequency=262 length=106ms; # C423:delay 116ms;24:beep frequency=440 length=106ms; # A425:delay 116ms;26:beep frequency=262 length=106ms; # C427:delay 116ms;28# bar 229:beep frequency=392 length=106ms; # G430:delay 116ms;31:beep frequency=262 length=106ms; # C432:delay 116ms;33:beep frequency=440 length=106ms; # A434:delay 116ms;35:beep frequency=392 length=106ms; # G436:delay 116ms;37:beep frequency=262 length=106ms; # C438:delay 116ms;39:beep frequency=392 length=106ms; # G440:delay 116ms;41:beep frequency=440 length=106ms; # A442:delay 116ms;43:beep frequency=262 length=106ms; # C444:delay 116ms;45# bar 346:beep frequency=466 length=106ms; # A#447:delay 116ms;48:beep frequency=311 length=106ms; # D#449:delay 116ms;50:beep frequency=523 length=106ms; # C551:delay 116ms;52:beep frequency=311 length=106ms; # D#453:delay 116ms;54:beep frequency=466 length=106ms; # A#455:delay 116ms;56:beep frequency=311 length=106ms; # D#457:delay 116ms;58:beep frequency=523 length=106ms; # C559:delay 116ms;60:beep frequency=311 length=106ms; # D#461:delay 116ms;62# bar 463:beep frequency=466 length=106ms; # A#464:delay 116ms;65:beep frequency=311 length=106ms; # D#466:delay 116ms;67:beep frequency=523 length=106ms; # C568:delay 116ms;69:beep frequency=466 length=106ms; # A#470:delay 116ms;71:beep frequency=311 length=106ms; # D#472:delay 116ms;73:beep frequency=466 length=106ms; # A#474:delay 116ms;75:beep frequency=523 length=106ms; # C576:delay 116ms;77:beep frequency=311 length=106ms; # D#478:delay 116ms;79# bar 580:beep frequency=622 length=106ms; # D#581:delay 116ms;82:beep frequency=349 length=106ms; # F483:delay 116ms;84:beep frequency=698 length=106ms; # F585:delay 116ms;86:beep frequency=349 length=106ms; # F487:delay 116ms;88:beep frequency=622 length=106ms; # D#589:delay 116ms;90:beep frequency=349 length=106ms; # F491:delay 116ms;92:beep frequency=698 length=106ms; # F593:delay 116ms;94:beep frequency=349 length=106ms; # F495:delay 116ms;96# bar 697:beep frequency=622 length=106ms; # D#598:delay 116ms;99:beep frequency=415 length=106ms; # G#4100:delay 116ms;101:beep frequency=698 length=106ms; # F5102:delay 116ms;103:beep frequency=622 length=106ms; # D#5104:delay 116ms;105:beep frequency=415 length=106ms; # G#4106:delay 116ms;107:beep frequency=622 length=106ms; # D#5108:delay 116ms;109:beep frequency=698 length=106ms; # F5110:delay 116ms;111:beep frequency=415 length=106ms; # G#4112:delay 116ms;113# bar 7114:beep frequency=523 length=106ms; # C5115:delay 116ms;116:beep frequency=392 length=106ms; # G4117:delay 116ms;118:beep frequency=523 length=106ms; # C5119:delay 116ms;120:beep frequency=392 length=106ms; # G4121:delay 116ms;122:beep frequency=466 length=106ms; # A#4123:delay 116ms;124:beep frequency=349 length=106ms; # F4125:delay 116ms;126:beep frequency=523 length=106ms; # C5127:delay 116ms;128:beep frequency=392 length=106ms; # G4129:delay 116ms;130# bar 8131:beep frequency=523 length=106ms; # C5132:delay 116ms;133:beep frequency=392 length=106ms; # G4134:delay 116ms;135:beep frequency=523 length=106ms; # C5136:delay 116ms;137:beep frequency=392 length=106ms; # G4138:delay 116ms;139:beep frequency=466 length=106ms; # A#4140:delay 116ms;141:beep frequency=349 length=106ms; # F4142:delay 116ms;143:beep frequency=523 length=106ms; # C5144:delay 116ms;145:beep frequency=392 length=106ms; # G4146:delay 116ms;147148# ---- chorus, pass 2 of 3 ----149:put "Chorus 2 of 3: the bass joins";150# bar 9151:beep frequency=131 length=30ms; # C3 bass152:delay 35ms;153:beep frequency=392 length=71ms; # G4154:delay 81ms;155:beep frequency=262 length=106ms; # C4156:delay 116ms;157:beep frequency=440 length=106ms; # A4158:delay 116ms;159:beep frequency=262 length=106ms; # C4160:delay 116ms;161:beep frequency=131 length=30ms; # C3 bass162:delay 35ms;163:beep frequency=392 length=71ms; # G4164:delay 81ms;165:beep frequency=262 length=106ms; # C4166:delay 116ms;167:beep frequency=440 length=106ms; # A4168:delay 116ms;169:beep frequency=262 length=106ms; # C4170:delay 116ms;171# bar 10172:beep frequency=131 length=30ms; # C3 bass173:delay 35ms;174:beep frequency=392 length=71ms; # G4175:delay 81ms;176:beep frequency=262 length=106ms; # C4177:delay 116ms;178:beep frequency=440 length=106ms; # A4179:delay 116ms;180:beep frequency=392 length=106ms; # G4181:delay 116ms;182:beep frequency=131 length=30ms; # C3 bass183:delay 35ms;184:beep frequency=262 length=71ms; # C4185:delay 81ms;186:beep frequency=392 length=106ms; # G4187:delay 116ms;188:beep frequency=147 length=30ms; # D3 bass189:delay 35ms;190:beep frequency=440 length=71ms; # A4191:delay 81ms;192:beep frequency=262 length=106ms; # C4193:delay 116ms;194# bar 11195:beep frequency=156 length=30ms; # D#3 bass196:delay 35ms;197:beep frequency=466 length=71ms; # A#4198:delay 81ms;199:beep frequency=311 length=106ms; # D#4200:delay 116ms;201:beep frequency=523 length=106ms; # C5202:delay 116ms;203:beep frequency=311 length=106ms; # D#4204:delay 116ms;205:beep frequency=156 length=30ms; # D#3 bass206:delay 35ms;207:beep frequency=466 length=71ms; # A#4208:delay 81ms;209:beep frequency=311 length=106ms; # D#4210:delay 116ms;211:beep frequency=523 length=106ms; # C5212:delay 116ms;213:beep frequency=311 length=106ms; # D#4214:delay 116ms;215# bar 12216:beep frequency=156 length=30ms; # D#3 bass217:delay 35ms;218:beep frequency=466 length=71ms; # A#4219:delay 81ms;220:beep frequency=311 length=106ms; # D#4221:delay 116ms;222:beep frequency=523 length=106ms; # C5223:delay 116ms;224:beep frequency=466 length=106ms; # A#4225:delay 116ms;226:beep frequency=156 length=30ms; # D#3 bass227:delay 35ms;228:beep frequency=311 length=71ms; # D#4229:delay 81ms;230:beep frequency=466 length=106ms; # A#4231:delay 116ms;232:beep frequency=523 length=106ms; # C5233:delay 116ms;234:beep frequency=311 length=106ms; # D#4235:delay 116ms;236# bar 13237:beep frequency=175 length=30ms; # F3 bass238:delay 35ms;239:beep frequency=622 length=71ms; # D#5240:delay 81ms;241:beep frequency=349 length=106ms; # F4242:delay 116ms;243:beep frequency=698 length=106ms; # F5244:delay 116ms;245:beep frequency=349 length=106ms; # F4246:delay 116ms;247:beep frequency=175 length=30ms; # F3 bass248:delay 35ms;249:beep frequency=622 length=71ms; # D#5250:delay 81ms;251:beep frequency=349 length=106ms; # F4252:delay 116ms;253:beep frequency=698 length=106ms; # F5254:delay 116ms;255:beep frequency=349 length=106ms; # F4256:delay 116ms;257# bar 14258:beep frequency=208 length=30ms; # G#3 bass259:delay 35ms;260:beep frequency=622 length=71ms; # D#5261:delay 81ms;262:beep frequency=415 length=106ms; # G#4263:delay 116ms;264:beep frequency=698 length=106ms; # F5265:delay 116ms;266:beep frequency=622 length=106ms; # D#5267:delay 116ms;268:beep frequency=208 length=30ms; # G#3 bass269:delay 35ms;270:beep frequency=415 length=71ms; # G#4271:delay 81ms;272:beep frequency=622 length=106ms; # D#5273:delay 116ms;274:beep frequency=698 length=106ms; # F5275:delay 116ms;276:beep frequency=415 length=106ms; # G#4277:delay 116ms;278# bar 15279:beep frequency=131 length=30ms; # C3 bass280:delay 35ms;281:beep frequency=523 length=71ms; # C5282:delay 81ms;283:beep frequency=392 length=106ms; # G4284:delay 116ms;285:beep frequency=523 length=106ms; # C5286:delay 116ms;287:beep frequency=392 length=106ms; # G4288:delay 116ms;289:beep frequency=131 length=30ms; # C3 bass290:delay 35ms;291:beep frequency=466 length=71ms; # A#4292:delay 81ms;293:beep frequency=349 length=106ms; # F4294:delay 116ms;295:beep frequency=523 length=106ms; # C5296:delay 116ms;297:beep frequency=392 length=106ms; # G4298:delay 116ms;299# bar 16300:beep frequency=131 length=30ms; # C3 bass301:delay 35ms;302:beep frequency=523 length=71ms; # C5303:delay 81ms;304:beep frequency=392 length=106ms; # G4305:delay 116ms;306:beep frequency=523 length=106ms; # C5307:delay 116ms;308:beep frequency=392 length=106ms; # G4309:delay 116ms;310:beep frequency=131 length=30ms; # C3 bass311:delay 35ms;312:beep frequency=466 length=71ms; # A#4313:delay 81ms;314:beep frequency=349 length=106ms; # F4315:delay 116ms;316:beep frequency=523 length=106ms; # C5317:delay 116ms;318:beep frequency=392 length=106ms; # G4319:delay 116ms;320321# ---- chorus, pass 3 of 3 ----322:put "Chorus 3 of 3: the high voice joins";323# bar 17324:beep frequency=784 length=22ms; # G5 high325:delay 25ms;326:beep frequency=392 length=81ms; # G4327:delay 91ms;328:beep frequency=131 length=30ms; # C3 bass329:delay 35ms;330:beep frequency=262 length=71ms; # C4331:delay 81ms;332:beep frequency=440 length=106ms; # A4333:delay 116ms;334:beep frequency=262 length=106ms; # C4335:delay 116ms;336:beep frequency=131 length=30ms; # C3 bass337:delay 35ms;338:beep frequency=392 length=71ms; # G4339:delay 81ms;340:beep frequency=262 length=106ms; # C4341:delay 116ms;342:beep frequency=440 length=106ms; # A4343:delay 116ms;344:beep frequency=262 length=106ms; # C4345:delay 116ms;346# bar 18347:beep frequency=131 length=30ms; # C3 bass348:delay 35ms;349:beep frequency=392 length=71ms; # G4350:delay 81ms;351:beep frequency=262 length=106ms; # C4352:delay 116ms;353:beep frequency=440 length=106ms; # A4354:delay 116ms;355:beep frequency=392 length=106ms; # G4356:delay 116ms;357:beep frequency=131 length=30ms; # C3 bass358:delay 35ms;359:beep frequency=262 length=71ms; # C4360:delay 81ms;361:beep frequency=392 length=106ms; # G4362:delay 116ms;363:beep frequency=880 length=22ms; # A5 high364:delay 25ms;365:beep frequency=440 length=81ms; # A4366:delay 91ms;367:beep frequency=147 length=30ms; # D3 bass368:delay 35ms;369:beep frequency=262 length=71ms; # C4370:delay 81ms;371# bar 19372:beep frequency=932 length=22ms; # A#5 high373:delay 25ms;374:beep frequency=466 length=81ms; # A#4375:delay 91ms;376:beep frequency=156 length=30ms; # D#3 bass377:delay 35ms;378:beep frequency=311 length=71ms; # D#4379:delay 81ms;380:beep frequency=523 length=106ms; # C5381:delay 116ms;382:beep frequency=311 length=106ms; # D#4383:delay 116ms;384:beep frequency=156 length=30ms; # D#3 bass385:delay 35ms;386:beep frequency=466 length=71ms; # A#4387:delay 81ms;388:beep frequency=311 length=106ms; # D#4389:delay 116ms;390:beep frequency=523 length=106ms; # C5391:delay 116ms;392:beep frequency=311 length=106ms; # D#4393:delay 116ms;394# bar 20395:beep frequency=156 length=30ms; # D#3 bass396:delay 35ms;397:beep frequency=466 length=71ms; # A#4398:delay 81ms;399:beep frequency=311 length=106ms; # D#4400:delay 116ms;401:beep frequency=523 length=106ms; # C5402:delay 116ms;403:beep frequency=466 length=106ms; # A#4404:delay 116ms;405:beep frequency=156 length=30ms; # D#3 bass406:delay 35ms;407:beep frequency=311 length=71ms; # D#4408:delay 81ms;409:beep frequency=466 length=106ms; # A#4410:delay 116ms;411:beep frequency=523 length=106ms; # C5412:delay 116ms;413:beep frequency=311 length=106ms; # D#4414:delay 116ms;415# bar 21416:beep frequency=1047 length=22ms; # C6 high417:delay 25ms;418:beep frequency=622 length=81ms; # D#5419:delay 91ms;420:beep frequency=175 length=30ms; # F3 bass421:delay 35ms;422:beep frequency=349 length=71ms; # F4423:delay 81ms;424:beep frequency=698 length=106ms; # F5425:delay 116ms;426:beep frequency=349 length=106ms; # F4427:delay 116ms;428:beep frequency=175 length=30ms; # F3 bass429:delay 35ms;430:beep frequency=622 length=71ms; # D#5431:delay 81ms;432:beep frequency=349 length=106ms; # F4433:delay 116ms;434:beep frequency=698 length=106ms; # F5435:delay 116ms;436:beep frequency=349 length=106ms; # F4437:delay 116ms;438# bar 22439:beep frequency=1245 length=22ms; # D#6 high440:delay 25ms;441:beep frequency=622 length=81ms; # D#5442:delay 91ms;443:beep frequency=208 length=30ms; # G#3 bass444:delay 35ms;445:beep frequency=415 length=71ms; # G#4446:delay 81ms;447:beep frequency=698 length=106ms; # F5448:delay 116ms;449:beep frequency=622 length=106ms; # D#5450:delay 116ms;451:beep frequency=208 length=30ms; # G#3 bass452:delay 35ms;453:beep frequency=415 length=71ms; # G#4454:delay 81ms;455:beep frequency=622 length=106ms; # D#5456:delay 116ms;457:beep frequency=698 length=106ms; # F5458:delay 116ms;459:beep frequency=415 length=106ms; # G#4460:delay 116ms;461# bar 23462:beep frequency=131 length=30ms; # C3 bass463:delay 35ms;464:beep frequency=523 length=71ms; # C5465:delay 81ms;466:beep frequency=392 length=106ms; # G4467:delay 116ms;468:beep frequency=523 length=106ms; # C5469:delay 116ms;470:beep frequency=392 length=106ms; # G4471:delay 116ms;472:beep frequency=131 length=30ms; # C3 bass473:delay 35ms;474:beep frequency=466 length=71ms; # A#4475:delay 81ms;476:beep frequency=349 length=106ms; # F4477:delay 116ms;478:beep frequency=523 length=106ms; # C5479:delay 116ms;480:beep frequency=392 length=106ms; # G4481:delay 116ms;482# bar 24483:beep frequency=131 length=30ms; # C3 bass484:delay 35ms;485:beep frequency=523 length=71ms; # C5486:delay 81ms;487:beep frequency=392 length=106ms; # G4488:delay 116ms;489:beep frequency=523 length=106ms; # C5490:delay 116ms;491:beep frequency=392 length=106ms; # G4492:delay 116ms;493:beep frequency=131 length=30ms; # C3 bass494:delay 35ms;495:beep frequency=466 length=71ms; # A#4496:delay 81ms;497:beep frequency=349 length=106ms; # F4498:delay 116ms;499:beep frequency=523 length=106ms; # C5500:delay 116ms;501:beep frequency=392 length=106ms; # G4502:delay 116ms;503504# ---- arrival ----505# bar 25506:beep frequency=131 length=30ms; # C3 bass507:delay 35ms;508:beep frequency=523 length=1450ms; # C5509:delay 1465ms;On 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.