Electron – Tau Pro oscillator question.
-
- KVRian
- 1238 posts since 12 Mar, 2002 from Kentucky
I’ve read a few threads about the analysis and design put into the Tau Pro oscillators. Are the Electron oscillators based on the same concept or code?
Robert
Robert
All I need to be happy is one more VSTi.
-
Muon Software Ltd Muon Software Ltd https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=89
- KVRian
- 1461 posts since 21 Nov, 2000
Tau Pro's oscillators are alias-free waveshape oscillators. They use a bandlimited wavetable, hermite interpolation and 2x oversampling (the oversampling filter used is a 12th order polyphase filter with >100dB rejection). They rock, in other words
Electron on the other hand uses a technology better suited to a polysynth that needs to make the classic analog sounds. The oscillators use a technique called BLIT-SWS (bandlimited impulse train sum of windowed sinc) to create a basic pulse waveform without aliasing. This waveform is then mathematically integrated to produce the normal saw and square waveforms. The resulting noise floor and aliasing in Electron's output is well below -96 dB and there are no interpolation noise artefacts at all.
You can find out more about the technology used in Muon synths at:
http://www.muon-software.com/html/muon_quality.html
Kind regards
Dave
Electron on the other hand uses a technology better suited to a polysynth that needs to make the classic analog sounds. The oscillators use a technique called BLIT-SWS (bandlimited impulse train sum of windowed sinc) to create a basic pulse waveform without aliasing. This waveform is then mathematically integrated to produce the normal saw and square waveforms. The resulting noise floor and aliasing in Electron's output is well below -96 dB and there are no interpolation noise artefacts at all.
You can find out more about the technology used in Muon synths at:
http://www.muon-software.com/html/muon_quality.html
Kind regards
Dave
-
- KVRist
- 327 posts since 13 Nov, 2002 from Germany, Darmstadt
As we talk about quality. Is it realy usefull to use 64Bit internaly. With 32Bit float the smales value that can be represented is -749,3dB. As the result is normaly rendered to 24Bit integer (-144dB) or even 16 Bit (-96dB) the quality of 32Bit floats is enough, isn't it?
-
Muon Software Ltd Muon Software Ltd https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=89
- KVRian
- 1461 posts since 21 Nov, 2000
Actually, it is normally accepted that the dynamic range of a 32-bit VST plugin (since the values are normalised to a range of -1 to +1) is roughly equivalent to 24-bit PCM audio.
The extra dynamic range afforded by using 64-bit is useful when mixing voices and performing amplitude scaling etc. It doesn't have any negative affect on performance, so it doesn't really make sense *not* to use it.
Regards
Dave
The extra dynamic range afforded by using 64-bit is useful when mixing voices and performing amplitude scaling etc. It doesn't have any negative affect on performance, so it doesn't really make sense *not* to use it.
Regards
Dave
-
- KVRAF
- 2460 posts since 3 Oct, 2002 from SF CA USA NA Earth
Good point; I'll just point out that if you're using wavetables, delay lines and other buffery things, that 32-bit floats are probably worthwhile there to reduce memory access bandwidth and cache violence. I could also ramble on about the compiler's tendency to optimize away temporaries, such that many of your calculations will automagically be done in 80-bit floats...Muon Software Ltd wrote:The extra dynamic range afforded by using 64-bit is useful when mixing voices and performing amplitude scaling etc. It doesn't have any negative affect on performance, so it doesn't really make sense *not* to use it.
-
Muon Software Ltd Muon Software Ltd https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=89
- KVRian
- 1461 posts since 21 Nov, 2000
Couldn't agree more. If you're using a lookup table to store the value of some calculated function, it's going to be quantised to N steps anyway and so holding the values at full precision isn't likely to do you a lot of favours.and other buffery things, that 32-bit floats are probably worthwhile there to reduce memory access bandwidth
Regards
Dave
-
- KVRer
- 1 posts since 18 Mar, 2003
Hi Dave,
I like your synths and think they sound great. I am a little confused, however, at how you can actually do what is quoted from your tau pro web page:
But how can you calculate alias free sync with a sine wavetable?
What about alias free pwm? (you can get up to 3 times nyquist with phase modulation if that's how your doing it).
Perhaps extreemly low aliasing is more accurate?
Andrew
I like your synths and think they sound great. I am a little confused, however, at how you can actually do what is quoted from your tau pro web page:
Alias free ring mod is possible as you are double sampling you can contain the possibly double frequency generated (assuming the polyphase downsampling filters are post ring mod).64-bit oscillators with 11 waveforms & 2x oversampling for totally alias-free sound. Width modulation, sync & ring mod on all waves too!
But how can you calculate alias free sync with a sine wavetable?
What about alias free pwm? (you can get up to 3 times nyquist with phase modulation if that's how your doing it).
Perhaps extreemly low aliasing is more accurate?
Andrew
-
Muon Software Ltd Muon Software Ltd https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=89
- KVRian
- 1461 posts since 21 Nov, 2000
At what point does "extremely low" become "alias-free" though?Perhaps extreemly low aliasing is more accurate?
assuming aliasing is kept to below -100dB, and you render to a 16 bit output (dynamic range 96dB) there won't be any aliasing in the output. Either way, its just semantics.
Regards
Dave
-
- KVRist
- 327 posts since 13 Nov, 2002 from Germany, Darmstadt
I checked what you said and it's true. 32Bit floatingpoint has exacptly the same quality as 24Bit integer (2/Epsilon_of_32BIt_float = 16777216 = 2^24)
and 64Bit floatingpoint would be 53Bit integer so it's realy worth using 64Bit.
and 64Bit floatingpoint would be 53Bit integer so it's realy worth using 64Bit.

