|
This is a "analogue + digital" software synthesizer. It's developed using
VST-i protocol in M$-VC++.NET but the work was not been completed yet. I will
describe its structure and some of the work's details specifying the missing
or incomplete parts.
There are several modules placed on nine frames:
- 4 Oscillators: having one frame for each one. All these can be
optionally Analogue or Spectral. The algorithms used are
well optimized for speed and works making a bandlimited waveform
generation depending on sampling rate, resulting in a complete digital
alias free sound.
Common controls on both
oscillator types are Power, Phase, Volume, Pan, extended pitch control
(octave, semitones and fine tuning), a couple of switches to enable
note and velocity taken from the midi track, another one to enable
picth envelope and a complete set of sliders for a D-ADSR volume envelope.
- Analogue oscillators have a switch to select main waveform
(it can be Square/Pulse wave or Saw/Triangle wave), a symmetry knob
to fade from a subwave the other one (ex. square to pulse wave), a
cool LCD-style display showing current waveform and a separate
D-ADSR symmetry envelope with an amount knob to set its intensity.
- Spectral, on the other hand, have a big LCD-style display thet
can be painted using mouse. It represents the harmonic content (Y-axis)
over the time (X-axis). The read speed of graph is faded by a knob.
There also is a complete set of "drawing" tools: paint size and pressure,
command buttons to draw a sine wave (horizontal first line), clear the
display, smooth and squarize (leave only odd harmonics) the drawing.
There is, finally, a synch list that disable speed knob making graph read
speed synched to the VST host tempo (32/1, 16/1, 8/1, ..., 1/1, 3/4, 1/2, 1/4, ..., 1/32)
There also are three small VU-meters showing levels of output, FM (SM for analog) and AM inputs.
All code relative to the oscillators is done, except the pich envelope switch that
shold enable the picth D-ADSR envelope that will be on the Main frame,
but its coding is not implemented yet. There alse is a performance problem with the
coding of the LCD displays... but they are really cool. I will put screenshots as soon
as possible...
- 2 Filters: need a little time to end writing.... sorry.
|