Reorganized file structure to allow building Arduino project
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# 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.
|
||||
|
||||
1. Ensure you have `distrobox` and a container engine (Docker or Podman) installed.
|
||||
2. Run the build script:
|
||||
```bash
|
||||
./compile_with_distrobox.sh
|
||||
```
|
||||
3. Run the synthesizer:
|
||||
```bash
|
||||
./noicesynth_linux
|
||||
```
|
||||
|
||||
## Manual Build
|
||||
|
||||
If you prefer to build directly on your host machine:
|
||||
|
||||
1. **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`
|
||||
|
||||
2. **Download Miniaudio:**
|
||||
```bash
|
||||
wget https://raw.githubusercontent.com/mackron/miniaudio/master/miniaudio.h
|
||||
```
|
||||
|
||||
3. **Compile:**
|
||||
```bash
|
||||
make
|
||||
```
|
||||
Reference in New Issue
Block a user