This is a library that uses the ALSA Sequencer API to handle MIDI events and visualize them. You can either use the default RayLib renderer or write your own custom renderer. Inspired from (sightread)[sightread.dev/freeplay] rem to add image.
- gcc
- libasound
- libm
- raylib (or your preferred graphics library)
NOTE: Only compatible with Linux.
make
./build/main.out "<alsa client name>:<port>"make install
sigmidi "<alsa client name>:<port>"Just write your own implementations for the functions defined in include/sigmidi-renderer.h. Note the the library owns the event loop and you just provide the implementations.
| Key | Action |
|---|---|
| Up / Down | Increase/Decrease Octave Count |
| Shift + (+/-) | Shift Octave Offset (Transpose View) |
| Shift + (< / >) | Adjust BPM (Tempo) |
| V | Toggle Velocity-Based Coloring (default ON) |
| F | Toggle Fullscreen |
| P | Toggle Sustain View (default OFF) |
| L (Hold) | Show ALSA Client List (Press 1-9 to Subscribe) |
| S (Hold) | Show Subscription List (Press 1-9 to Unsubscribe) |