1.4 KiB
1.4 KiB
NoiceSynth Linux Emulator
This folder contains a Linux-based prototype for the NoiceSynth engine. It allows you to develop and visualize the DSP code on a desktop computer before deploying it to the RP2040 hardware.
Architecture
- Engine (
synth_engine.cpp): The exact same C++ code used on the microcontroller. It uses fixed-point math (or integer-based phase accumulation) to generate audio. - Host (
main.cpp): A Linux wrapper that uses:- Miniaudio: For cross-platform audio output.
- SDL2: For real-time oscilloscope visualization.
Quick Start (Distrobox)
If you don't want to install dependencies manually, use the included script. It creates a lightweight container, installs the tools, and compiles the project.
- Ensure you have
distroboxand a container engine (Docker or Podman) installed. - Run the build script:
./compile_with_distrobox.sh - Run the synthesizer:
./noicesynth_linux
Manual Build
If you prefer to build directly on your host machine:
-
Install Dependencies:
- Debian/Ubuntu:
sudo apt install build-essential libsdl2-dev wget - Fedora:
sudo dnf install gcc-c++ SDL2-devel wget - Arch:
sudo pacman -S base-devel sdl2 wget
- Debian/Ubuntu:
-
Download Miniaudio:
wget https://raw.githubusercontent.com/mackron/miniaudio/master/miniaudio.h -
Compile:
make