Dahlia is an implementation of the Waveshape-Synth polyphonic synthesizer written in PureData and intended for use with the Heavy Compiler Collection. Possible applications include the Daisy Audio Platform (using pd2dsy), the Distrho Plugin Framework, and Javascript (using WebAudio).
- General Info
- Features
- User Interface
- Installation (Dahlia)
- Installation (Daisy)
- Installation (DPF)
- Installation (Javascript)
- Algorithms
- References
The original Waveshape-Synth is an 8-voice polyphonic audio synthesizer with per-voice oscillator waveshaping created as a collection of Pure Data subpatches. It was inspired by wavedist and uses the same waveshaping algorithms. Dahlia is an evolution of this concept, refactored to work with HVCC and capable of a simplified control scheme accomodating the limited Daisy Pod UI. Dahlia can also be used directly from within Pure Data, see main_puredata.pd
for an example.
The synthesizer itself relies on a handful of waveshaping algorithms to produce differing kinds of overdrive and distortion from the oscillators of each synthesizer voice, and then applies an ADS-envelope low-pass filter to each voice on an individual basis. The harmonic ratios and the balance between even and odd harmonics varies by algorithm, with some sounding better than others for certain oscillator and envelope combinations. There's no hard-and-fast rules here, so just use your ears.
The goal of this project is to provide a quick and simple way for a user to dial in rich, complex synth sounds without needing to know much about synthesizers. Unlike the wavedist plugin, all the waveshapers are active at once here, allowing for some truly wild harmonic ratios.
- Monophonic (1 Voice) and Polyphonic (8-voices)
- Polyphonic version easily adaptable to N number of voices based on system resources
- Monophonic version has midi-adjustable portamento control
- Lightweight
|miniphonic|
monophonic voice for resource-constrained applications
- 7 Oscillators, 1 ADSR, and 2 ADS envelopes per-voice
- Oscillators selectable between Sine, Saw, and a PWM with a 5%-50% automatable duty-cycle
- 6 different waveshaping algorithms and a Gain control
- Unison control (oscillator de-tune)
- Bit depth control/crush range of 1-12 bits
Pre-development planning- General
Refactor PD source for HVCC compatibilityUpdate docs with details of UI functions/feedbackInclude separate install/build documentation for each Dahlia target
- Daisy
Refactormain_daisy.pd
to target Daisy buildRedesign UI for Daisy PodDaisy Pod UI simulator
Build scripts targeting Daisy (HVCC and pd2dsy)Design a new voice for the Daisy platform with lower complexity
- Distrho Plugin Framework
Refactormain_dpf.pd
to target a DPF buildBuild script targeting DPF (HVCC)
- Javascript
Refactormain_js.pd
to target a Javascript/WebAudio buildBuild script targeting Javascript/WebAudio (HVCC)
Status: Project feature development is on hiatus, but it is actively maintained.
(C) 2021-2023, Winry R. Litwa-Vulcu