Author |
Message |
HrastProgrammer

Joined: Oct 16, 2008 Posts: 313 Location: CPU
Audio files: 79
|
Posted: Mon Nov 04, 2013 10:39 am Post subject:
Additive/GPU Engine test for the Tranzistow Synthesizer |
 |
|
I just finished Additive/GPU engine for my Tranzistow synthesizer:
http://www.hrastprogrammer.com/hrastwerk/tranzistow.htm
4 multi parts with 16 additive voices (for 64 voices in total), each voice with 4 additive oscillators, each oscillator with 240 dual-harmonics and internal virtual sync oscillator. Dual-harmonic is a combination of two harmonics where the second one is PW phase-shifted in order to have PulseWidth at additive level (so, basically, there are 480 harmonics per oscillator * 256 oscillators = 122880 harmonics processed per sample). Each dual-harmonic has 8-stage loopable envelope (61440 envelopes processed per sample). All oscillators are fully bandlimited which means that you can, for example, sweep a saw wave and the engine will automatically remove harmonics over Nyquist as you pitch up (and add harmonics as you pitch down). To avoid sudden jumps when removing and adding harmonics (which can be quite hearable in some cases) there is a built-in XFade functionality which crossfades between old and new harmonic window.
As icing on the cake, I implemented 136-band formant/spectral filter (with 8Hz-20kHz range) for each additive oscillator (meaning that 256 filters are running at the same time processing data for a total of 256 * 136 = 34816 bands per sample). This filter can be used for everything, from 136-band EQ via various resonant/non-resonant lowpasss, bandpass, highpass, formant (multiple bandpass) to some completely crazy and yet unheard filters. Additive oscillators are sub-modules inside main Tranzistow oscillators - they share common pitch/frequency parameters together with the same output and they can be used as audio/modulation sources in tandem with the regular oscillators + additive output can be further processed through Tranzistow engine as any other audio source inside the synthesizer.
I tested this engine on Radeon HD7970 and nVidia FX2700M graphics cards, and I would like to ask some of you to test it on your systems. You need a GPU with OpenCL drivers (all newer ATI/AMD and nVidia should have them) and a little VST test module - contact me by mail if you want to do a test ...
The complete 64-voice additive engine described above running at 96kHz sample rate consumes around 45% of the available power on my Radeon HD7970 (non-overclocked to keep fan noise low). Managed to squeeze just 12 oscillators from FX2700M, though, as the engine is optimized more for ATI/AMD than nVidia. _________________ http://www.hrastprogrammer.com/hrastwerk/
http://hrastprogrammer.bandcamp.com/ |
|
Back to top
|
|
 |
HrastProgrammer

Joined: Oct 16, 2008 Posts: 313 Location: CPU
Audio files: 79
|
|
Back to top
|
|
 |
MusicMan11712
Joined: Aug 08, 2009 Posts: 1076 Location: Out scouting . . .
|
Posted: Sat Nov 09, 2013 11:27 am Post subject:
|
 |
|
Nice droney, filter-sweepy sounds!!! Looks like you are pushing the envelope with your programming!!! Sorry, I couldn't resist the pun. But seriously, you are doing cool, innovative stuff here.
Steve |
|
Back to top
|
|
 |
HrastProgrammer

Joined: Oct 16, 2008 Posts: 313 Location: CPU
Audio files: 79
|
|
Back to top
|
|
 |
|