Obxd synthesizer
- KVRian
- 546 posts since 22 May, 2009 from Portugal,Azores (faial island)
Somethimes we tend to underate synths because they are freeware...
so i compared it against Arturia Sem V :
test A:
(sem v)
https://soundcloud.com/sergiofrias/sem-v
(obxd)
https://soundcloud.com/sergiofrias/obxd
test B:
(sem v)
https://soundcloud.com/sergiofrias/sem-v-2
(obxd)
https://soundcloud.com/sergiofrias/obxd-2
note: obxd is cleaner( less aliasing),in this test i only inverted the polarity on my mixer because the waveforms are inverted and this could bring bad judgement.i also programmed the osc and filter clarity of obxd to better match Sem V
to my suprise they are almost identical,what a great sound indeed.
so i compared it against Arturia Sem V :
test A:
(sem v)
https://soundcloud.com/sergiofrias/sem-v
(obxd)
https://soundcloud.com/sergiofrias/obxd
test B:
(sem v)
https://soundcloud.com/sergiofrias/sem-v-2
(obxd)
https://soundcloud.com/sergiofrias/obxd-2
note: obxd is cleaner( less aliasing),in this test i only inverted the polarity on my mixer because the waveforms are inverted and this could bring bad judgement.i also programmed the osc and filter clarity of obxd to better match Sem V
to my suprise they are almost identical,what a great sound indeed.
...want to know how to program great synth sounds,check my video tutorials: http://www.youtube.com/user/sergiofrias25
- KVRAF
- 7691 posts since 11 Jun, 2006
wow. I know 2Dat was passionate about making the osc's and filter as accurate as possible.
funny you should compare it to SEM V, as i started work on a SEM skin for obxd! stay tuned!
funny you should compare it to SEM V, as i started work on a SEM skin for obxd! stay tuned!
You do not have the required permissions to view the files attached to this post.
HW SYNTHS [KORG T2EX - AKAI AX80 - YAMAHA SY77 - ENSONIQ VFX]
HW MODULES [OBi M1000 - ROLAND MKS-50 - ROLAND JV880 - KURZ 1000PX]
SW [CHARLATAN - OBXD - OXE - ELEKTRO - MICROTERA - M1 - SURGE - RMiV]
DAW [ENERGY XT2/1U RACK WINXP / MAUDIO 1010LT PCI]
HW MODULES [OBi M1000 - ROLAND MKS-50 - ROLAND JV880 - KURZ 1000PX]
SW [CHARLATAN - OBXD - OXE - ELEKTRO - MICROTERA - M1 - SURGE - RMiV]
DAW [ENERGY XT2/1U RACK WINXP / MAUDIO 1010LT PCI]
- KVRAF
- 12615 posts since 7 Dec, 2004
Some properties of a FIR filter are:
1) Slope
2) Stop-band level
3) Pass-band ripple
These are all tied together. If you wanted to maximize slope (to reduce aliasing as much as possible) you'd raise the stop-band level "noise floor" and introduce pass-band ripple.
The aliasing in the stop-band is still aliasing, it's just masked over by noise.
You can use a statistical filter (a special FIR filter) to remove the noise leaving most of the original signal and aliasing behind.
1) Slope
2) Stop-band level
3) Pass-band ripple
These are all tied together. If you wanted to maximize slope (to reduce aliasing as much as possible) you'd raise the stop-band level "noise floor" and introduce pass-band ripple.
The aliasing in the stop-band is still aliasing, it's just masked over by noise.
You can use a statistical filter (a special FIR filter) to remove the noise leaving most of the original signal and aliasing behind.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
- KVRAF
- 12615 posts since 7 Dec, 2004
No it isn't.
It's possible "in theory" or "mathematically speaking" to generate a limited series of partials using a perfect sine function among various other methods.
In reality however it isn't at all possible, not even slightly.
The noise could have some other source, the most likely being part of a wavetable oscillator as it's the most efficient alternative. The most efficient method available however is applying a FIR filter which is why it would be best to assume that was the method used lacking any evidence to better support some other explanation. (Not to mention interpolation used for a wavetable is also generally a FIR filter.)
(If the level is significant it was likely added intentionally at some point.)
If so, the only rational explanation for excess noise is one or both of that it is:
1) Made up of aliased harmonics at the stop-band level of the filter used.
2) Due to quantization error.
In both cases you might argue from a design perspective that adding noise would make sense if noise were measured from the equivalent model oscillator (analog, etc) in order to better emulate that model.
Might... although it would potentially be a bit difficult to come up with any rational explanation for it.
So, alternatively I've guessed that the noise might be intended to mask over the aliases created when synthesizing the waveform. In other words a ruse to get you to say "...doesn't have aliasing, but it has noise". In fact it may very well have both
It's possible "in theory" or "mathematically speaking" to generate a limited series of partials using a perfect sine function among various other methods.
In reality however it isn't at all possible, not even slightly.
The noise could have some other source, the most likely being part of a wavetable oscillator as it's the most efficient alternative. The most efficient method available however is applying a FIR filter which is why it would be best to assume that was the method used lacking any evidence to better support some other explanation. (Not to mention interpolation used for a wavetable is also generally a FIR filter.)
(If the level is significant it was likely added intentionally at some point.)
If so, the only rational explanation for excess noise is one or both of that it is:
1) Made up of aliased harmonics at the stop-band level of the filter used.
2) Due to quantization error.
In both cases you might argue from a design perspective that adding noise would make sense if noise were measured from the equivalent model oscillator (analog, etc) in order to better emulate that model.
Might... although it would potentially be a bit difficult to come up with any rational explanation for it.
So, alternatively I've guessed that the noise might be intended to mask over the aliases created when synthesizing the waveform. In other words a ruse to get you to say "...doesn't have aliasing, but it has noise". In fact it may very well have both
Last edited by aciddose on Tue Apr 12, 2016 3:40 am, edited 1 time in total.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
-
- KVRist
- 252 posts since 17 Aug, 2005
It is possible that the noise was added to mask aliases, yes.
Let's talk about the source of the ailasing.
If the aliasing was generated anywhere "pre filtering" there would be visible sidebands in the FFT, right?
I suspect that the method that is used to generate a waveform at any given pitch at any given host sample rate (i.e. the SRC engine) is the source of aliasing in most soft synths. I have tested them at different host sample rates and noted the differences in the artifacts produced.
Let's talk about the source of the ailasing.
If the aliasing was generated anywhere "pre filtering" there would be visible sidebands in the FFT, right?
I suspect that the method that is used to generate a waveform at any given pitch at any given host sample rate (i.e. the SRC engine) is the source of aliasing in most soft synths. I have tested them at different host sample rates and noted the differences in the artifacts produced.
- KVRAF
- 12615 posts since 7 Dec, 2004
What do you mean "pre filtering" ?
When I'm talking about applying a FIR filter (or interpolation) this is applied to the signal before sampling. So the signal is analog/continuous, we filter it to remove harmonics outside the band and then we sample the result which mirrors the aliases we couldn't filter inside the band.
Any time this sort of sampling happens a filter must be used first to reduce the level of those aliases before they are reflected during sampling.
So in other words to say "pre filtering" doesn't make a lot of sense since the filtering happens first.
When I'm talking about applying a FIR filter (or interpolation) this is applied to the signal before sampling. So the signal is analog/continuous, we filter it to remove harmonics outside the band and then we sample the result which mirrors the aliases we couldn't filter inside the band.
Any time this sort of sampling happens a filter must be used first to reduce the level of those aliases before they are reflected during sampling.
So in other words to say "pre filtering" doesn't make a lot of sense since the filtering happens first.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
- KVRAF
- 12615 posts since 7 Dec, 2004
In other words try to imagine "sampling" like placing a box of mirrors around the signal.
The signal originally has harmonics which go on up to infinity although at a level which decreases as frequency increases.
When we "sample" the signal the mirrors go down. Now the harmonics which went up above nyquist get reflected and start going down until zero where they hit the opposite mirror and bounce back up, ad infinitum.
To reduce the level of these harmonics we need to apply the filter first, before sampling takes place.
The signal originally has harmonics which go on up to infinity although at a level which decreases as frequency increases.
When we "sample" the signal the mirrors go down. Now the harmonics which went up above nyquist get reflected and start going down until zero where they hit the opposite mirror and bounce back up, ad infinitum.
To reduce the level of these harmonics we need to apply the filter first, before sampling takes place.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
- KVRAF
- 12615 posts since 7 Dec, 2004
Side-bands would be the product of modulation... I'm not certain what you mean by "side-bands" then.zmix wrote:If the aliasing was generated anywhere "pre filtering" there would be visible sidebands in the FFT, right?
No, assuming we don't apply any modulation/distortion (same thing technically) to the signal at some point further down the signal path there wouldn't be anything present that would be called a side-band.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
- KVRAF
- 12615 posts since 7 Dec, 2004
Those aren't "side-bands", that's not the proper use of that term.
They are harmonics of the sampled signal just like harmonics of a ramp/pulse/whatever wave. They're called "aliased harmonics" because the sampled signal is made up of samples which are very narrow pulses (infinitely narrow).
Try with any synthesizer, what is the spectrum of the most narrow pulse you can create? You'll find it's flat with infinite harmonic content. It becomes more flat the more narrow it is, and the amplitude of harmonics decreases relative to the level of the pulse.
(A band-limited version of an infinitely narrow pulse is the sinc() function.)
This approximates what each "sample" is. The harmonics of these pulses are called "aliased harmonics" because when you take a complete sampled signal the combination of these harmonics creates a spectra which is back-to-back mirror images of the band below nyquist.
In other words the 39th image is exactly like the 1st which is exactly like the content within the original band; nomenclature = "aliases". Different names for the same thing.
No, you couldn't see them because they're below a certain level (according to my hypothesis) with noise added on top.
They are harmonics of the sampled signal just like harmonics of a ramp/pulse/whatever wave. They're called "aliased harmonics" because the sampled signal is made up of samples which are very narrow pulses (infinitely narrow).
Try with any synthesizer, what is the spectrum of the most narrow pulse you can create? You'll find it's flat with infinite harmonic content. It becomes more flat the more narrow it is, and the amplitude of harmonics decreases relative to the level of the pulse.
(A band-limited version of an infinitely narrow pulse is the sinc() function.)
This approximates what each "sample" is. The harmonics of these pulses are called "aliased harmonics" because when you take a complete sampled signal the combination of these harmonics creates a spectra which is back-to-back mirror images of the band below nyquist.
In other words the 39th image is exactly like the 1st which is exactly like the content within the original band; nomenclature = "aliases". Different names for the same thing.
No, you couldn't see them because they're below a certain level (according to my hypothesis) with noise added on top.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
-
- KVRist
- 252 posts since 17 Aug, 2005
I was talking about aliasing, as you recall, but I used the term "sidebands" to describe them because they are generated in exactly the same way as sidebands, they are the product of the harmonics and the sampling rate, same as any modulation that normally produces the artifacts we call sidebands..
Now that we've clarified what we're talking about, lets examine some of the causes.
I've got FFTs of several soft synths producing a 1kHz 50% square wave at 44.1kHz and the aliases are prominent on many commercial softsynths. On the OB-Xd they are nonexistent.
Now that we've clarified what we're talking about, lets examine some of the causes.
I've got FFTs of several soft synths producing a 1kHz 50% square wave at 44.1kHz and the aliases are prominent on many commercial softsynths. On the OB-Xd they are nonexistent.
- KVRAF
- 12615 posts since 7 Dec, 2004
No they are not.zmix wrote:they are the product of the harmonics and the sampling rate, same as any modulation that normally produces the artifacts we call sidebands.
The sampling rate is not a signal. If it were, what would it be? A pure partial at the same rate?
In which case the sum + difference side-band products wouldn't produce the same effect.
For example given sr = 20k and signal = 12k:
sum = 32k
difference = -8k
... and yet no spurious harmonic appears at 8k.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
- KVRAF
- 12615 posts since 7 Dec, 2004
No they are not.zmix wrote:I've got FFTs of several soft synths producing a 1kHz 50% square wave at 44.1kHz and the aliases are prominent on many commercial softsynths. On the OB-Xd they are nonexistent.
They are simply below the level you have measured or for some other reason invisible to you.
Also just FYI, the proper term is "Fourier transform". You might use "FT" but a better term is "spectrogram" or simply "spectrum". The Fourier transform gives a result in the complex plane or in other words a 2d value for an input signal. You can then compute the magnitude (amplitude) and phase of each "bin" in the transform result and use those to produce a frequency spectrum graph.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
