Skip to content

Vintage analog synthesizer plugin for DecentSampler with classic 1970s Moog-style modular workflow

License

Notifications You must be signed in to change notification settings

perniemann/modSynth

Repository files navigation

modSynth v1.0 - Vintage Analog Synthesizer for DecentSampler

License: MIT Python 3.8+ DecentSampler Version

A warm, vintage-inspired modular synthesizer plugin for DecentSampler, recreating the classic sound and workflow of 1970s analog synthesizers with 2 example presets.

modSynth Interface

Features

Sound Sources

  • 3 Oscillators (VCOs) with saw, square, and triangle waves
  • Frequency Modulation (FM) and Hard Sync capabilities
  • LFO with multiple waveforms including sample & hold
  • Noise Generator (white and pink noise)

Sound Shaping

  • Vintage-style Filter with cutoff and resonance
  • 907 Filter Bank for classic Moog character
  • Dual Envelopes (Filter and Amplitude)
  • Real-time Modulation with LFO

Effects

  • Analog-style Drive for warmth
  • Reverb and Delay for space
  • Chorus for width and thickness
  • Compressor for punch
  • Ring Modulation for metallic tones

Factory Presets

  • 2 Factory Presets showcasing different sonic capabilities
  • Various sound types from classic leads to experimental textures
  • Preset settings demonstrating different synthesis techniques

Quick Start

For Users (Just Want to Play)

  1. Download DecentSampler (free): https://www.decentsamples.com/downloads/
  2. Download the Library: Get modSynth.dslibrary from the Releases page
  3. Install: Copy the library file to your DecentSampler libraries folder
  4. Play: Load modSynth in DecentSampler and start playing!

For Developers (Want to Modify)

  1. Clone the repository:

    git clone https://github.com/perniemann/modSynth.git
    cd modSynth
  2. Set up Python environment:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    pip install -r requirements.txt
  3. Generate samples and UI:

    python generate_samples.py    # Generate audio samples
    python generate_panel.py      # Generate UI graphics
  4. Test in DecentSampler: Load the generated library from modSynth/

Project Structure

modSynth/
├── modSynth/                        # Complete DecentSampler library
│   ├── modSynth.dspreset            # Main instrument definition
│   ├── modSynth_p1.dspreset         # Factory preset 1
│   ├── modSynth_p2.dspreset         # Factory preset 2
│   ├── Samples/                     # Generated audio samples
│   ├── Resources/                   # Generated UI graphics
│   └── DSLibraryInfo.xml            # Library metadata
├── generate_samples.py              # Audio sample generator
├── generate_panel.py                # UI graphics generator
├── requirements.txt                 # Python dependencies
├── modSynth_v1.jpg                  # Interface screenshot
└── README.md                        # This file

Development

Audio Sample Generation

The generate_samples.py script creates band-limited waveforms:

  • Band-limited synthesis prevents aliasing
  • Multiple waveform types: saw, square, triangle, sine, noise
  • Modulation variants: FM synthesis and hard sync
  • Audio format: 44.1kHz, 16-bit WAV files

UI Graphics Generation

The generate_panel.py script creates 1970s-style metal panels:

  • Materials: Brushed aluminum, anodized finishes, satin steel
  • Textures: Grain patterns, aging effects, subtle beveling
  • LEDs: Bezels and phosphor colors
  • CRT displays: Vintage oscilloscope-style envelope visualization

Customization

Want to modify the synthesizer? Here's how:

  1. Change waveforms: Edit generate_samples.py to add new wave types
  2. Modify UI: Edit generate_panel.py to change the visual style
  3. Add parameters: Edit modSynth.dspreset to add new controls
  4. Regenerate: Run the generation scripts to update the library

Usage Guide

Basic Sound Design

Bass Sounds:

  • Use VCO1 with sawtooth wave
  • Lower filter cutoff (30%)
  • Add filter resonance (40-60%)
  • Short filter envelope attack

Lead Sounds:

  • Mix VCO1 + VCO2
  • Higher filter cutoff (60-80%)
  • Add LFO modulation to filter
  • Use filter envelope for expression

Pad Sounds:

  • Use all three VCOs with different settings
  • Long attack and release times
  • Add chorus and reverb

MIDI Control

modSynth works with most MIDI controllers out of the box. The 8 most important controls are automatically mapped:

  1. VCO1 Frequency
  2. VCO1 Wave Mix
  3. VCO2 Frequency
  4. Filter Cutoff (most important!)
  5. Filter Resonance
  6. LFO Rate
  7. Reverb Amount
  8. Filter Envelope Amount

Technical Specifications

  • Version: 1.0.0 (June 2025)
  • Sample Rate: 44.1 kHz
  • Bit Depth: 16-bit
  • Format: DecentSampler (.dspreset)
  • Presets: 2 factory presets
  • Requirements: DecentSampler 1.6.0+ (free plugin)
  • Platform: Windows, macOS, Linux
  • Host: VST, AU, AAX, Standalone

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Test with DecentSampler
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Inspired by classic Moog modular synthesizers
  • Built for the DecentSampler community

Support

About

Vintage analog synthesizer plugin for DecentSampler with classic 1970s Moog-style modular workflow

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages