Author |
Message |
xav
Joined: Mar 21, 2005 Posts: 164 Location: paris
Audio files: 8
G2 patch files: 7
|
Posted: Thu Sep 11, 2008 1:41 pm Post subject:
Trying to emulate a Minimoog saw |
|
|
I did several tests with a minimoog. The sound of the saw was my first preoccupation. The oscilloscope shows a perfect saw for the G2, and a rounded one for the Minimoog, especially in it negative side. I tested the lowest note the tuner recognized, E 32'. The sound is a little bit different to my ears.
This what I did to imitate the saw of the mini, listening, looking to the oscilloscope and a multimeter:
1. I tried to tune perfectly the Minimoog to the G2 and to get the same volume.
2. I reversed the wave of the G2 since it is in the opposite phase, to compare easier the shape. (why did clavia change the sense of the saw since the G1?)
3. I tried to change the waveform with a shaper and FM. The best results were when the transformation is dynamically synced to the waveform. FM changed the evolution of the wave under 0, and the shaper rounded especially the negative side too. It is gradually modulated by the saw (before it is reversed). And I tried a overdrive that shapes the wave in a good way (visually...).
I cannot say the result is perfect, since it still lacks a little bit of high frequencies to match to the Minimoog saw, but it is nearest than the pure saw of the G2. I'll appreciate if anybody get a solution to get closer.
Here are the pictures of the analyzes and the patch. Variation is the pure saw, and 2 is transformed.
Description: |
|
Filesize: |
137.32 KB |
Viewed: |
534 Time(s) |
This image has been reduced to fit the page. Click on it to enlarge. |
|
Description: |
|
Filesize: |
140.65 KB |
Viewed: |
476 Time(s) |
This image has been reduced to fit the page. Click on it to enlarge. |
|
Description: |
|
Filesize: |
155.15 KB |
Viewed: |
504 Time(s) |
This image has been reduced to fit the page. Click on it to enlarge. |
|
Description: |
|
Download |
Filename: |
Test saw moog.pch2 |
Filesize: |
1.29 KB |
Downloaded: |
1573 Time(s) |
Last edited by xav on Wed Sep 24, 2008 2:28 pm; edited 1 time in total |
|
Back to top
|
|
|
iPassenger
Joined: Jan 27, 2007 Posts: 1067 Location: Sheffield, UK
Audio files: 5
G2 patch files: 78
|
Posted: Fri Sep 12, 2008 12:36 am Post subject:
|
|
|
Thanks Xav,
The waveforms certainly look similar if not the same. I found similar differences in the waveform when I studied my waldorf pulse's Saw/Squ waves etc vs the G2 (which is pratically perfect). Although the effect appeared to have a bias to the note played. In other words higher notes produced more accurate waveforms than lower ones, (could this be to do with the saturation into the filter perhaps?). In order to try emulate this I tried placing EQs on the outputs of the Oscs but with limited success.
Anyway I look forward to testing this patch out when I am back at home.
R. _________________ iP (Ross)
- http://ipassenger.bandcamp.com
- http://soundcloud.com/ipassenger |
|
Back to top
|
|
|
kmmcdonald
Joined: Oct 08, 2005 Posts: 22 Location: USA
Audio files: 1
|
Posted: Sat Sep 13, 2008 10:06 am Post subject:
|
|
|
xav:
What software are you using to provide the oscilloscope & spectrum analysis?
thanks
Keith _________________ Keith M in AZ |
|
Back to top
|
|
|
BobTheDog
Joined: Feb 28, 2005 Posts: 4044 Location: England
Audio files: 32
G2 patch files: 15
|
Posted: Sat Sep 13, 2008 11:10 am Post subject:
|
|
|
Looks like The MultiMeter and tuner in Logic and NI Reaktor doing the scope |
|
Back to top
|
|
|
Derek Cook
Joined: Dec 30, 2005 Posts: 171 Location: Wales, UK
G2 patch files: 3
|
Posted: Wed Sep 17, 2008 12:41 pm Post subject:
|
|
|
One nice thing on Yamaha's AN1x, PLG150-AN and AN engine in the EX5 (yes, I have them all as well as my beloved Nord G2 Engine!) is the ability to "round" the edges of the waveforms to emulate the less than perfect waveforms of classic synths.
So is it possible to create something like this on the Nord? I haven't really thought about it, but the Yamaha AN Edge parameter must be equivalent to an LPF where the cutoff is synced somehow to the VCO pitch, which sounds like what XAV is trying to do. _________________ Regards
Derek Cook
www.echoes-music.co.uk
www.purefloyd.co.uk
www.carregddu.co.uk
www.xfactory-librarians.co.uk
www.ex5tech.com |
|
Back to top
|
|
|
xav
Joined: Mar 21, 2005 Posts: 164 Location: paris
Audio files: 8
G2 patch files: 7
|
Posted: Wed Sep 24, 2008 2:24 pm Post subject:
|
|
|
Sorry for the delay. Yes, Bob The Dog is right; Logic, Reaktor. But the shape is only useful to monitor what I'm doing. The best tool to see the differences was the spectrum display (especially RME's one).
I tried to do the same job with a Wersi Organ. The Flute 16' is beautiful. It looks like a sine for the first half circle, and something more chaotic. I never succeeded in making such a waveform with the G2. It would be so nice to draw a one cycle waveform and to use it as an oscillator. |
|
Back to top
|
|
|
Tim Kleinert
Joined: Mar 12, 2004 Posts: 1148 Location: Zürich, Switzerland
Audio files: 7
G2 patch files: 236
|
|
Back to top
|
|
|
xav
Joined: Mar 21, 2005 Posts: 164 Location: paris
Audio files: 8
G2 patch files: 7
|
Posted: Wed Sep 24, 2008 5:22 pm Post subject:
|
|
|
You are right Tim (as usual). I gonna try this way. Not easy but the sound seems good... maybe more flexible chaining two seq. |
|
Back to top
|
|
|
Tim Kleinert
Joined: Mar 12, 2004 Posts: 1148 Location: Zürich, Switzerland
Audio files: 7
G2 patch files: 236
|
|
Back to top
|
|
|
xav
Joined: Mar 21, 2005 Posts: 164 Location: paris
Audio files: 8
G2 patch files: 7
|
Posted: Thu Sep 25, 2008 6:47 am Post subject:
|
|
|
Thank you Tim. Those 3 ways you mention are really interesting. Your digital manipulations and considerations are amazing.
About fine tuning, the minimoog used for those tests waas really weird. When it's perfectly tuned for the lowest note, it's extremely out of tune in the higher range. I don't know if it is normal. |
|
Back to top
|
|
|
iPassenger
Joined: Jan 27, 2007 Posts: 1067 Location: Sheffield, UK
Audio files: 5
G2 patch files: 78
|
Posted: Thu Sep 25, 2008 9:02 am Post subject:
|
|
|
tim wrote: |
Attached is a brief example of a DIY sawtooth core driving a shaping thingie which lets you get all different kinds of sawtooth ramp shapes. Maybe you can get it close to the minimoog shape.
|
Fantastic and so simple. cheers tim. _________________ iP (Ross)
- http://ipassenger.bandcamp.com
- http://soundcloud.com/ipassenger |
|
Back to top
|
|
|
Tim Kleinert
Joined: Mar 12, 2004 Posts: 1148 Location: Zürich, Switzerland
Audio files: 7
G2 patch files: 236
|
Posted: Thu Sep 25, 2008 9:54 am Post subject:
|
|
|
cheers, guys.
There's no magic to all this. It's just a self-resetting counter circuit, clocking at audiorate, which is fed by a keyboard-tracking lin-expo converter. If I reset it to zero regardless of how high the overflow value is, the generated oscillations will always have the same length of samples and will therefore not be jittered by the sampling frequency. This is why the waveform always sounds clean, but the tuning is a bit skewed. (The other reason for the tuning issues is that the LevelScaler output isn't accurate enough for these kinds of applications.)
I use these kinds of counter circuits alot in my recent designs. In the voice autotuner, there are four such counters.
Oh, btw, the two gain stages (RANGE and MAKEUP gain) in the saw shaping example patch are actually superfluous, since tweaking the saturation curve gives the same form of control. So you can make it more efficient by leaving those out.
As I say, the DIY sawtooth core can drive any nonlinear processing without ever aliasing.
@xav: sounds like the tracking needs to be calibrated on your mini.
cheers again,
tim |
|
Back to top
|
|
|
iPassenger
Joined: Jan 27, 2007 Posts: 1067 Location: Sheffield, UK
Audio files: 5
G2 patch files: 78
|
Posted: Thu Sep 25, 2008 12:39 pm Post subject:
|
|
|
yeah i got that tim ... The tuning issues are a bit weird, i don't understand why those values on the mixer make a reasonably accurate tuning but they do.. so I'm not going to worry about it.
Been messing with my own multiple osc synth based on the no alias saw, using the saw to derive a pulse (comparator), tri (wavewrap) and then sine (shaper).
Probably being a bit thick here but what does non-linear processing mean?
If I use say, a standard sine osc to control a crossfader, is the sine going to introduce an element of jitter into the crossfade? And your conter circuit avoids this issue by being unaffected by sampling freq? Is that what your getting at?
Cheers
R. _________________ iP (Ross)
- http://ipassenger.bandcamp.com
- http://soundcloud.com/ipassenger |
|
Back to top
|
|
|
Tim Kleinert
Joined: Mar 12, 2004 Posts: 1148 Location: Zürich, Switzerland
Audio files: 7
G2 patch files: 236
|
Posted: Thu Sep 25, 2008 1:02 pm Post subject:
|
|
|
iPassenger wrote: | i don't understand why those values on the mixer make a reasonably accurate tuning but they do.. so I'm not going to worry about it. |
I tuned them by ear.
iPassenger wrote: | Probably being a bit thick here but what does non-linear processing mean? |
It means this:
iPassenger wrote: | Been messing with my own multiple osc synth based on the no alias saw, using the saw to derive a pulse (comparator), tri (wavewrap) and then sine (shaper). |
...in other words, you're already doing it. All these things are nonlinear processes. If you do this kind of stuff with a standard sawtooth osc module, you'll get artefacts. The derived pulse wave will be jittered and the triangle wave will have a nasty spike (also jittered) at one of its tips (thats the sinc-filtered sawtooth flank being wrapped around). Not so with the DIY circuit.
iPassenger wrote: | If I use say, a standard sine osc to control a crossfader, is the sine going to introduce an element of jitter into the crossfade? And your conter circuit avoids this issue by being unaffected by sampling freq? Is that what your getting at? |
The steeper the waveform flanks, the more important the jitter issue becomes. Sines have the the least offensive waveform in this respect, hence they are the computationally cheapest waveforms to generate digitally. A fractional counter and a reasonably large lookup table will do. (It's no coincidence that the DX7 had sinus operators. )
Driving a crossfader with a sine wave at audiorate isn't problematic. You can use a standard osc module for this.
best,
tim
PS: I also once made a synth out of DIY oscillators. It even featured osc sync and FM. Plus, the filter, envelopes and LFO were also DIY. Yes, it was a rather nutty project, but oh well...
Here:
http://www.electro-music.com/forum/post-129548.html |
|
Back to top
|
|
|
xav
Joined: Mar 21, 2005 Posts: 164 Location: paris
Audio files: 8
G2 patch files: 7
|
Posted: Thu Sep 25, 2008 2:19 pm Post subject:
|
|
|
[quote="tim"]cheers, guys.
It's just a self-resetting counter circuit, clocking at audiorate, which is fed by a keyboard-tracking lin-expo converter. If I reset it to zero regardless of how high the overflow value is, the generated oscillations will always have the same length of samples and will therefore not be jittered by the sampling frequency.
I can just imagine what you say, like I was dreaming while reading Jean-Paul Sartre's books in philosophy... but it's sure I don't understand how you designed a oscillator with a mixer, a compare to level, and a value switch. And why this DIY is it aliasing free? But I'm sure you explained that very well... It will take time for me to get it.
Any way, thank you for sharing. |
|
Back to top
|
|
|
Tim Kleinert
Joined: Mar 12, 2004 Posts: 1148 Location: Zürich, Switzerland
Audio files: 7
G2 patch files: 236
|
Posted: Thu Sep 25, 2008 2:26 pm Post subject:
|
|
|
@iPassenger:
Oh, I just saw that I didn't really answer your question. So I will try herewith.
Let's say, we want to have an oscillator tuned to C4. This equals to about 261.63Hz . Within a digital system clocking at 96000Hz, this would equal 96000/261.63=366.93 samples. As you can see, it isn't 366 samples and also not 367 samples, but something inbetween. In other words, our digital system cannot faithfully represent this frequency with a constant amount of samples. In tech-speak: The oscillator frequency is non-fractional to the sampling frequency.
There are two solutions: Either we agree on a constant 366 or 367 samples and accept that our oscillator will be slightly out of tune. (My DIY design does exactly this). Or: We use a non-fractional counter, which will produce many oscillations of 367 samples, with an oscillation of 366 samples thrown in there once in a while in order to compensate (so that it averages out in the long run).
However, this causes a periodic jerk in the oscillation, as the wave cycles will be mostly 367 samples, but then 366 samples thrown in between now and then. This jerk is called jitter, and it causes unwanted periodic sidebands. In tech-speak:The oscillation is jittered by the sampling frequency.
The artefacts caused by these "jerks" are strongest on steep waveform flanks. Pulse waves have two of these, sawtooths one, that's why these waveforms are more prone to producing artefacts than eg. sines. Simply put, oscillator anti-aliasing smoothes these flanks so that these jerks become less intrusive.
But if we stick to a fixed amount of samples, we're out of trouble.
Hope this clarifies.
cheers,
tim
@xav:
The mixer is in 100% feedback. When I apply something at its input, it gradually builds up internally. The comparator detects when the buildup has maxed out and resets the circuit to zero by interrupting the feedback loop (the value switch). And so the whole thing starts from the beginning again. Rise.... -reset-rise.... -reset... voilà votre oscillateur de saw |
|
Back to top
|
|
|
xav
Joined: Mar 21, 2005 Posts: 164 Location: paris
Audio files: 8
G2 patch files: 7
|
Posted: Thu Sep 25, 2008 4:26 pm Post subject:
|
|
|
Ah yes, I understood. Thank you very much.
The next step will be to appreciate the logic of your keyboard-tracking lin-expo converter. I presume this conversion has an arithmetic explanation I'm not able to understand.
But with this auto-reset mode, you are sure to be synced with the sample frequency, isn't it? I think about that amazing 5,4 sec delay designed by Blue Hell that used a sample frequency divider to alow a delay module to process alternatively looped samples and new ones. That was first time I realized the PCM limitation could be controlled and even be used in a creative way. |
|
Back to top
|
|
|
iPassenger
Joined: Jan 27, 2007 Posts: 1067 Location: Sheffield, UK
Audio files: 5
G2 patch files: 78
|
Posted: Fri Sep 26, 2008 1:50 am Post subject:
|
|
|
Cheers tim, fab explanations.
So i was already doing this non-linear wot-sit.
Your explanation for the cause of the sample freq jitter is great too, to hell with tuning, tight waveforms are better, particularly for osc sync etc.
I presume this kind of osc would prove difficult or impossible on the G1 due to the lack of consistent calculation order?
Presumably these side bands caused by the jitter don't sound horrendous on their own when just a clean osc sound is used but once combined as part of modulation signal etc... the results become increasingly easy to hear, as the artifacts affect the process. _________________ iP (Ross)
- http://ipassenger.bandcamp.com
- http://soundcloud.com/ipassenger |
|
Back to top
|
|
|
Tim Kleinert
Joined: Mar 12, 2004 Posts: 1148 Location: Zürich, Switzerland
Audio files: 7
G2 patch files: 236
|
Posted: Fri Sep 26, 2008 1:54 am Post subject:
|
|
|
xav wrote: | Ah yes, I understood. Thank you very much.
The next step will be to appreciate the logic of your keyboard-tracking lin-expo converter. I presume this conversion has an arithmetic explanation I'm not able to understand. |
In order to understand this you just have to look at the way (most) synthesisers handle pitch control. On most analog synths, this is done by the 1 volt/octave standard. So with every unit of 1 volt added to the CV, the pitch rises an octave. This is already an example of lin->expo conversion, since the increase of volts is linear (1, 2, 3, 4 etc.) but the increase of osc frequency is exponential, since an octave equals a doubling of the frequency (x2, x4, x8, x16 etc.).
On the G2 osc modules, the response is similar: 12 clavia units (=a linear representation) equals one octave (=doubling of the frequency=an exponential representation).
With our DIY sawtooth osc however, the response is also linear. We have to double the input into the mixer in the self-resetting feedback loop, in order to make the circuit oscillate one octave higher. So we have to convert our linear pitch information (12 clavia units/octave) into an exponential one. And the LevelScaler with a 6dB/octave slope does exactly this, as decibels are also an exponential representation, and 6dB represents a doubling of the amplitude. (Credit for this solution goes to Rob Hordijk.) So, with the 6dB/octave setting, the value gets doubled every octave, which is what we want. Now we only have to ge the offset right (tuned by ear) and we're ready to go.
xav wrote: | But with this auto-reset mode, you are sure to be synced with the sample frequency, isn't it? |
Erm, no. Within a digital system, we're always synced to the sampling frequency, meaning: every operation we perform is performed within this system. The question is if our computated oscillation is jittered by the sampling frequency, meaning: is non-fractional to the sampling frequency. This is explained above in my reply to iPassenger. |
|
Back to top
|
|
|
Tim Kleinert
Joined: Mar 12, 2004 Posts: 1148 Location: Zürich, Switzerland
Audio files: 7
G2 patch files: 236
|
Posted: Fri Sep 26, 2008 2:05 am Post subject:
|
|
|
iPassenger wrote: |
Presumably these side bands caused by the jitter don't sound horrendous on their own when just a clean osc sound is used but once combined as part of modulation signal etc... the results become increasingly easy to hear, as the artifacts affect the process. |
It greatly depends on how steep the waveform flanks are. But yes, the artefacts do add up.
This whole jitter business is also the reason why osc sync sounds so bad on the G2, as the sync trigger impulse is willy-nilly jittered by the sampling frequency too. There is no way around this if one wants to offer the sync functionality in a modular fashion (meaning: with a module input) -except using out-of-tune DIY oscillators for the master oscillator. (You can use a normal osc for the slave.)
Interesting: If you look at ancient G2 screenshots, there once was a SyncOsc module in beta, in which master and slave osc were implemented within one module, allowing them to apply higher mathematics in order to produce clean osc sync sound. (It can be done.) But this module (like many others) was never finalised.
Whenever I check out a new VA (hardware or software) I immediately go for high-pitched sync sounds in order to see if the developers did their homework right. Eg., the old NL2 performs spectacularly in this regard -the sync is super-clean, better than on the NL3, and WAY better than on the (ironically) newer NordWave. (The NL2 was coded by a different guy. Too bad he doesn't work for them anymore ) The Waldorf Blofeld also has great osc sync. |
|
Back to top
|
|
|
iPassenger
Joined: Jan 27, 2007 Posts: 1067 Location: Sheffield, UK
Audio files: 5
G2 patch files: 78
|
Posted: Fri Sep 26, 2008 2:54 am Post subject:
|
|
|
As soon as I played around with your osc module and made my own i realised how easy it would be to add sync, I used a logic OR module, one input from the osc to be synced comparator output and one from another diy osc comparator output.
It certainly sounded cleaner...
Also using this method I figured it would be much easier to build the sync reset points to the right place and what not. Though I didn't experiment with it for long as I started building the rest of the synth to go round it. I'm ashamed to admit that I used standard filter and env modules. *hangs head in shame*. _________________ iP (Ross)
- http://ipassenger.bandcamp.com
- http://soundcloud.com/ipassenger |
|
Back to top
|
|
|
xav
Joined: Mar 21, 2005 Posts: 164 Location: paris
Audio files: 8
G2 patch files: 7
|
Posted: Fri Sep 26, 2008 7:58 am Post subject:
|
|
|
Thank you Tim. You help me very much.
So one problem of tuning is the lack of precision of the Lev scaler module. For a 6db/slope, it makes more than doubling the amplitude. Maybe one can find a way to improve that...?
The other is your choice to control the oscillator by a multiple of samples (the lowest possible fraction of the clock). As soon as you control a DIY oscillator that way, it won't be jittered by sampling frequency, and won't be perfectly tuned. |
|
Back to top
|
|
|
|