MangoSynth24 (MS24)
Welcome to the MS24 repository!
This repo contains the source code for my final year project.
You can find my thesis in the Docs
folder here.
You can find my technical screencast in the Docs\Video
folder here.
You can try out MS24 here, where it is hosted through Vercel.
🎹 Features
Synth Features
- 2x FM Oscillators
- 1x AM Sub Oscillator
- ADSR Envelopes (per-oscillator)
- Unison Controls (per-oscillator)
- Arpeggiation (per-oscillator, synced to BPM)
- Multi-filter (LP, HP, BP, AP, Notch, LS, HS)
- Low-Frequency Oscillator (LFO)
- 9x FX to choose from:
- Distortion
- Chebyshev
- Phaser
- Tremolo
- Vibrato
- Delay
- Reverb
- Pitch Shift
- Frequency Shift
App Features
- Light/Dark Mode
- Preset System (with 16 default presets)
- MIDI Support (including MIDI Learn)
- Audio Recording & Exporting (lossless WAV)
- Oscilloscope Visualizations
- Tooltips
🎮 Controls
Playing Keys
- Mouse: Click on the virtual keyboard to play notes.
- MIDI Keyboard: Ensure it's connected before loading the page, then use normally.
- Computer Keyboard: The image below shows which keys can be used.
Knobs & Sliders
- Click and drag to adjust values.
- You can also scroll with the mouse wheel to adjust values.
- You can also type in values directly.
- Hold
SHIFT
while adjusting to fine-tune. - Hold
CTRL
and click to reset to default value. - Right-click to open the MIDI-learn context menu.
Buttons
- Click on the green buttons to toggle major synth components.
- Click on the purple buttons to toggle oscillator arpeggiators.
Selectors
- Click on the LFO or FX select boxes to change modulation target or effect type.
⚙ Installation
Electron App
- Go to the Releases page.
- Download the latest release (Windows only for now).
- Run the installer.
- Enjoy!
Local Hosting
- Clone the repo.
- Run
npm install
to install dependencies. - Run
npm run dev
to start the dev server. - Open
localhost:3000
in your browser. - Enjoy!