đŸ Archived View for gemini.ctrl-c.club âș ~ssb22 âș midi-beeper.gmi captured on 2024-05-26 at 15:28:41. Gemini links have been rewritten to link to archived content
âŹ ïž Previous capture (2023-01-29)
-=-=-=-=-=-=-
MIDI Beeper is a program to play MIDI files on Linux/BSD by beeping through the computerâs beeper instead of using proper sound circuits.âIf you try to play chords or polyphony, it will rapidly switch between alternate notes like an old office telephone.âIt sounds awful, but it might be useful when you really have to play a MIDI file but have no sound device attached.âIt should work on any machine that has the âbeepâ command (install âbeepâ package from your Linux/Unix package manager).âIt has been tested on a PC speaker and on an NSLU2âs internal speaker.
On the NSLU2, playing music with beep works in Debian 4 (Etch, 2007) but not so well in Debian 5 (Lenny, 2012); you can try compiling this modified beep.c instead (remember the chmod 4755 mentioned in the man page).âI havenât tried it on more recent distros because my NSLU2 power supply failed and I upgraded to a Raspberry Pi.âMIDI Beeper can also generate polyphonic square waves itself and feed them to aplay, which might be useful if you need a small MIDI player on a Raspberry Pi running Linux, although too many sound channels can slow this down as itâs only a Python script.
Download midi-beeper.py or you can use pip install midi-beeper or pipx run midi-beeper (thereâs also a history on GitHub)
If you need to know what a MIDI file sounds like while using a âvanillaâ RISC OS machine, edit midi-beeper and set riscos_Maestro to turn it into a converter from MIDI files to Acorn Maestro files.âRather than rapidly switching between notes, this uses true polyphony of up to 8 channels, although Maestro can struggle with rhythm when playing more than 4Â channels.âThe music may not *look* good in Maestro (which is not a good program for typesetting anyway), but at least it plays.
Alternatively you can use a BBCÂ Micro emulator (or a real BBCÂ Micro if you still have one from the 1980s) and set MIDIÂ Beeper to generate BBCÂ Micro code.âThis uses 3-channel polyphony and can multiplex up to 9 via envelope arpeggiation (3 on the Electron).âThe tuning can be a bit âwobblyâ.âHereâs an example SSD of short compositions (~60k for ~33Âœmins).
MIDI Beeper can also generate code for the old PLAY command in QBasic for DOS, and for the GNU/Linux GRUB bootloader on machines where this has a beeper available (this is generally no longer the case on modern machines).
Options are also provided to render singing text using the Mac voices and the Praat phonetic processor (one channel at a time).
All material © Silas S. Brown unless otherwise stated. Debian is a trademark owned by Software in the Public Interest, Inc. GitHub is a trademark of GitHub Inc. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Mac is a trademark of Apple Inc. Python is a trademark of the Python Software Foundation. Raspberry Pi is a trademark of the Raspberry Pi Foundation. RISC OS is a trademark of Pace Micro Technology Plc which might now have passed to RISC OS Ltd but I was unable to find definitive documentation. Unix is a trademark of The Open Group. Any other trademarks I mentioned without realising are trademarks of their respective holders.