| Hi Csounders...
I´m posting this to try to get some help... I´m making a sort of TB-303
emulator but is doesn´t sound that great by now. I cannot improve it
without reliable docs, and relying only in sound samples and some good
commercial emulators like Rebirth.
Like that one from Hans Mikelson, I´ve not implemented the accent
feature and the slide-legato mode... but it would´t be too difficult...
So you can test my instrument and make suggestions to improve the code.
I don´t matter if this envelope goes here or there, the point is to
emulate the sound...not the "model".
Please email me for any good idea... Tnx
Josep Mª Comajuncosas
gelida@lix.intercom.es
;ORC
sr = 44100
kr = 44100
ksmps = 1
instr 1 ; TB-303 emulator
; init variables
ibpm = p12; beats per minute (not bars)
ieventdur = 60/ibpm
inotedur = .8*ieventdur
icount init 0
imaxfreq = 2000
ipitch table 0,3
ipitch = cpspch(6+.01*ipitch)
afeed init 0
; twisting the knobs ...
;kcutoff randi .5, .9 , .32
;kcutoff = .5+kcutoff
;kres randi .5, .8, .62
;kres = .5+kres
;kenvmod randi .45, 1, .49
;kenvmod = .55 + kenvmod
;kdecay randi .5, .5, .33
;kdecay = .5+kdecay
; from the score
kcutoff line p4, p3, p5
kres line p6, p3, p7
kenvmod line p8, p3, p9
kdecay line p10, p3, p11
start:
ippitch = ipitch
ipitch table ftlen(3)*frac(icount/ftlen(3)),3
ipitch = cpspch(6 + .01*ipitch)
icount = icount + 1
iremaining = icount*ieventdur/p3
print ipitch, iremaining
; two envelopes & pitch with portamento
kmeg expseg .00001, .004, 1, .2 + 1.8*i(kdecay)- .016, .00001+i(kdecay),
.016, .00001
kveg linseg 0,.004, 1 ,inotedur - .02, 1, .016,0
kpitch linseg ippitch, .06, ipitch
; reinit code
timout 0, ieventdur , contin
reinit start
contin:
; amplitude envelope & generate bandlimited ~sawtooth wave
kamp = kveg*(1.1-kenvmod) + kmeg* (kenvmod)
knharm = int (imaxfreq/kpitch)
abuzz buzz 1000*kamp, kpitch, knharm, 1 ,0
abuzz2 gbuzz 700*kamp, kpitch, int(7000/kpitch)-knharm, knharm, .7 , 1,
0
abuzz = abuzz + abuzz2
asaw integ abuzz,0
; filter envelope & "4 pole" resonant lowpass filter
ksweep = kveg * imaxfreq + kmeg * kenvmod * 5000
kcutoff = 20 + kcutoff * ksweep
afilt = asaw - afeed; feedback for resonance
atone1 tone afilt , kcutoff , 0
atone2 tone atone1 , kcutoff , 0
atone3 tone atone2 , kcutoff , 0
atone4 tone atone3 , kcutoff , 0
afeed = 4 * kres * atone4
; output (mono, of course!)
aout atone atone4,10 ; some DC removal
out aout
endin
;SCO
f1 0 16384 10 1
f2 0 1025 19 .5 .5 270 .5
f3 0 16 -2 0 12 0 0 3 0 0 0 0 15 12 0 6 15 1 4; sequencer (pitches
are 6.00 + p/100)
;------------ KNOB POSITION : INITIAL AND FINAL VALUES FROM 0 TO
1------------
; cutoff freq resonance envelope mod. decay
; 0 - 1 0 ~ 1 ~ .1 - 1 0 - 1
; start end st end st end st end
i1 0 6 0 .3 .4 .4 .4 .4 .95 .95 240
i1 7 6 .95 .95 0 1 .95 .95 1 0 180
i1 14 6 0 1 0 1 .1 1 .05 .05 60
i1 21 6 .5 .5 .95 .95 .1 1 0 0 168
;------------------------------END OF
SCORE-----------------------------------
e
Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa03175;
23 Oct 97 23:42 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa18260;
23 Oct 97 23:42 BST
Received: (qmail 19781 invoked from network); 23 Oct 1997 22:42:42 -0000
Received: from hermes.ex.ac.uk (144.173.6.14)
by pat.bath.ac.uk with SMTP; 23 Oct 1997 22:42:42 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (XAA23773); Thu, 23 Oct 1997 23:25:08 +0100
Received: from hermes.ex.ac.uk by maths.exeter.ac.uk; Thu, 23 Oct 97 23:24:50 +0100
Received: from ella.mills.edu [144.91.3.20] by hermes via SMTP (XAA19222); Thu, 23 Oct 1997 23:24:43 +0100
Received: (qmail 26804 invoked by uid 3049); 23 Oct 1997 15:26:15 -0700
Message-Id: <19971023222615.26802.qmail@ella.mills.edu>
From: David Madole
Subject: Revised 3.47 PPC perf Beta at Mills ftp
To: csound-list , ccm@ella.mills.edu
Date: Thu, 23 Oct 1997 15:26:15 -0700 (PDT)
Reply-To: madole@mills.edu
X-Mailer: ELM [version 2.4 PL24]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Hi PowerMac Csounders,
I have put a revised 3.47 perf beta on the Mills ftp site (for
PowerMac). It includes most of the new 3.47 opcodes (see jpff's and
rcb's recently posted release notes), apparently vastly improves the
phase vocoder, etc. The only new opcodes that haven't been
incorporated are the MIDI out opcodes. I'd like to thank rcb's crew at
Berklee for slogging (and crashing) through the original beta for the
last couple of weeks and for their bug reports. I especially like (the
looks of) the new generalized filter opcodes, by the way.
This is a *BETA* though, and I assume I still haven't heard the last of
the code changes from jpff, so treat it as such, but tests & feedback
especially about the new stuff would be appreciated. There will surely
be another release soon.
You still must remove old "perf"s from your system to run this one. If
you are ResEdit (or Resorcerer) savvy, you can change the old perf's
owner to something other than "pErF" (in file info) and then the Front
End will find this beta instead.
This beta is configured to run in a 4 Meg partition. Use Get Info to
make it smaller if you want to.
The file is:
perf3.47(beta).hqx
at mills.edu in pub/ccm/csound.ppc
The banner in the text window should read version 0.3.4b2.
Dave
REMINDER: For those of you using the current Mills release, make sure
you have the fixed perf (perf.ppc.fix.hqx). Otherwise your perf will
go away if you have "+"s in your score.
Dave Madole
Technical Director, Center for Contemporary Music
Listserv Administrator
Mills College
Oakland, CA 94613
510-430-2336
madole@mills.edu
Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa03442;
24 Oct 97 2:16 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa20986;
24 Oct 97 2:16 BST
Received: (qmail 27892 invoked from network); 24 Oct 1997 01:16:47 -0000
Received: from eos.arc.nasa.gov (128.102.118.20)
by pat.bath.ac.uk with SMTP; 24 Oct 1997 01:16:47 -0000
Received: (from jims@localhost)
by eos.arc.nasa.gov (8.8.4/8.8.4)
id SAA08268; Thu, 23 Oct 1997 18:15:27 -0700
Date: Thu, 23 Oct 1997 18:15:27 -0700
From: "Jim Stevenson Ph.D"
Message-Id: <199710240115.SAA08268@eos.arc.nasa.gov>
To: lwyse@iss.nus.sg, rwd@pact.srf.ac.uk
Subject: Re: physical modelling in csound
Cc: csound@noether.ex.AC.UK, jpff@maths.bath.ac.uk
I am looking for examples of p m, implemented in csound.
Thanks.
Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa03479;
24 Oct 97 2:32 BST
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa21227;
24 Oct 97 2:32 BST
Received: (qmail 28371 invoked from network); 24 Oct 1997 01:32:02 -0000
Received: from hermes.ex.ac.uk (144.173.6.14)
by pat.bath.ac.uk with SMTP; 24 Oct 1997 01:32:02 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (CAA09150); Fri, 24 Oct 1997 02:13:46 +0100
Received: from hermes.ex.ac.uk by maths.exeter.ac.uk; Fri, 24 Oct 97 02:13:28 +0100
Received: from eos.arc.nasa.gov [128.102.118.20] by hermes via ESMTP (CAA03753); Fri, 24 Oct 1997 02:13:21 +0100
Received: (from jims@localhost)
by eos.arc.nasa.gov (8.8.4/8.8.4)
id SAA08268; Thu, 23 Oct 1997 18:15:27 -0700
Date: Thu, 23 Oct 1997 18:15:27 -0700
From: "Jim Stevenson Ph.D"
Message-Id: <199710240115.SAA08268@eos.arc.nasa.gov>
To: lwyse@iss.nus.sg, rwd@pact.srf.ac.uk
Subject: Re: physical modelling in csound
Cc: csound@maths.ex.ac.uk, jpff@maths.bath.ac.uk
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
I am looking for examples of p m, implemented in csound.
Thanks.
|