SoundB0ard is a command-line music making environment that can be built on Linux, macOS, and other Unix-like systems.
-
Download this repository and enter directory
# Either git clone or download zip. git clone git@github.com:sideb0ard/SBShell.git cd SBShell # or download zip from https://github.com/sideb0ard/SBShell cd ~/Downloads unzip SBShell-Main.zip cd SBShell-Main -
Install dependencies (run the provided script):
./install_deps.sh
-
Build the project:
mkdir build cd build cmake .. cmake --build . -j$(nproc) cd ..
-
Run
# Run from project root (so it can find wavs/ directory) build/Sbsh
sudo apt-get update
sudo apt-get install -y \
build-essential cmake git \
portaudio19-dev libportmidi-dev \
libsndfile1-dev libreadline-dev \
pkg-configbrew install \
portaudio portmidi libsndfile \
readline pkg-configsudo pacman -S --needed \
base-devel cmake git \
portaudio portmidi libsndfile \
readline pkgconfsudo yum install -y \
gcc-c++ cmake git \
portaudio-devel portmidi-devel \
libsndfile-devel readline-devel \
pkgconfigSoundB0ard uses the following libraries:
- Ableton Link - For tempo synchronization
- PerlinNoise - For procedural noise generation
- nlohmann/json - JSON serialization for preset files (uses system install if available:
brew install nlohmann-json/apt install nlohmann-json-dev)
- PortAudio - Cross-platform audio I/O
- PortMidi - Cross-platform MIDI I/O
- libsndfile - Audio file reading/writing
- Readline - Command-line editing
- pkg-config - Package configuration
- CMake fails to find libraries: Install the development packages for your distribution
- Link errors: Make sure all libraries are installed with their development headers
- Permission denied: Run
chmod +x install_deps.shto make the script executable