At the risk of further perpetuating the chat like nature of this thread, what do you work with as a daytime job anyway? Just curious.thanks, unfortunately, today was the last day of my "vacation" i'm back to my daytime job tomorrow, and progress falls to "positive denormal
Open303 - open source 303 emulation project - collaborators wanted
-
- KVRist
- 445 posts since 10 Jun, 2004
- KVRAF
- 2569 posts since 4 Sep, 2006 from 127.0.0.1
storage worker, foods & drinks.. not really exciting ;]
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
well, i'm messing with the filter (kunn's ladder)
the original coefficients he gave were kinda few, and my approximitation was probably poor in some places (especialy the K coefficient)
now.. i've probably mentioned that i had a little program i wrote that runs a filter with specific parameters and "finds" the coefficients (in iterations..)
that's how i found the coefficients for my old BP-feedback filter in the first place
now i'm doing the same thing with kunn's ladder and i'll hopefully have new coefficients + better approximitation
one more thing, i'm mapping the K coefficient against the a0, instead of the omega..
so that the K value will depend on the a0 location
the original tuning (a0) is very good, but i'll try to get the coefficients for it too, just in case ;]
the original coefficients he gave were kinda few, and my approximitation was probably poor in some places (especialy the K coefficient)
now.. i've probably mentioned that i had a little program i wrote that runs a filter with specific parameters and "finds" the coefficients (in iterations..)
that's how i found the coefficients for my old BP-feedback filter in the first place
now i'm doing the same thing with kunn's ladder and i'll hopefully have new coefficients + better approximitation
one more thing, i'm mapping the K coefficient against the a0, instead of the omega..
so that the K value will depend on the a0 location
the original tuning (a0) is very good, but i'll try to get the coefficients for it too, just in case ;]
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
- 3676 posts since 13 Jun, 2004
no idea what it's sounding like now..i was messing around with
the beta2-did i say this already?- and found the volume dropping off
a lot when the filter is opened up by cutoff or envmod; check it out,
sure you can sort it; is this what you're referring to?
the beta2-did i say this already?- and found the volume dropping off
a lot when the filter is opened up by cutoff or envmod; check it out,
sure you can sort it; is this what you're referring to?
- KVRAF
- 2569 posts since 4 Sep, 2006 from 127.0.0.1
no
volume dropping off.. i guess you mean when resonance is high?
this is the normal behaviour of the TB-303 filter.. it uses negative feedback
EDIT:
pretty accurately approximated the K coefficient of kunn's ladder filter between the range of 0 to 0.125 (omega) .. this maps to 4x oversampling..
k = 0.345587968 / (0.020328704 + -0.041051468 * a0 + -0.016805597 * a0 * a0);
reciprocal quadratic
starts off at 17
next: i might run the same algo but this time up to 0.25 omega (to check if the approximitation still works for 2x oversampling)
and i'll also try to figure a smart algo that'll analyze the actuall cutoff frequency at a specific resonance value (say, reso=1.0) and use that to fine-tune the a0, then everything will be nice ;]
volume dropping off.. i guess you mean when resonance is high?
this is the normal behaviour of the TB-303 filter.. it uses negative feedback
EDIT:
pretty accurately approximated the K coefficient of kunn's ladder filter between the range of 0 to 0.125 (omega) .. this maps to 4x oversampling..
k = 0.345587968 / (0.020328704 + -0.041051468 * a0 + -0.016805597 * a0 * a0);
reciprocal quadratic
starts off at 17
next: i might run the same algo but this time up to 0.25 omega (to check if the approximitation still works for 2x oversampling)
and i'll also try to figure a smart algo that'll analyze the actuall cutoff frequency at a specific resonance value (say, reso=1.0) and use that to fine-tune the a0, then everything will be nice ;]
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
yo, after changing that algo a bunch of times - i got very accurate measurements of the feedback level across the a0 paramterer which maps to (approximately) omega 0 to 0.25 (equivalent of 2x oversampling)
got inspired by the Binary Search algorithm (a guy mentioned it a while ago) and i implemented something that works in a similar way, but with the filter (instead of a sorted list of ints..)
and it's more, a lot more efficient now
i used an impulse as input for the filter, and i measured the "avg" output level, the duration of each test depends on the input frequency (like i'm capturing N cycles of an osc runing at X Hz)
so everything was fair and the resulting curve looks reasonable, and i found a nice approximitation for it:
k = 0.446671158 * (1.0 + a0 * 2.1717123) / (0.026274774 + -0.12935774 * a0 * a0);
i can post the data itself if someone's interested, just shout (it's longish)
next stop is frequency tuning ;]
got inspired by the Binary Search algorithm (a guy mentioned it a while ago) and i implemented something that works in a similar way, but with the filter (instead of a sorted list of ints..)
and it's more, a lot more efficient now
i used an impulse as input for the filter, and i measured the "avg" output level, the duration of each test depends on the input frequency (like i'm capturing N cycles of an osc runing at X Hz)
so everything was fair and the resulting curve looks reasonable, and i found a nice approximitation for it:
k = 0.446671158 * (1.0 + a0 * 2.1717123) / (0.026274774 + -0.12935774 * a0 * a0);
i can post the data itself if someone's interested, just shout (it's longish)
next stop is frequency tuning ;]
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
- 3676 posts since 13 Jun, 2004
yeah sorry, volume dropping off with resonance. so that's the original
behaviour? ok, didn't know that. seems sort of odd to lose that much
'volume' there, but if that's how it is..
can you explain negative feedback, is it what robin whittle describes
in that accent sweep article?
behaviour? ok, didn't know that. seems sort of odd to lose that much
'volume' there, but if that's how it is..
can you explain negative feedback, is it what robin whittle describes
in that accent sweep article?
- KVRAF
- 2569 posts since 4 Sep, 2006 from 127.0.0.1
his articles are old, and some of the statements are just wrong there..
anyway
the 303 filter, like the moog filter uses negative feedback to make resonance
the moog filter needs 4 times feedback to go into selfoscillation, while the 303 filter needs 17
the moog filter also gets quieter when resonance is increased (because it's negative) but it's less noticable (only 4 times)
accent sweep is a different story
and i strongly dissagree with Robin Whittle about "accent adding more resonance"
i never observed that, it's just that the cutoff goes higher at accented notes, and the 303 filter has more resonance on higher frequencies (and that doesn't depend on the accent at all)
so, if you look at the resonant waves over the waveform, they *might* look like higher on the scope, and this is due to the higher cutoff frequency, AND the VCA being almost as twice as loud then
no ghosts, no magic there, no resonance magic during accents
the magic is in the cutoff curve
anyway
the 303 filter, like the moog filter uses negative feedback to make resonance
the moog filter needs 4 times feedback to go into selfoscillation, while the 303 filter needs 17
the moog filter also gets quieter when resonance is increased (because it's negative) but it's less noticable (only 4 times)
accent sweep is a different story
and i strongly dissagree with Robin Whittle about "accent adding more resonance"
i never observed that, it's just that the cutoff goes higher at accented notes, and the 303 filter has more resonance on higher frequencies (and that doesn't depend on the accent at all)
so, if you look at the resonant waves over the waveform, they *might* look like higher on the scope, and this is due to the higher cutoff frequency, AND the VCA being almost as twice as loud then
no ghosts, no magic there, no resonance magic during accents
the magic is in the cutoff curve
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
- 12615 posts since 7 Dec, 2004
the resonance control does directly affect the ratio between filtered and unfiltered accent pulse, though
pretty much this:
smoothed = fraction * follower(accent, attack, decay)
cutoff += lerp(accent, smoothed, resonance)
unfortunately it's a complex system where resonance also affects the attack and release time, and the fraction!
pretty much this:
smoothed = fraction * follower(accent, attack, decay)
cutoff += lerp(accent, smoothed, resonance)
unfortunately it's a complex system where resonance also affects the attack and release time, and the fraction!
- KVRAF
- 2569 posts since 4 Sep, 2006 from 127.0.0.1
aciddose: yeas, my model looks very similar too
that's the gimmick circuit
but still, accent doesn't change the feedback level of the filter..
that's the gimmick circuit
but still, accent doesn't change the feedback level of the filter..
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
fx = Fc/Fs * sqrt(2.0);antto wrote: ...
k = 0.446671158 * (1.0 + a0 * 2.1717123) / (0.026274774 + -0.12935774 * a0 * a0);
...
a0 = (fx * M_PI) / (1.0 + fx * 5.6147717 + fx * fx * 2.7919823);
i used a single impulse fed to the filter and counted the zerocrossings for a long time, then calculated the avg pitch of the resonance.. then i saved the detected pitch and the corresponding a0 value to make the approximitation..
tho, something is bothering me, i will try to detect the pitch in another way
maybe feeding a sine wave with the desired frequency, and testing the filter at slightly different cutoff freqs (random) to see where it gives highest amplitudes.. the results will be noisy, but i can then tighten the random range more and more after each test..
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
- 3676 posts since 13 Jun, 2004
- KVRAF
- 2569 posts since 4 Sep, 2006 from 127.0.0.1
mztk: it exploded, probably the filters, my DAW was set to 192KHz sampling rate
it worked under 44100
it worked under 44100
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
- 3676 posts since 13 Jun, 2004
lol
oh dear...
still not too sure about the sample rate setting on SE. maybe i'm
drafting them at wrong rate...what is the setting i should use, for
general purpose? i'm just doing things at 16bit/44.1khz atm, can't be
bothered with 24/96 files for now.
btw, have you seen grymmjack's skin for silverbox?
have something quite similar going;
sequencer, with randomizer, still haven't done the gate lengths,
accents or slides.
( was thinking, off, short, med?, and full 16th, but no idea of times/rates yet, slides separate, on/off) getting quite tired actually. full credit to ya.
oh dear...
still not too sure about the sample rate setting on SE. maybe i'm
drafting them at wrong rate...what is the setting i should use, for
general purpose? i'm just doing things at 16bit/44.1khz atm, can't be
bothered with 24/96 files for now.
btw, have you seen grymmjack's skin for silverbox?
have something quite similar going;
sequencer, with randomizer, still haven't done the gate lengths,
accents or slides.
( was thinking, off, short, med?, and full 16th, but no idea of times/rates yet, slides separate, on/off) getting quite tired actually. full credit to ya.
Last edited by mztk on Wed Apr 21, 2010 8:31 pm, edited 1 time in total.
