Awesome! Let us know the URL when it's up!antto wrote:i'm uploading a 88200Hz audio sample of the TB-303 that i used to get the curves i'm talking about, it's kinda huge (~50mb, 22mb compressed rar)
on the left channel there is my synth (with the new curves and knob ranges)
right channel is the audio sample which rv0 recorded for me (with my specifications) (thanks to him) (TB-303)
Open303 - open source 303 emulation project - collaborators wanted
-
- KVRAF
- 3404 posts since 15 Sep, 2002
Swing is the difference between a drum machine and a sex machine.
- KVRAF
- 2569 posts since 4 Sep, 2006 from 127.0.0.1
vb303_rv0_compare02.rar (22.8MB)
Left: Venom VB-303
Right: TB-303 (by rv0, unmodified unit, clean 88200Hz recording)
so, this is where i got the curve from ;]
as you can see, both channels sound quite the same (either hear on headphones, or look at a sonogram or something)
so i believe my theory is right (non-linear envelopes, sort-of-linear filter-cutoff response)
Left: Venom VB-303
Right: TB-303 (by rv0, unmodified unit, clean 88200Hz recording)
so, this is where i got the curve from ;]
as you can see, both channels sound quite the same (either hear on headphones, or look at a sonogram or something)
so i believe my theory is right (non-linear envelopes, sort-of-linear filter-cutoff response)
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!
irc.libera.chat >>> #kvr
..as long as it has BASS and it's LOUD!
irc.libera.chat >>> #kvr
- KVRAF
- 2569 posts since 4 Sep, 2006 from 127.0.0.1
oh, the orig_slide.wav sample you're talking about?Robin from www.rs-met.com wrote:whe i say 'filter sweep', i mean a filter that changes cutoff frequency through time - regardless whether this sweep is created manually by tweaking the cutoff knob or imposed by an envelope. the sample i'm talking about is here:antto wrote:Robin: "filter sweep" ???
i was talking about the filter envelope curve, this graphic you posted is probably something else, it's different
http://www.audiorealism.se/abl/abl2_announcement.htm
the link 'Sliding' under 'Original Hardware', and the filename is 'orig_slide.wav' - although primarily demonstrating slide, there's also a strong (envelope imposed) filter sweep going on as well, with apparently slow decay time, so the shape is observable at a rather good time-resolution
btw.: there are also theoretical reasons that would support an exponentially decaying shape - analog envelope generators are typically realized with RC-circuits, which sport exactly that type of shape
i just saw it
ok, i see now why you still think it's a simple exponent, because the sample is at 44100, but Cutoff & Envmod are 100% and you can't see where the peak of the curve is (at around 28KHz)
never mind that, but at least notice (on the sonogram) that when the note starts, you can't see the resonant peak immediately, but after a while, falling down from 22050Hz, there is your evidence
just look at my sample, and you'll see the sharp peak in the begining of the curve!
and btw, i won't tell that a filter sweep, that's just envelope modulation ;]
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!
irc.libera.chat >>> #kvr
..as long as it has BASS and it's LOUD!
irc.libera.chat >>> #kvr
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- Topic Starter
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
hi and much thanks for the sample. currently i'm looking at the sonogram. i will pick one nice sweep out of it (and yes, i keep calling it a 'sweep') and try to fit an exponential and come back with my results later this evening.antto wrote: i just saw it
ok, i see now why you still think it's a simple exponent, because the sample is at 44100, but Cutoff & Envmod are 100% and you can't see where the peak of the curve is (at around 28KHz)
never mind that, but at least notice (on the sonogram) that when the note starts, you can't see the resonant peak immediately, but after a while, falling down from 22050Hz, there is your evidence
just look at my sample, and you'll see the sharp peak in the begining of the curve!
and btw, i won't tell that a filter sweep, that's just envelope modulation ;]
really a good sample! that's exactly what we need!
- KVRAF
- 2569 posts since 4 Sep, 2006 from 127.0.0.1
absolutelymistertoast wrote:I think we should use the correct curves for the filter sweep and slide, whatever they are, even if they have to come out of a lookup table.
I'd guess that a lot of the character of the 303 is in those curves.
in my experience, the most important things you gotta get right are:
the sequencer behaviour
the curves (envelope, slide)
the knob ranges
the filter resonance level over the frequency range (then even a moog filter will work, probably a dumb-old-StateVariable too)
the waveforms
the accents ;]
i still think that the sequencer is one of the first things you gotta have (so you can tweak the rest of the synth to respond to it in the right way)
tho, Robin has different point of view here, hope he changes his mind (it's harder otherwise)
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!
irc.libera.chat >>> #kvr
..as long as it has BASS and it's LOUD!
irc.libera.chat >>> #kvr
-
- KVRAF
- 3404 posts since 15 Sep, 2002
In the synth I'm working on, I just have the sequences hard-coded with note, accent, and slide. Don't really need an interface at first.
Speaking of knobs, you gave a cheat sheet with ranges for 0% and 100% positions for two knobs, but nothing about any in-between values. Are those knobs linear?
Speaking of knobs, you gave a cheat sheet with ranges for 0% and 100% positions for two knobs, but nothing about any in-between values. Are those knobs linear?
Swing is the difference between a drum machine and a sex machine.
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- Topic Starter
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
i'll probably do a sequencer when i come up with a JUCE based GUI. however - all that GUI code will then be heavily intertwined with my libraries/framework so it won't be easily possible to make it open source anymore. however, i will keep the DSP-core together with the GUI-less VST implementation open source, then.antto wrote:i still think that the sequencer is one of the first things you gotta have (so you can tweak the rest of the synth to respond to it in the right way) tho, Robin has different point of view here, hope he changes his mind (it's harder otherwise)
- KVRAF
- 2569 posts since 4 Sep, 2006 from 127.0.0.1
well, not exactly
some knobs could be linear, others might be exponential, or logarithmic or something
but if you match the end-points (which values i have given) you can later tweak the response if you want/need
in my synth, i did it simple, all knobs (Cutoff, Reso, Envmod, Accent, Decay..) are with the range of 0..1
for example, the Cutoff and Envmod knobs..
i got a very messy circuit that takes the values of these two knobs, and (via a messy formula + coefficients) auto-tweaks the cutoff frequency to the filter (in Hz now) and the envelope scaling (which is added to the cutoff too)
i'm quite sure that (for example) if i set Cutoff and Envmod to 0.5 (or 50%) it wouldn't match a TB-303 exactly at the same knob values, tho, with a little tweak, it will do so, closely ;]
i really need a TB-303 here in my hands to achieve this..
some knobs could be linear, others might be exponential, or logarithmic or something
but if you match the end-points (which values i have given) you can later tweak the response if you want/need
in my synth, i did it simple, all knobs (Cutoff, Reso, Envmod, Accent, Decay..) are with the range of 0..1
for example, the Cutoff and Envmod knobs..
i got a very messy circuit that takes the values of these two knobs, and (via a messy formula + coefficients) auto-tweaks the cutoff frequency to the filter (in Hz now) and the envelope scaling (which is added to the cutoff too)
i'm quite sure that (for example) if i set Cutoff and Envmod to 0.5 (or 50%) it wouldn't match a TB-303 exactly at the same knob values, tho, with a little tweak, it will do so, closely ;]
i really need a TB-303 here in my hands to achieve this..
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!
irc.libera.chat >>> #kvr
..as long as it has BASS and it's LOUD!
irc.libera.chat >>> #kvr
-
- KVRist
- 77 posts since 18 Nov, 2007 from Estonia
+1. that's exactly what it does. tho i think it's called exponential decay - achievable with a simple low-pass filter.Kriminal wrote:isnt that what a logarithmic curve does?antto wrote:
you know, some say "logarithmic envelope" or "exponential" or "linear"
this is exactly the same, only it doesn't seem to be any of these
in other words, if you look how the cutoff (with a lot of resonance) travels on the FFT (when you're looking at a TB-303 sample) you'll see that it is not linear, it falls down fast in the begining, then slower and slower
-
- KVRAF
- 3404 posts since 15 Sep, 2002
But of course you can have something that falls quickly and then more slowly without it precisely matching an exponential decay.
Swing is the difference between a drum machine and a sex machine.
-
- KVRian
- 1153 posts since 10 Dec, 2003
It's also worth remembering that FFTs map frequency linearly**, so a linear envelope controling a filter who's cutoff is V/Oct, will look like an exponential decay in a sonogram. Because a V/Oct input will exponentialy map the envelope to the cuttoff.
IE. It's not just the envelope shape, but how the circuit maps the control voltage to the cuttoff frequency.
Edit: **Unless you have your FFT set to logarithmic display...
IE. It's not just the envelope shape, but how the circuit maps the control voltage to the cuttoff frequency.
Edit: **Unless you have your FFT set to logarithmic display...
- KVRAF
- 2569 posts since 4 Sep, 2006 from 127.0.0.1
i know what you mean here pretty wellnollock wrote:It's also worth remembering that FFTs map frequency linearly**, so a linear envelope controling a filter who's cutoff is V/Oct, will look like an exponential decay in a sonogram. Because a V/Oct input will exponentialy map the envelope to the cuttoff.
IE. It's not just the envelope shape, but how the circuit maps the control voltage to the cuttoff frequency.
Edit: **Unless you have your FFT set to logarithmic display...
the case is not like that - look at the sample (left channel)
PS: my FFT (sonogram) is linear
my filter has a 1V/KHz response
both waveforms look the same on the FFT (mine, and the original)
so, i'm right ;]
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!
irc.libera.chat >>> #kvr
..as long as it has BASS and it's LOUD!
irc.libera.chat >>> #kvr
- KVRAF
- 2569 posts since 4 Sep, 2006 from 127.0.0.1
ok, try to approximate the curve i posted by any exponent or log() or simple low/high-pass filterkunn wrote:+1. that's exactly what it does. tho i think it's called exponential decay - achievable with a simple low-pass filter.
..i couldn't, maybe i didn't try hard enough
EDIT: erm, i tryied the "accumulator" thing, not a real HP Filter (tho, it should work the same i guess)
i still think the curve is pretty damn specific
you gotta get a real close approximitation, or else - it'll fail ;]
Last edited by antto on Mon Sep 14, 2009 6:44 pm, edited 1 time in total.
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!
irc.libera.chat >>> #kvr
..as long as it has BASS and it's LOUD!
irc.libera.chat >>> #kvr
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- Topic Starter
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
i did. here is the best exponential fit, i could find:Robin from www.rs-met.com wrote: i will pick one nice sweep out of it (and yes, i keep calling it a 'sweep') and try to fit an exponential and come back with my results later this evening.

and as we see, the real curve falls of more quickly in the first part and more slowly in the second. ...soo i tried something else: a weighted sum between an exponential decay and the same exponential decay cubed. by tweaking the weights, i could get much more closely to the data:

the weights are 0.56 for the normal exponential and 1-0.56=0.44 for the cubed exponential.
Last edited by Music Engineer on Mon Sep 14, 2009 6:53 pm, edited 1 time in total.
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- Topic Starter
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
could it be that the standard RC envelope goes through some nonlinearity with a cubic component in the original circuit?
