WWW.GREGSBRAIN.CO
  • Home
  • About Us
  • Contact
  • Download
  • Blog
  • xVox
  • dSpec
  • Home
  • About Us
  • Contact
  • Download
  • Blog
  • xVox
  • dSpec
Search

What's New at gregsbrain?
​

dSpec is released

10/21/2025

0 Comments

 
​We have been working on dSpec since the start of 2025 and have just released the first batch of modules. We decided to go with a full-assembled module this time rather than a DIY like we did with xVox our first module. We did a lot of the prototyping of the firmware, particularly the user interface,in VCVRack. Because of this we were able to first release dSpec as a VCVRack plugin and got some useful feedback that we incorporated into the hardware version.

dSpec is adigital VCO. It falls into the class of additive synthesis engines that construct waveforms from an audio spectrum. The audio spectrum being a collection of sine waves of different frequencies and amplitudes. This technique for generating waveforms is far from new, the old Hammond Organ was based on the same principle but was electro-mechanical rather than electronic. Additive spectral synthesis has been relatively uncommon in Eurorack partly due to the complexity and CPU performance requirements. Faster embedded CPUs with some DSP capabilities are making this approach practical.

dSpec takes a unique approach to spectral synthesis by generating audio spectrums in real-time from algorithms based on various integer series. These integer series can be further parameterized to produce about 40 core audio spectrums. With dSpec the core audio spectrum is composed from a selection of as many as 1024 sine waves. These sine waves are called harmonics.

Technically harmonics are integer multiples of the fundamental frequency but dSpec can generate notes that contain fractional tones that are non-harmonic.

In the core spectrum all harmonics have the same amplitude. To get a broad range of timbres the selected core spectrum is modulated by boosting some harmonics and attenuating others. This happens under CV control.

The low pass CV input applies an exponential curve to the audio spectrum thereby reducing or eliminating the higher frequency harmonics. This is a little different than a traditional analog or digital filter, because the filtering is scaled to the fundamental frequency of the generated waveform. This means that waveforms of different frequencies will have the same shape.

The comb filter CV input controls the width of the teeth of a comb filter. A comb filter can be visualized as a series of sharp peaks and smooth valleys, varying the width of the teeth (valleys) selectively picks out harmonics. Sweeping the width creates whooshing effects, especially with core spectrums that contain many harmonics. The depth of the comb is controlled by a front-panel knob. Turning the knob to the left of center inverts the teeth, so the valleys go up, and the peaks go down. As with the low pass filter, the comb scales with the pitch so the teeth get further apart as the pitch increases keeping the waveform shape consistent for different notes.

The odd/even mix CV control adjusts the relative amplitudes of odd and even harmonics. You may be aware that (ideal) square waves only have odd harmonics in their audio spectrum and this gives rise to the harsh sound of a square wave. Clarinets are notable for producing square waves. Sawtooth waves contain both even and odd harmonics. The sound is warmer or richer when even harmonics are dominant as in flutes and softly bowed string instruments.

dSpec has two identical oscillators. Each oscillator has a separate output and volt-per-octave jack. A third volt-per-octave jack operates on both oscillators together to transpose the pitch up or down in semitone steps. The CV controls described above simultaneously modulate the waveforms of both oscillators. These CV controls function best with lower frequency inputs such as LFOs, envelopes, and sequencers. Audio frequency modulation is also supported via a dedicated input jack, Mod1 and Mod2, for each oscillator.

A spectral analysis of the Mod1 and Mod2 inputs extract the harmonics in each of these inputs. Harmonics in the synthesized spectrum that coincide with harmonics in the modulation spectrum are amplified and those that do not are attenuated. The depth of modulation is set by the Mod Level knob and applies equally to Mod1 and Mod2. The modulation effect can be quite dramatic as specific sweet spots of overlapping harmonics are encountered. Frequency sweeps of the modulation inputs can also generate surprising results.

Noise is an important element for synthesizing percussive sounds. dSpec adds noise by randomly inserting harmonics with random amplitudes into the audio spectrum. This is tuned noise; the randomly inserted harmonics are at or above the fundamental frequency of the generated note. Noise is inserted into the audio spectrum before the low pass and comb filters are applied. There are two types of noise: Spectral and Harmonic; these are selected from the user interface. Spectral noise affects all frequencies in the audio spectrum above the fundamental and sounds like pink noise. Harmonic noise only affects harmonics that are already in the audio spectrum and produces a tremolo effect. The depth of the noise effect is controlled by the Noise Mix CV input.

Each dSpec oscillator can generate two separate waveforms slightly detuned from each other. The extent of the detuning is set on a slider control in the UI. Detuning a small amount results in a fatter, richer sound, more detuning generates a chorus effect.

dSpec has two auxiliary inputs that can be dynamically assigned to automate controls on the UI. One of the auxiliary inputs is a CV input that can be assigned to sliders and other multi-valued controls. The other is a trigger input that can be assigned to toggle check boxes on and off.

The other module from gregsbrain is xVox a four-voice pitch-shifter effects module that can generate four note chords from a single audio input. It has built-in support for various chords and chord progressions. dSpec borrows some of the ideas, and code, from xVox in its quantizer which has support for predefined and user-defined chords. One of the unique features of the dSpec quantizer is the ability to constrain notes not just to a scale or chord but to an octave range on either side of a root note. The root note is set based on the transposition CV input and associated knob.  Notes that would play outside the range play at the highest or lowest note in the scale or chord. Think of this like clipping the voltage range of the volt-per-octave inputs. In the UI there is a checkbox labelled Wrap. When Wrap is selected instead of simply clipping the note value is preserved but the octave is adjusted so the correct note plays either higher or lower than the VPO input voltage would indicate. When playing sequences, adjusting the octave ranges and checking and unchecking the Wrap setting generates very musical variations. Both these UI controls can be automated by assigning them to the auxiliary inputs mentioned above.
0 Comments



Leave a Reply.

    Author

    Greg Burns is a retired software engineer who is spending his retirement writing software.

    Archives

    October 2025
    October 2023

    Categories

    All

Site powered by Weebly. Managed by Namecheap
  • Home
  • About Us
  • Contact
  • Download
  • Blog
  • xVox
  • dSpec