Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/indigoparadox/mindi
Extremely minimal MIDI library and beepy DOS MIDI player.
https://github.com/indigoparadox/mindi
dos library midi music pc-speaker
Last synced: about 2 months ago
JSON representation
Extremely minimal MIDI library and beepy DOS MIDI player.
- Host: GitHub
- URL: https://github.com/indigoparadox/mindi
- Owner: indigoparadox
- License: lgpl-3.0
- Created: 2019-08-28T10:51:37.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-06-13T00:39:26.000Z (over 2 years ago)
- Last Synced: 2023-03-05T15:10:28.071Z (almost 2 years ago)
- Topics: dos, library, midi, music, pc-speaker
- Language: C
- Homepage:
- Size: 253 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mindi
Extremely minimal MIDI library, for old or otherwise resource-limited systems.
Currently a work in progress and very volatile.
## Dependencies
- Be sure to check out submodules! maug and mbeep are required for building.
- Check framework, for running tests: `sudo apt install check`
- ALSA development libraries for beep playback on Linux (not required for DOS, see below): `sudo apt install libasound2-dev`## DOS MIDI Player
(WARNING: Experimental, extremely funny-sounding. Needs work! If you try it right now on a real machine, you will probably have to reboot that machine!)
midibeep is a simple one-track MIDI player that can be cross-compiled for DOS from a modern UNIX-like system. Given a type 1 MIDI file and a track number, it will attempt to beep out that track on the PC speaker. It requires the OpenWatcom compiler to compile.
- Ensure that `wcc` and `wcl` are in your PATH.
- Ensure that the `WATCOM` environment variable is set to your watcom installation directory (e.g. `/opt/watcom`).
- Ensure that the `INCLUDE` environment variable is set to the `h` subdirectory of your watcom installation directory (e.g. `/opt/watcom/h`).
- Execute `make midibeep.exe` in the project root.## References
- https://web.archive.org/web/20140216225718/http://www.sonicspot.com/guide/midifiles.html
- https://ccrma.stanford.edu/~craig/articles/linuxmidi/misc/essenmidi.html
- http://www.music.mcgill.ca/~ich/classes/mumt306/StandardMIDIfileformat.html#BM3\_1
- https://www.recordingblogs.com/wiki/musical-instrument-digital-interface-midiDocumentation available at: https://indigoparadox.github.io/mindi/