Open303 - open source 303 emulation project - collaborators wanted

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS
JC-303

Post

not sure, i'm talking about adding a 1 pole Lowpass filter inside the OSC
when the waveform is Square, i use the Saw waveform twice, you know..
the only new thing now is that filter there, i filter the negative saw to smooth out the peak, so the filter won't get too excitet at higher cutoffs
it seems it's kind-of-like-that, but not exactly
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!

irc.libera.chat >>> #kvr

Post

antto wrote:not sure, i'm talking about adding a 1 pole Lowpass filter inside the OSC
when the waveform is Square, i use the Saw waveform twice, you know..
the only new thing now is that filter there, i filter the negative saw to smooth out the peak, so the filter won't get too excitet at higher cutoffs
it seems it's kind-of-like-that, but not exactly
It maybe that the circuit/transitor used to create the square way has a lower slew rate in one direction. That would explain why you get more visual ringing effect on one side of the square. Cause one edge of square is real sharp the other is a bit slanted.

Other than trying higher order filters you could just have two separate sawtooth wavetables, (iirc you're using wavetables). That way you could have more control over how you adjust the shape of the negative saw.

Post

i've been tinkering with this this stuff for a couple of hours as well. maybe this could also be related to the observation that, without any resonance, the negative half-wave has higher a higher (absolute) peak amplitude. i could re-create this 'artifact' by distorting one halfwave of the square into something between saw and square. i need to investigate that further,

it would be really cool if someone could provide a sample of the raw oscillator signal from a 303. i think one of the modifications allows to grab the raw osc-signal (but it's not the devilfish one)
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

I just tried turning resonance to 0 for half the phase

Code: Select all

if (phase>0.5) {
  q=0.f;
}
I realized I'm setting Q and Cut every sub-sample anyway, so why not? Nothing horrible happening. My synth seems to sound more angry (which is good), but I haven't taken a super-close look at the results yet. I'll investigate more.

Kind of cool knowing that this can happen somewhere in the middle of a sample (since I oversample 8x) and actually have some affect on the output.

Waveform looks funny half-rez'd. :-)

Looking at this, I don't think I want to just turn Q on and off. Looks like rez gradually starts large and gets smaller. (Top is real 303, bottom is some guy's CSOUND version.)

http://www.csounds.com/ezine/spring2000 ... veform.jpg
Swing is the difference between a drum machine and a sex machine.

Post

nah, tweaking the resonance level for the second half of the waveform (where the negative peak is) is bad, since the filter would turn get back to it's big gain (resonance > gain-loss, no resonance > big-gain)

i can try the different wavetable for the negative saw, would be like filtering with a high-order LP filter, btw, i can do this really easy, i'll just lookup in my original Saw wavetable, but telling it that my omega is higher

Code: Select all

        *out1 = x = 0.5f * (pwform->get(pd2,omega) - pwform->get(pd3,omega*2.f));
omega is the actual frequency against the original sampling rate (osc_freq/sampling_rate)
pd2 and pd3 are the phases where i actually read from the table
my class (wform) uses this omega parameter, to select from which table to get the sample
i can fool it, that my second saw is runing twice as higher, it'll return the saw from a higher table, where it has less harmonics
seems, my crappy waveform class isn't so crappy some times ;]

Robin: if someone can "hack-in" to a 303 to get the signal of the oscillator, it's really important to know where exactly he gets that signal from

also, he'd better record at some real freakin' high sampling rate, and hopefuly his A/D convertors are good ;]

there is something freaky going on there

btw, yesterday, i was tweaking my PW + the frequency of the HP filter on the negative saw, watching on a FFT (um, not a sonogram, actually VoxengoSPAN)
i used rv0's sample of the slides (no reso, high cutoff+envmod, square)
i looped the first 4 steps (each playing the same note)
as i tweak my synth against that, i can really get the curve to match the original, i'm talking about real close match here
i'll need to put some of the hidden knobs in my synth on the panel for a while now (so i can tweak em in the DAW)
since i need to tweak the HP filter on the main filter too
the square starts to sound/look like the original

gonna report if any good results come out of this (i believe so)
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!

irc.libera.chat >>> #kvr

Post

nah, tweaking the resonance level for the second half of the waveform (where the negative peak is) is bad, since the filter would turn get back to it's big gain (resonance > gain-loss, no resonance > big-gain)
I can't quite figure out what you said there.
Swing is the difference between a drum machine and a sex machine.

Post

yeah, you're right, it's 07:00 and i'm still having my first coffee
i think you mentioned tweaking the main filter's resonance level for when the oscillator cycle is > 0.5 (where the negative peak of the square appears)
if that's so, then i think it won't work
the original 303 filter has gain-loss when resonance is introduced, if you turn the resonance down, your waveform will appear much louder (because with resonance it was quieter)
looking at the original square, there doesn't seem to be any resonance changes like that
only thing that i still suspect is maybe some strange DC offset being added to the square wave, so the main-filter's internal nonlinearities might be clipping the negative peak, and thuss killing the resonance there (since otherwise both positive and negative peaks look sharp)
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!

irc.libera.chat >>> #kvr

Post

Interesting. I now slide the resonance down during the cycle. It may not be what the 303 does, but it's pretty cool.
Swing is the difference between a drum machine and a sex machine.

Post

antto wrote: Robin: if someone can "hack-in" to a 303 to get the signal of the oscillator, it's really important to know where exactly he gets that signal from

also, he'd better record at some real freakin' high sampling rate, and hopefuly his A/D convertors are good ;]

there is something freaky going on there
i found it - it's the borg modification that allows to pick up the VCO signal directly:

http://www.users.globalnet.co.uk/~concuss/borg.htm

i'll need to put some of the hidden knobs in my synth on the panel for a while now (so i can tweak em in the DAW)
since i need to tweak the HP filter on the main filter too
the square starts to sound/look like the original

gonna report if any good results come out of this (i believe so)
i have an idea: i just grabbed pd (pure data) and i think it would be a good idea to make a reference implementation of the whole dsp process there. i'm not yet familiar with it, but will look into it right now. this will hopefully make it easier to tweak the algos and share the results.
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

i think this could explain the behavior:

Code: Select all

|      /|    |    /  |
|     / |    |   |   |
|    /  |    |   |   |
|   /   | => |   |   |
|  /    |    |   |   |
| /     |    |   |   |
|/      |    |__/    |
tanh(x*saw)
Last edited by kunn on Fri Sep 18, 2009 11:31 am, edited 2 times in total.

Post

kunn wrote:i think this could explain the behavior:

Code: Select all

|      /|    |    /  |
|     / |    |   |   |
|    /  |    |   |   |
|   /   | => |   |   |
|  /    |    |   |   |
| /     |    |   |   |
|/      |    |__/    |
Wouldn't that be very similar to amplifying the sawtooth signal to shizzle and then clip it?

Post

i found it - it's the borg modification that allows to pick up the VCO signal directly:
..and you can also use it to pass external signals through the filter, as I said about a week ago in this very thread :D

My 303 also has a kenton retrofit, and we rewired a bunch of the kenton sockets to the filter input and oscillator outputs so as not to have wires hanging out of the 303. I used it extensively when developing Tau Bassline MkII. More power to your elbows, I can't wait to see what you come up with between you.

Kind regards
Dave Waugh
http://www.muon-software.com
http://muonsoftware.blogspot.com

PS - while I'm here (and not wishing to sidetrack this fascinating discussion) any chance you could fix your wonderful signal analyser plugin? when I change sample rates, I don't see the spectrum display's X-axis labels changing and its doing my head in today :lol:

Post

brambos wrote: Wouldn't that be very similar to amplifying the sawtooth signal to shizzle and then clip it?
yes. i edited my post.

Post

brambos wrote:
kunn wrote:i think this could explain the behavior:

Code: Select all

|      /|    |    /  |
|     / |    |   |   |
|    /  |    |   |   |
|   /   | => |   |   |
|  /    |    |   |   |
| /     |    |   |   |
|/      |    |__/    |
Wouldn't that be very similar to amplifying the sawtooth signal to shizzle and then clip it?
Wouldn't that be very similar to how most analog synths produce their square (and pulse) waveforms?

Post

antto wrote: Robin: if someone can "hack-in" to a 303 to get the signal of the oscillator, it's really important to know where exactly he gets that signal from

also, he'd better record at some real freakin' high sampling rate, and hopefuly his A/D convertors are good ;]

there is something freaky going on there

I don't really understand what you guys are talking about ( :hihi: )

But if you can reformulate that question clearly, I sure can find out how it works, I know someone who has the schematics on his wall, he knows exactly what is going on in there. He's too busy to help out here, but a small, clear question won't hurt.

Post Reply

Return to “DSP and Plugin Development”