Minimalist MIDI Sequencer
See the code
Cacophony is a minimalist and ergonomic MIDI sequencer. It's minimalist in that it doesn't have a lot of functionality MIDI sequencers have. It's ergonomic in that there is no mouse input and a very clean interface, allowing you to juggle less inputs and avoid awkward mouse motions.

Buy Cacophony (or compile it yourself).
I compile Cacophony with Rust 1.74.0 for Linux, MacOS, or Windows. Below is a list of operating systems I've tested:
Linux:
MacOS:
Windows:
apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev librust-alsa-sys-devcargo build --release --features speech_dispatcher_0_9apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev librust-alsa-sys-devcargo build --release --features speech_dispatcher_0_11apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev alsacargo build --release --features speech_dispatcher_0_9apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev alsa librust-alsa-sys-devcargo build --release --features speech_dispatcher_0_9apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev alsa librust-alsa-sys-devcargo build --release --features speech_dispatcher_0_11cargo install cargo-bundlecargo bundle --releasecargo build --releasedata directoryCacophony's default data directory is located at ../data. To set the default data directory at compile time, set the CACOPHONY_BUILD_DATA_DIR enviroment variable:
export CACOPHONY_BUILD_DATA_DIR=/usr/share/cacophony
cargo build --release
To test, just cargo test --all.
Sometimes when debugging, it's useful to create the same initial setup every time. To do this, you can pass input events in like this: cargo run -- --events events.txt
...where the contents of events.txt is something like:
NextPanel
AddTrack
EnableSoundFontPanel
SelectFile
You can run Cacophony like any other application or you can use Rust's cargo run to compile and execute.
There are two ways to run Cacophony:
data/ into the output directory (target/release/). Open a terminal in release/ and run ./Cacophony .cargo build --release, run cargo run --release Include the --features listed above, for example cargo build --release --features speech_dispatcher_0_11 on Ubuntu 22There are two ways to run Cacophony:
Cacophony.app (located in ./target/release/)cargo run --release This will compile and launch the application but it won't create a .appThere are two ways to run Cacophony:
data/ into the output directory (target/release/) and double-click Cacophony.exe (located in release/)cargo build --release, run cargo run --releaseAssuming that you are Esther Alter and you have the relevant credentials on your computer, you can upload the website and create itch.io builds by doing this:
cd pypy -3 build.pyRust
94.8%
HTML
4.2%
Minimalist MIDI Sequencer
See the code
Cacophony is a minimalist and ergonomic MIDI sequencer. It's minimalist in that it doesn't have a lot of functionality MIDI sequencers have. It's ergonomic in that there is no mouse input and a very clean interface, allowing you to juggle less inputs and avoid awkward mouse motions.

Buy Cacophony (or compile it yourself).
I compile Cacophony with Rust 1.74.0 for Linux, MacOS, or Windows. Below is a list of operating systems I've tested:
Linux:
MacOS:
Windows:
apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev librust-alsa-sys-devcargo build --release --features speech_dispatcher_0_9apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev librust-alsa-sys-devcargo build --release --features speech_dispatcher_0_11apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev alsacargo build --release --features speech_dispatcher_0_9apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev alsa librust-alsa-sys-devcargo build --release --features speech_dispatcher_0_9apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev alsa librust-alsa-sys-devcargo build --release --features speech_dispatcher_0_11cargo install cargo-bundlecargo bundle --releasecargo build --releasedata directoryCacophony's default data directory is located at ../data. To set the default data directory at compile time, set the CACOPHONY_BUILD_DATA_DIR enviroment variable:
export CACOPHONY_BUILD_DATA_DIR=/usr/share/cacophony
cargo build --release
To test, just cargo test --all.
Sometimes when debugging, it's useful to create the same initial setup every time. To do this, you can pass input events in like this: cargo run -- --events events.txt
...where the contents of events.txt is something like:
NextPanel
AddTrack
EnableSoundFontPanel
SelectFile
You can run Cacophony like any other application or you can use Rust's cargo run to compile and execute.
There are two ways to run Cacophony:
data/ into the output directory (target/release/). Open a terminal in release/ and run ./Cacophony .cargo build --release, run cargo run --release Include the --features listed above, for example cargo build --release --features speech_dispatcher_0_11 on Ubuntu 22There are two ways to run Cacophony:
Cacophony.app (located in ./target/release/)cargo run --release This will compile and launch the application but it won't create a .appThere are two ways to run Cacophony:
data/ into the output directory (target/release/) and double-click Cacophony.exe (located in release/)cargo build --release, run cargo run --releaseAssuming that you are Esther Alter and you have the relevant credentials on your computer, you can upload the website and create itch.io builds by doing this:
cd pypy -3 build.pyRust
94.8%
HTML
4.2%