Open303 - open source 303 emulation project - collaborators wanted

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

Post

Perhaps when you suggested braindoc wasn't posting anymore because of antto's postings...
Who is braindoc?
Then you went on into what appears to be to me an endlessly repeated and rather agressive patronizing rant directed towards him, blaming him over and over for not contributing code and occupying the space for his own sole personal profit.
If that's how it came across, then I'm sorry. My intention was to move the open-source project forward only for the reasons I believe I have clearly stated. I do not understand how anyone could have come to these conclusions from my posts.
Then when you begun to mention you were employing people and that you wouldn't employ him I felt you had lost the plot completely as we are in an open-source project thread after all
Again - surely a misunderstanding of what was actually written?

I am truly amazed at the conclusions being drawn from my posts :o

Post

Muon Software Ltd wrote:
Perhaps when you suggested braindoc wasn't posting anymore because of antto's postings...
Who is braindoc?
Robin was previously known as braindoc on these forums. Hopefully he will be back soon then we can get a few decisions sorted out and get this project moving :)

Post

jonnyG wrote: 2) The internet is full of misinformation and opinion dressed up as fact chuntered out by people who haven't a clue. I lost count of the number of people on the net who regurgitated the same bollocks about 3-pole filters when it's obvious within a second of looking at the schematic that it's a 4-pole filter with one pole an octave above the others.
I believe what is going on here is more misinformation. It indeed does look like a Moog ladder but with careful inspection you'll notice the bases of the transistors are not connected to a common reference voltage. This changes (more or less) everything.

I'm no expert in electronics, so I might not have got this right, but basically in a Moog ladder you got long-tailed pair at the input, which takes the differential voltage between the input and the feedback, and feeds it to the first capacitor. The emitters are connected to a current source, which effectively provides a variable resistance. The rest of the transistor pairs do basically the same, except the differential voltage to their bases is zero (since they are connected to the voltage references), so they really just feed the control current from the previous stage to the next one; the capacitor voltage then controls how much current each transistor gets (for a total of the control current) which means the next stage gets fed with the differential voltage across the capacitor on the previous stage.

So calling the voltages over the capacitors V1..V4 (and control current Ic), you get something like:

dV1/dt = Ic/C1*( tanh(Vin/(2*Vt)) - tanh(V1/(2*Vt)) )
dV2/dt = Ic/C2*( tanh(V1/(2*Vt)) - tanh(V2/(2*Vt)) )
dV3/dt = Ic/C3*( tanh(V2/(2*Vt)) - tanh(V3/(2*Vt)) )
dV4/dt = Ic/C4*( tanh(V3/(2*Vt)) - tanh(V4/(2*Vt)) )

Unless I made a mistake this is more or less exactly from Huovilainen/DAFX04.

However, if the bases of the "buffers" are connected to the next stage instead of the current one, the above no longer holds, because the Vbe voltages are affected by the next stage (and the transistors act like diodes).

Gives essentially I1=Is(e^(Vbe1/Vt)-1) and I2=Is(e^(Vbe2/Vt)-1) for the pair of "diodes" from which we get Vbe1=Vt*ln(I1/Is)+Vt and Vbe2=Vt*ln(I2/Is)+Vt.

Since the voltage difference between emitters is the voltage across the first cap (Vi), and the difference between bases is the voltage across the second cap (Vo), we can have Vi=Vi1-Vi2 and Vo=Vo1-Vo2, Vbe1=Vo1-Vi1, Vbe2=Vo2-Vi2, and Vbe1-Vbe2=Vo1-Vi1-Vo2+Vi2=Vo-Vi. Meanwhile (from the currents):

Vbe1 - Vbe2 = (Vt*ln(I1/Is)+Vt) - (Vt*ln(I2/Is)+Vt)
= Vo - Vi = Vt*(ln(I1/Is) - ln(I2/Is))

Now exponentiating both sides you get:

e^((Vo-Vi)/Vt) = I1/I2

if I1+I2=Ic you get (no idea if this is safe bet):

I1=(Ic*e^((Vo-Vi)/Vt))/(e^((Vo-Vi)/Vt)+1), I2=Ic/(e^((Vo-Vi)/Vt)+1)

and for the "differential current" (urg) I1-I2 = Ic*(e^((Vo-Vi)/Vt)-1)/(e^((Vo-Vi)/Vt)+1)

Note that (e^x-1)/(e^x+1) = tanh(x/2) and hence

I1-I2 = Ic*tanh((Vo-Vi)/(2*Vt))

That is, unlike in the moog ladder case, here the next stage gets fed with the difference between the voltages of the current and the next stage.

So unless I fudged something up (which is definitely possible, if not likely) you could get something like this (give or take a couple of sign inversions):

dV1/dt = Ic/C1*( tanh(Vin/(2*Vt)) - tanh((V1-V2)/(2*Vt)) )
dV2/dt = Ic/C2*( tanh((V1-V2)/(2*Vt)) - tanh((V2-V3)/(2*Vt)) )
dV3/dt = Ic/C3*( tanh((V2-V3)/(2*Vt)) - tanh((V3-V4)/(2*Vt)) )
dV4/dt = Ic/C4*( tanh((V3-V4)/(2*Vt)) - tanh(V4/(2*Vt)) )

There's a lot of assumptions above (some of which are probably totally bogus; like I said I don't know much about EE or do I have such a filter to look at, just going by Wikipedia basically), but point is, I can't find a derivation which would demonstrate that we can treat ladders like these as cascaded one-poles (unless someone can point to a reliable source saying that the schematic is totally wrong and the filter was actually wired as a transistor ladder instead).

Oh and when you find that I made some horrible mistake, please point it out. :)

Post

so, is this thread about an open source project, or is it just the ramblings of anttos about his synth edit stuff? the two are not connected, so im wondering why anttos is posting 30 pages of 'his findings' in a project he has nothing to do with?

anttos already has athread about his stuff doesnt he, why doesnt he post his findings there???

Post

I think antto is just doing a lot of research and analysis in this thread, which in and of itself can be helpful to Robin and whoever else is involved in this project..

Post

rlahalla wrote:I think antto is just doing a lot of research and analysis in this thread, which in and of itself can be helpful to Robin and whoever else is involved in this project..
looks like he is just thinking outloud most of the time...

now of course he will say im attacking him or trying to look cool :roll:

Post

Kriminal wrote:
rlahalla wrote:I think antto is just doing a lot of research and analysis in this thread, which in and of itself can be helpful to Robin and whoever else is involved in this project..
looks like he is just thinking outloud most of the time...

now of course he will say im attacking him or trying to look cool :roll:
Dave, stop with the personal attacks. You know you're just trying to look cool :roll:

Post

Mystran - Is this of any help? dunno if you've seen it already.

http://www.timstinchcombe.co.uk/synth/d ... diode.html

Post

strange people here...

Thinking it loud is a good thing in collaborative projects. I think a lot of people here dare not make any mistakes in public.



anyway...

about my assumptions on how the memory is organised and adressed: WRONG.
i did a whole explanation a few pages ago and just realised i was wrong after copying (accidently) a note sequence from bank 1 to bank 7, something that cant be possible if my explanation was true.... another reason why a wiki would be a good idea.

And now the holy samples (got a bit carried away solo-ing the 303 before I got to entering the patterns)

pattern: (16 steps)

Code: Select all

PM: c(D) d#(D) f(D) g(D)
..: c(-) d#(-) f(-) g(-)
..: c(U) d#(U) f(U) g(U)
..: C(U) c (D) g(-) C(U)
TM: <all G>
And for the sake of the good cause, I have added .txt files with explanation this time.

http://users.pandora.be/darffader/rv0te ... qr.wav.txt
http://users.pandora.be/darffader/rv0test/anttosaw.wav
http://users.pandora.be/darffader/rv0test/anttosqr.wav

I also recorded something extra.. Probably leftover from a last test, but it sounded cool
http://users.pandora.be/darffader/rv0test/extra.wav.txt
http://users.pandora.be/darffader/rv0test/extra.wav


have fun :D

Post

rv0 wrote:strange people here...

Thinking it loud is a good thing in collaborative projects.
collaboration usually means more than one person tho :hihi:



does my bum look cool in this thread?

Post

I doubt Robin will say no one has helped, Kriminal.

But I agree that at some point, there need to be contributions made to the code, or at least the documentation.

I think Dave Muon is talking sense. But I also don't think anything has gone tragically wrong yet.
Swing is the difference between a drum machine and a sex machine.

Post

i agree..

and also:
(wikipedia, http://en.wikipedia.org/wiki/Software_d ... nt_process )

Waterfall processes
The waterfall model shows a process, where developers are to follow these steps in order:

1) Requirements specification (AKA Verification or Analysis)
2) Design
3) Construction (AKA implementation or coding)
4) Integration
5) Testing and debugging (AKA validation)
6) Installation (AKA deployment)
7) Maintenance




This topic started of in step 3, then went back to step 2, then 1, en then back up..
:wink:

Post

Muon Software Ltd wrote:Mystran - Is this of any help? dunno if you've seen it already.

http://www.timstinchcombe.co.uk/synth/d ... diode.html
Yeah ofcourse. It was already mentioned in either this or the 4-pole thread. I have some trouble following the diode part of it (my brain capacity runs out after about 5 independent variables) but I can't seem to find anything that would contradict what I wrote; at least unless I got the very last part wrong (though a discretization of that does work and give approximately the expected results; but that could be just good luck, I guess).

Post

but do we really need another 303 emu :lol: :lol: :lol:

ok, carry on :hihi:

Post

Kriminal wrote:but do we really need another 303 emu :lol: :lol: :lol:
then get out of here?

rv0: thanks, got the samples, will look at them when i get back from work ;]
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!

irc.libera.chat >>> #kvr

Post Reply

Return to “DSP and Plugin Development”