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:
- Ubuntu 18.04 i386 with X11
- Ubuntu 18.04 x64 with X11
- Ubuntu 20.04 x64 with X11
- Ubuntu 22.04 x64 with X11
- Ubuntu 24.04 x64 with X11
MacOS:
- Catalina 10.15.7 x64
- Ventura 13.2.1 Apple Silicon
Windows:
- Windows 10 x64
- Install Rust (stable)
- Clone this repo
apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev librust-alsa-sys-dev
cargo build --release --features speech_dispatcher_0_9
apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev librust-alsa-sys-dev
cargo build --release --features speech_dispatcher_0_11
apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev alsa
cargo build --release --features speech_dispatcher_0_9
apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev alsa librust-alsa-sys-dev
cargo build --release --features speech_dispatcher_0_9
apt install clang cmake speech-dispatcher libspeechd-dev pkg-config libssl-dev alsa librust-alsa-sys-dev
cargo build --release --features speech_dispatcher_0_11
cargo install cargo-bundle
cargo bundle --release
cargo build --release
Cacophony'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:
- Copy + paste
data/
into the output directory (target/release/
). Open a terminal inrelease/
and run./Cacophony
. - Instead of
cargo build --release
, runcargo run --release
Include the--features
listed above, for examplecargo build --release --features speech_dispatcher_0_11
on Ubuntu 22
There are two ways to run Cacophony:
- After compiling, double-click
Cacophony.app
(located in./target/release/
) cargo run --release
This will compile and launch the application but it won't create a .app
There are two ways to run Cacophony:
- Copy + paste
data/
into the output directory (target/release/
) and double-clickCacophony.exe
(located inrelease/
) - Instead of
cargo build --release
, runcargo run --release
Assuming 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 py
py -3 build.py