Skip to content

magnetophon/DigiDrie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DigiDrie

A monster monophonic synth, written in faust.

features

  • 4 oscillators in double crossfade configuration, so iow Vector Synthesis.
  • each osc is a CZ style osc, where you can choose between 9 waveforms
  • each osc is phase-locked to a single master oscillator.
  • but the phase can be changed and modulated, also by other oscillators.
  • each osc can smoothly crossfade between octaves
  • the phase signal feeding the CZ oscs can be passed trough a set of lowpass-filters. This sounds similar yet very different from filtering the output of an oscillator. For example: when you filter the phase input of a sine-wave, it creates harmonics and you can kind of hear the character of the filter.
    • there are a couple of lowpass-types (moog/oberheim/ms20) that can be dynamically mixed, but the sum of the mix is always 1
  • the synth is fully stereo: each parameter has a main slider and a left-right difference slider
  • each parameter (and it's l-r-diff brother) can be morphed between 8 settings, called macros, in a 3D cross-fade configuration.
  • each macro can be modulated by 4 envelopes and 4 lfo's
  • the number of envelopes, lfos can be easily changed at compile time

Here are two short audio demo's.

macros

You can think of the macros as modulate-able presets, arranged in a cube. Each of the "modulation->1/2/3" settings cross-fades between two sides of the cube, in either the x,y or z dimension.

So: "modulation->1" cross-fades from preset 1,3,5 and 7 to 2,4,6,8. "modulation->2" cross-fades from preset 1,2,5,6 to 3,4,7,8. "modulation->3" cross-fades from preset 1,2,3,4 to 5,6,7,8.

By default, "modulation->1/2/3" are all 0, so you hear preset 1. When you turn up "modulation->1", the settings morph to preset 2.

building

Faust

git clone https://github.com/magnetophon/DigiDrie/
cd DigiDrie/faust/

To get a jack standalone app:

faust2jack -t 0 -time -midi DigiDrie.dsp && ./DigiDrie

It's quite a long compile for a single faust program, +/- 7 minutes on my hardware. The compiler is not hanging! ;)

To look at a block diagram:

faust -lang ocpp -t 0 -time -svg -f 1 DigiDiagram.dsp -o -drf  /dev/null && xdg-open DigiDiagram-svg/process.svg

The file DigiDiagram.dsp is slightly different from the main dsp, in that it doesn't use a cludge written in faust to work around the poor monophonic handeling faust currently has. It increases the size of the diagram a lot, and doesn't help to clarify the actual synth.

Plugin

This is work in progress. If something is not working, please open issue.

git clone --recursive https://github.com/magnetophon/DigiDrie/
cd DigiDrie/plugin/dpf
make -j

Plugins are built into DigiDrie/dpf/bin.

  • DigiDrie: JACK standalone
  • DigiDrie.lv2: LV2
  • DigiDrie-vst.so: VST2

To build plugin from Faust code, see plugin/data/README.md.

issues

Bug reports, feature requests and other issues welcome!

About

A monster monophonic synth, written in faust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages