Readme update
This commit is contained in:
parent
e3a25e3c27
commit
84f08a9ab8
31
README.md
31
README.md
@ -1,11 +1,20 @@
|
||||
# NoiceSynth - A Compact RP2040 Synthesizer
|
||||
# NoiceSynth
|
||||
|
||||
A pocket-sized, battery-powered MIDI synthesizer built around the Raspberry Pi Pico. It's designed to be housed in a small enclosure (like an Altoids tin) and features an I2S DAC for quality audio, an OLED display for visual feedback, and a TRS MIDI input.
|
||||
NoiceSynth is a digital grid-based modular synthesizer engine designed for the Raspberry Pi Pico (RP2040). It allows you to construct complex sound patches by placing and connecting modules (oscillators, filters, envelopes, etc.) on a grid.
|
||||
|
||||
This guide provides the blueprint for building your own.
|
||||

|
||||
|
||||
## Simulator
|
||||
|
||||
A desktop simulator is included to allow you to design patches and test the synthesis engine without hardware. It can also transfer the patches between the device and the simulator, acting as a patch editor.
|
||||
|
||||
Included are 8 demo patches, plus a few built-in presets that mimic the DX7 FM synth.
|
||||
|
||||
[Check out the Simulator Guide](simulator/SIMULATOR.md)
|
||||
|
||||
## Features
|
||||
|
||||
- **Grid-Based Modular Synthesis**: Build patches by placing modules on a 12x12 grid.
|
||||
- **Compact & Portable**: Designed to be powered by a LiPo battery and fit into a small tin.
|
||||
- **High-Quality Audio**: Uses an I2S audio module for clean, low-noise sound output.
|
||||
- **MIDI Connectivity**: Standard 3.5mm TRS-A MIDI input for control with external keyboards and sequencers.
|
||||
@ -145,20 +154,4 @@ The specific function of the controls will depend on your code, but here is a co
|
||||
* **Rotary Encoder (Press)**: Enter/exit edit mode for a parameter, or trigger an action.
|
||||
* **Volume Potentiometer**: Controls the final output volume before it goes to the headphone jack.
|
||||
|
||||
## Ideas for Unorthodox Sounds
|
||||
|
||||
The beauty of a programmable synth is the ability to go beyond simple subtractive synthesis. Here are some fun ideas to code:
|
||||
|
||||
1. **Glitchy Wavetable Synthesis**:
|
||||
* **Concept**: Store several single-cycle waveforms (sine, saw, square, triangle) in arrays. The encoder selects the primary waveform.
|
||||
* **The Twist**: Add a "glitch" parameter. When activated (e.g., by a long press of the encoder), the code starts intentionally misreading the wavetable. It could randomly jump to a different table, read sample points backward, or apply bitwise operations (`XOR`, `AND`) to the sample data before sending it to the DAC. This creates a source of controlled digital chaos and unexpected textures.
|
||||
|
||||
2. **Karplus-Strong Physical Modeling**:
|
||||
* **Concept**: This algorithm simulates a plucked string. A buffer (delay line) is filled with random noise (the "pluck"), then played back and fed back into itself through a simple low-pass filter.
|
||||
* **The Twist**: Use the controls in non-standard ways. Map the volume pot to the **filter cutoff** or the **feedback amount** instead of volume. High feedback can cause the "string" to resonate infinitely, like an e-bow. Map the rotary encoder to the **length of the delay line** to change pitch, but allow it to be modified *while a note is playing*, creating bizarre pitch-bending and warping effects.
|
||||
|
||||
3. **Chaotic Oscillators**:
|
||||
* **Concept**: Instead of a standard oscillator, generate sound using a mathematical logistic map, like `x_n+1 = r * x_n * (1 - x_n)`. The output `x` is a value between 0.0 and 1.0.
|
||||
* **The Twist**: Map the output `x` directly to the audio sample value. The potentiometer controls the `r` parameter. At low `r` values, the output is stable or oscillates simply. As you increase `r` past ~3.57, it becomes chaotic, generating complex, noise-like, but still structured tones. This gives you a controller that smoothly transitions a sound from a pure tone into pure noise and back again.
|
||||
|
||||
Happy building, and enjoy your new tiny synth!
|
||||
BIN
simulator_screenshot.jpg
Normal file
BIN
simulator_screenshot.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 168 KiB |
Loading…
Reference in New Issue
Block a user