RouterOS beeper player
Green Hill Zone
The zone theme from the game’s own notes: straight eighths, a bass tapped in on the strong beats, and a second voice answering in the gaps.
1# Green Hill Zone, from Sonic the Hedgehog (1991), composed by Masato Nakamura - https://lab.glossema.dev/play/green-hill2# grid: unit 200ms, bar 1600ms3# A run of rising sixteenths, then the zone theme: the A strain, the A strain again with the turn4# that leads into the bridge, the bridge with its high fill, and the A strain once more to end.5# Straight eighths at 150 beats per minute, one tone at a time. Short bass thumps mark the strong6# beats, and the bass pumps F under the rest that opens the first and the last A strain.7# In the second A strain the G5 that ends a phrase is cut short and two quick notes answer it; in8# the bridge the long notes stop early and the counterline answers in the space they leave. The last C5 is held.910# ---- Run ----11:put "Run";12# grid: unit 100ms, bar 1600ms13# bar 114:beep frequency=880 length=85ms; # A515:delay 100ms;16:beep frequency=698 length=85ms; # F517:delay 100ms;18:beep frequency=880 length=85ms; # A519:delay 100ms;20:beep frequency=698 length=85ms; # F521:delay 100ms;22:beep frequency=988 length=85ms; # B523:delay 100ms;24:beep frequency=784 length=85ms; # G525:delay 100ms;26:beep frequency=988 length=85ms; # B527:delay 100ms;28:beep frequency=784 length=85ms; # G529:delay 100ms;30:beep frequency=1047 length=85ms; # C631:delay 100ms;32:beep frequency=880 length=85ms; # A533:delay 100ms;34:beep frequency=1047 length=85ms; # C635:delay 100ms;36:beep frequency=880 length=85ms; # A537:delay 100ms;38:beep frequency=1175 length=85ms; # D639:delay 100ms;40:beep frequency=988 length=85ms; # B541:delay 100ms;42:beep frequency=1175 length=85ms; # D643:delay 100ms;44:beep frequency=988 length=85ms; # B545:delay 100ms;4647# grid: unit 200ms, bar 1600ms48# ---- A strain 1 of 3 ----49:put "A strain 1 of 3";50# bar 251:beep frequency=175 length=30ms; # F3 bass52:delay 40ms;53:delay 160ms; # rest, beat 154:beep frequency=175 length=30ms; # F3 bass55:delay 40ms;56:delay 160ms; # rest, beat 1 and57:beep frequency=175 length=30ms; # F3 bass58:delay 40ms;59:delay 160ms; # rest, beat 260:beep frequency=175 length=30ms; # F3 bass61:delay 40ms;62:delay 160ms; # rest, beat 2 and63:beep frequency=175 length=30ms; # F3 bass64:delay 40ms;65:beep frequency=1047 length=140ms; # C666:delay 160ms;67:beep frequency=880 length=360ms; # A568:delay 400ms;69:beep frequency=1047 length=170ms; # C670:delay 200ms;71# bar 372:beep frequency=165 length=30ms; # E3 bass73:delay 40ms;74:beep frequency=988 length=330ms; # B575:delay 360ms;76:beep frequency=1047 length=170ms; # C677:delay 200ms;78:beep frequency=988 length=360ms; # B579:delay 400ms;80:beep frequency=784 length=1000ms; # G581:delay 600ms;82# bar 483:delay 600ms; # G5 held84:beep frequency=880 length=170ms; # A585:delay 200ms;86:beep frequency=175 length=30ms; # F3 bass87:delay 40ms;88:beep frequency=1319 length=140ms; # E689:delay 160ms;90:beep frequency=1175 length=360ms; # D691:delay 400ms;92:beep frequency=1047 length=170ms; # C693:delay 200ms;94# bar 595:beep frequency=165 length=30ms; # E3 bass96:delay 40ms;97:beep frequency=988 length=330ms; # B598:delay 360ms;99:beep frequency=1047 length=170ms; # C6100:delay 200ms;101:beep frequency=988 length=360ms; # B5102:delay 400ms;103:beep frequency=784 length=1000ms; # G5104:delay 600ms;105# bar 6106:delay 800ms; # G5 held107:beep frequency=175 length=30ms; # F3 bass108:delay 40ms;109:beep frequency=1047 length=140ms; # C6110:delay 160ms;111:beep frequency=880 length=360ms; # A5112:delay 400ms;113:beep frequency=1047 length=170ms; # C6114:delay 200ms;115# bar 7116:beep frequency=165 length=30ms; # E3 bass117:delay 40ms;118:beep frequency=988 length=330ms; # B5119:delay 360ms;120:beep frequency=1047 length=170ms; # C6121:delay 200ms;122:beep frequency=988 length=360ms; # B5123:delay 400ms;124:beep frequency=784 length=1000ms; # G5125:delay 600ms;126# bar 8127:delay 600ms; # G5 held128:beep frequency=880 length=170ms; # A5129:delay 200ms;130:beep frequency=147 length=30ms; # D3 bass131:delay 40ms;132:beep frequency=880 length=140ms; # A5133:delay 160ms;134:beep frequency=698 length=360ms; # F5135:delay 400ms;136:beep frequency=880 length=170ms; # A5137:delay 200ms;138# bar 9139:beep frequency=131 length=30ms; # C3 bass140:delay 40ms;141:beep frequency=784 length=330ms; # G5142:delay 360ms;143:beep frequency=880 length=170ms; # A5144:delay 200ms;145:beep frequency=784 length=360ms; # G5146:delay 400ms;147:beep frequency=523 length=1000ms; # C5148:delay 600ms;149150# ---- A strain 2 of 3 ----151:put "A strain 2 of 3";152# bar 10153:delay 800ms; # C5 held154:beep frequency=175 length=30ms; # F3 bass155:delay 40ms;156:beep frequency=1047 length=140ms; # C6157:delay 160ms;158:beep frequency=880 length=360ms; # A5159:delay 400ms;160:beep frequency=1047 length=170ms; # C6161:delay 200ms;162# bar 11163:beep frequency=165 length=30ms; # E3 bass164:delay 40ms;165:beep frequency=988 length=330ms; # B5166:delay 360ms;167:beep frequency=1047 length=170ms; # C6168:delay 200ms;169:beep frequency=988 length=360ms; # B5170:delay 400ms;171:beep frequency=784 length=170ms; # G5172:delay 200ms;173:beep frequency=1047 length=80ms; # C6 answer174:delay 100ms;175:delay 100ms; # G5 held176:beep frequency=880 length=80ms; # A5 answer177:delay 100ms;178:delay 100ms; # G5 held179# bar 12180:delay 600ms; # G5 held181:beep frequency=880 length=170ms; # A5182:delay 200ms;183:beep frequency=175 length=30ms; # F3 bass184:delay 40ms;185:beep frequency=1319 length=140ms; # E6186:delay 160ms;187:beep frequency=1175 length=360ms; # D6188:delay 400ms;189:beep frequency=1047 length=170ms; # C6190:delay 200ms;191# bar 13192:beep frequency=165 length=30ms; # E3 bass193:delay 40ms;194:beep frequency=988 length=330ms; # B5195:delay 360ms;196:beep frequency=1047 length=170ms; # C6197:delay 200ms;198:beep frequency=988 length=360ms; # B5199:delay 400ms;200:beep frequency=784 length=170ms; # G5201:delay 200ms;202:beep frequency=1047 length=80ms; # C6 answer203:delay 100ms;204:delay 100ms; # G5 held205:beep frequency=1319 length=80ms; # E6 answer206:delay 100ms;207:delay 100ms; # G5 held208# bar 14209:delay 800ms; # G5 held210:beep frequency=175 length=30ms; # F3 bass211:delay 40ms;212:beep frequency=1047 length=140ms; # C6213:delay 160ms;214:beep frequency=880 length=360ms; # A5215:delay 400ms;216:beep frequency=1047 length=170ms; # C6217:delay 200ms;218# bar 15219:beep frequency=165 length=30ms; # E3 bass220:delay 40ms;221:beep frequency=988 length=330ms; # B5222:delay 360ms;223:beep frequency=1047 length=170ms; # C6224:delay 200ms;225:beep frequency=988 length=360ms; # B5226:delay 400ms;227:beep frequency=784 length=170ms; # G5228:delay 200ms;229:beep frequency=1047 length=80ms; # C6 answer230:delay 100ms;231:delay 100ms; # G5 held232:beep frequency=880 length=80ms; # A5 answer233:delay 100ms;234:delay 100ms; # G5 held235# bar 16236:delay 600ms; # G5 held237:beep frequency=880 length=170ms; # A5238:delay 200ms;239:beep frequency=147 length=30ms; # D3 bass240:delay 40ms;241:beep frequency=880 length=140ms; # A5242:delay 160ms;243:beep frequency=698 length=360ms; # F5244:delay 400ms;245:beep frequency=880 length=170ms; # A5246:delay 200ms;247# bar 17248:beep frequency=131 length=30ms; # C3 bass249:delay 40ms;250:beep frequency=784 length=330ms; # G5251:delay 360ms;252:beep frequency=880 length=170ms; # A5253:delay 200ms;254:beep frequency=784 length=360ms; # G5255:delay 400ms;256:beep frequency=523 length=170ms; # C5257:delay 200ms;258:beep frequency=523 length=170ms; # C5259:delay 200ms;260:beep frequency=659 length=170ms; # E5261:delay 200ms;262263# ---- B strain ----264:put "B strain";265# bar 18266:beep frequency=233 length=30ms; # A#3 bass267:delay 40ms;268:beep frequency=587 length=470ms; # D5269:delay 560ms;270:beep frequency=880 length=80ms; # A5 answer271:delay 100ms;272:delay 100ms; # D5 held273:delay 400ms; # D5 held274:beep frequency=784 length=80ms; # G5 answer275:delay 100ms;276:delay 100ms; # D5 held277:delay 200ms; # D5 held278# bar 19279:delay 200ms; # D5 held280:beep frequency=698 length=80ms; # F5 answer281:delay 100ms;282:delay 100ms; # D5 held283:delay 400ms; # D5 held284:beep frequency=659 length=80ms; # E5 answer285:delay 100ms;286:delay 100ms; # D5 held287:beep frequency=523 length=170ms; # C5288:delay 200ms;289:beep frequency=587 length=170ms; # D5290:delay 200ms;291:beep frequency=659 length=500ms; # E5292:delay 200ms;293# bar 20294:delay 600ms; # E5 held295:beep frequency=494 length=80ms; # B4 answer296:delay 100ms;297:delay 100ms; # E5 held298:delay 400ms; # E5 held299:beep frequency=523 length=80ms; # C5 answer300:delay 100ms;301:delay 100ms; # E5 held302:delay 200ms; # E5 held303# bar 21304:delay 200ms; # E5 held305:beep frequency=587 length=80ms; # D5 answer306:delay 100ms;307:delay 100ms; # E5 held308:delay 600ms; # E5 held309:beep frequency=523 length=170ms; # C5310:delay 200ms;311:beep frequency=523 length=170ms; # C5312:delay 200ms;313:beep frequency=659 length=170ms; # E5314:delay 200ms;315# bar 22316:beep frequency=208 length=30ms; # G#3 bass317:delay 40ms;318:beep frequency=622 length=470ms; # D#5319:delay 560ms;320:beep frequency=784 length=80ms; # G5 answer321:delay 100ms;322:delay 100ms; # D#5 held323:delay 400ms; # D#5 held324:beep frequency=698 length=80ms; # F5 answer325:delay 100ms;326:delay 100ms; # D#5 held327:delay 200ms; # D#5 held328# bar 23329:delay 800ms; # D#5 held330:beep frequency=587 length=80ms; # D5 answer331:delay 100ms;332:delay 100ms; # D#5 held333:beep frequency=523 length=170ms; # C5334:delay 200ms;335:beep frequency=622 length=170ms; # D#5336:delay 200ms;337:beep frequency=587 length=500ms; # D5338:delay 200ms;339# bar 24340:delay 400ms; # D5 held341:beep frequency=880 length=80ms; # A5 answer342:delay 100ms;343:delay 100ms; # D5 held344:beep frequency=784 length=80ms; # G5 answer345:delay 100ms;346:delay 100ms; # D5 held347:delay 200ms; # D5 held348:beep frequency=784 length=80ms; # G5 answer349:delay 100ms;350:delay 100ms; # D5 held351:beep frequency=880 length=80ms; # A5 answer352:delay 100ms;353:delay 100ms; # rest, beat 4354:beep frequency=1319 length=300ms; # E6355:delay 200ms;356# bar 25357:delay 200ms; # E6 held358:beep frequency=1319 length=170ms; # E6359:delay 200ms;360:beep frequency=1397 length=170ms; # F6361:delay 200ms;362:beep frequency=1319 length=170ms; # E6363:delay 200ms;364:beep frequency=175 length=30ms; # F3 bass365:delay 40ms;366:beep frequency=1568 length=140ms; # G6367:delay 160ms;368:beep frequency=1319 length=360ms; # E6369:delay 400ms;370:beep frequency=1047 length=170ms; # C6371:delay 200ms;372373# ---- A strain 3 of 3 ----374:put "A strain 3 of 3";375# bar 26376:beep frequency=175 length=30ms; # F3 bass377:delay 40ms;378:delay 160ms; # rest, beat 1379:beep frequency=175 length=30ms; # F3 bass380:delay 40ms;381:delay 160ms; # rest, beat 1 and382:beep frequency=175 length=30ms; # F3 bass383:delay 40ms;384:delay 160ms; # rest, beat 2385:beep frequency=175 length=30ms; # F3 bass386:delay 40ms;387:delay 160ms; # rest, beat 2 and388:beep frequency=175 length=30ms; # F3 bass389:delay 40ms;390:beep frequency=1047 length=140ms; # C6391:delay 160ms;392:beep frequency=880 length=360ms; # A5393:delay 400ms;394:beep frequency=1047 length=170ms; # C6395:delay 200ms;396# bar 27397:beep frequency=165 length=30ms; # E3 bass398:delay 40ms;399:beep frequency=988 length=330ms; # B5400:delay 360ms;401:beep frequency=1047 length=170ms; # C6402:delay 200ms;403:beep frequency=988 length=360ms; # B5404:delay 400ms;405:beep frequency=784 length=1000ms; # G5406:delay 600ms;407# bar 28408:delay 600ms; # G5 held409:beep frequency=880 length=170ms; # A5410:delay 200ms;411:beep frequency=175 length=30ms; # F3 bass412:delay 40ms;413:beep frequency=1319 length=140ms; # E6414:delay 160ms;415:beep frequency=1175 length=360ms; # D6416:delay 400ms;417:beep frequency=1047 length=170ms; # C6418:delay 200ms;419# bar 29420:beep frequency=165 length=30ms; # E3 bass421:delay 40ms;422:beep frequency=988 length=330ms; # B5423:delay 360ms;424:beep frequency=1047 length=170ms; # C6425:delay 200ms;426:beep frequency=988 length=360ms; # B5427:delay 400ms;428:beep frequency=784 length=1000ms; # G5429:delay 600ms;430# bar 30431:delay 800ms; # G5 held432:beep frequency=175 length=30ms; # F3 bass433:delay 40ms;434:beep frequency=1047 length=140ms; # C6435:delay 160ms;436:beep frequency=880 length=360ms; # A5437:delay 400ms;438:beep frequency=1047 length=170ms; # C6439:delay 200ms;440# bar 31441:beep frequency=165 length=30ms; # E3 bass442:delay 40ms;443:beep frequency=988 length=330ms; # B5444:delay 360ms;445:beep frequency=1047 length=170ms; # C6446:delay 200ms;447:beep frequency=988 length=360ms; # B5448:delay 400ms;449:beep frequency=784 length=1000ms; # G5450:delay 600ms;451# bar 32452:delay 600ms; # G5 held453:beep frequency=880 length=170ms; # A5454:delay 200ms;455:beep frequency=147 length=30ms; # D3 bass456:delay 40ms;457:beep frequency=880 length=140ms; # A5458:delay 160ms;459:beep frequency=698 length=360ms; # F5460:delay 400ms;461:beep frequency=880 length=170ms; # A5462:delay 200ms;463# bar 33464:beep frequency=131 length=30ms; # C3 bass465:delay 40ms;466:beep frequency=784 length=330ms; # G5467:delay 360ms;468:beep frequency=880 length=170ms; # A5469:delay 200ms;470:beep frequency=784 length=360ms; # G5471:delay 400ms;472:beep frequency=131 length=30ms; # C3 bass473:delay 40ms;474:beep frequency=523 length=1360ms; # C5475:delay 1360ms;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.