Csound Csound-dev Csound-tekno Search About

Re: if.../ Common Lisp Music / compilers / interpreters

Date1999-03-01 12:44
FromRichard Dobson
SubjectRe: if.../ Common Lisp Music / compilers / interpreters
As far as optimizing goes, it looks as if quite a lot could be
translated almost verbatim from Csound. To cite one example I happen to
have noticed - in saolc 'buzz' is implemented by directly calculating
every partial in a loop, using cos(). Csound uses the closed-form
formula (and a table), which is ovbiously much more efficient.

It looks like saolc does meet most of the requirements expressed on this
list for higher-level constructs; there is also a degree of polymorphism
in user-defined opcodes (itself a very useful feature), and a template
mechanism. The global busses, with their 'route/send' opcodes look like
powerful extensions of the facilities provided by the zak system in
Csound. However, the current implementation of saolc is almost certainly
too slow (and incomplete) to draw composers away from Csound in the
short term. A direct translation program would be very nice, but may not
be practicable, and would in any case only be useful insofar as opcodes
which nominally do the same things, such as buzz, fof, the filters, etc,
do in fact match up sonically. 'Fof' and 'grain' especially have many
more parameters in Csound than do the saolc versions.

So there is arguably a useful degree of overlap of interests between
programmers/users of Csound and saolc. For composers working alone, on a
single workstation, speed and range of facilities are likely to be far
more important than portability under the terms of MPEG-4, so that I can
see two semi-independent streams of development arising - the
'canonical' source under the remit of MP4, which naturally needs to be
carefully (and presumably centrally) managed, and a much more
distributed ad-lib development for composers along the lines of Csound.

I am myself interested in working on saolc (partly because it will also
be relevant to CDP users - especially the imminent enhancements!), on
optimizing, adding support for WAVE and WAVE_EX, and no doubt some WIN32
specific things.

Presumably there are dedicated saolc lists, so the question (apart from:
what are those lists?) is to what extent discussion of saolc is welcome
on this list, or is it too much of a digression off-topic? 


Richard Dobson

Eric Scheirer wrote:

> 'saolc' meets all of your criteria except for real-time.  There is no
> intrinsic reason why saolc couldn't be made real-time; it's just not
> programmed well enough yet.  There's a project going on hosted
> at EPFL (a Swiss university) to replace the saolc core with a
> real-time SAOL synth.  Anyone who wants to help, I'm sure they'd
> be glad for it and I can put you in touch.
> 
[snip]
> 
> saolc is "real-time in principle": if your orchestra is simple enough and your
> machine fast enough, it generates real-time audio output.  It's only a matter
> of efficiency right now.  It generates AIFF files as well.
> 
> saolc on my SGI Octane is roughly the speed of Csound on my old Decstation
> 3500: roughly a factor of 10 for the average orchestra.  So it's not wildly out
> of
> realtime now for simple things, and I think it's a straightforward matter of
> development attention to make it 5-10x faster.
> 
> I'm happy to act as a clearinghouse for improvements made by others
> per the Linux model, although I don't have cycles to actively develop saolc
> anymore after April.
> 
> Best,
> 
>  -- Eric

-- 
Test your DAW with my Soundcard Attrition Page!
http://wkweb5.cableinet.co.uk/rwd

Date1999-03-01 13:11
FromBill DeWitt
SubjectLost Tool for CSound
	I can't seem to find the Windows CSound tool I used before, it had two
built in edit windows and would send the command string to CSound. I've
checked the several URLs from the FAQs and searched AltaVista etc. But...
being as how I can't remember the name of the program I'm not having much
luck.
	I've already downloaded CSounder, VisOrc and a couple other things which
were not it, perhaps it has been removed from distribution. Anyone know the
one I mean and where it might be found?



Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa17539;
          1 Mar 99 14:17 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by shaun.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10HTVI-0003SE-00; Mon, 1 Mar 1999 14:17:04 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (NAA16284); Mon, 1 Mar 1999 13:36:25 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 1 Mar 1999 13:36:07 GMT
Received: from aleve.media.mit.edu [18.85.2.171] by hermes via ESMTP (NAA03007); Mon, 1 Mar 1999 13:35:39 GMT
Received: from ozric (ozric.media.mit.edu [18.85.5.228])
	by aleve.media.mit.edu (8.9.1a/8.9.1/+ALEVE) with SMTP id IAA29032;
	Mon, 1 Mar 1999 08:32:16 -0500 (EST)
Message-ID: <02b001be63e8$003e54c0$e4055512@ozric.media.mit.edu>
From: Eric Scheirer 
To: Richard Dobson , 
    Csound List 
Subject: Re: if.../ Common Lisp Music / compilers / interpreters
Date: Mon, 1 Mar 1999 08:31:52 -0500
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.5
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

>As far as optimizing goes, it looks as if quite a lot could be
>translated almost verbatim from Csound. To cite one example I happen to
>have noticed - in saolc 'buzz' is implemented by directly calculating
>every partial in a loop, using cos(). Csound uses the closed-form
>formula (and a table), which is ovbiously much more efficient.

Agreed.  Many of the inefficients in saolc are there so that
the code looks like the text of the standard -- the standard
says 'buzz' is a sum of cosines, so the reference software
implements it by summing up cosines.  I think this is an 
advantage to people from non-computer-music backgrounds whose
first exposure to a synth engine is saolc.

>So there is arguably a useful degree of overlap of interests between
>programmers/users of Csound and saolc. For composers working alone, on a
>single workstation, speed and range of facilities are likely to be far
>more important than portability under the terms of MPEG-4, so that I can
>see two semi-independent streams of development arising - the
>'canonical' source under the remit of MP4, which naturally needs to be
>carefully (and presumably centrally) managed, and a much more
>distributed ad-lib development for composers along the lines of Csound.

I agree with this entirely.  And the standard is fixed, so 
everyone will know what is the common denominator for making
portable instruments, and it goes up to each composer to 
decide whether they care about speed more than portability.
Not unlike programming in other languages.


>I am myself interested in working on saolc (partly because it will also
>be relevant to CDP users - especially the imminent enhancements!), on
>optimizing, adding support for WAVE and WAVE_EX, and no doubt some WIN32
>specific things.

I forgot to include WIN32 on my list of platforms before (because
that's where I'm developing it these days, so it doesn't need to
be "ported".)  There's no WIN32-ish features, just command line
interface, but it runs fine.

>Presumably there are dedicated saolc lists, so the question (apart from:
>what are those lists?) is to what extent discussion of saolc is welcome
>on this list, or is it too much of a digression off-topic? 

I don't know.  I'd welcome a judgment by Bath, so at least I know
whether to feel guilty about posting here.  

There's two SAOL lists: people interested in developing new 
compatible tools, compilers, and synths should send a 'subscribe'
message to 'saol-dev-request@media.mit.edu'; people interested
in making orchestras, instruments, and opcodes should send
a 'subscribe' message to 'saol-users-request@media.mit.edu'.

Best,

 -- Eric

+-----------------+
|  Eric Scheirer  |A-7b5 D7b9|G-7 C7|Cb   C-7b5 F7#9|Bb  |B-7 E7|
|eds@media.mit.edu|      < http://sound.media.mit.edu/~eds >
|  617 253 0112   |A A/G# F#-7 F#-/E|Eb-7b5 D7b5|Db|C7b5 B7b5|Bb|
+-----------------+




Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa17555;
          1 Mar 99 14:19 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by wallace.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10HTXF-0003qW-00; Mon, 1 Mar 1999 14:19:05 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (NAA00854); Mon, 1 Mar 1999 13:47:16 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 1 Mar 1999 13:46:24 GMT
Received: from root@d1o211.telia.com [195.204.228.241] (may be forged) by hermes via ESMTP (NAA10763); Mon, 1 Mar 1999 13:45:48 GMT
Received: from apas.no (t1o211p49.telia.com [195.204.228.49])
	by d1o211.telia.com (8.8.5/8.8.5) with ESMTP id OAA05341;
	Mon, 1 Mar 1999 14:44:26 +0100 (CET)
Message-ID: <36DA99DC.62DCF516@apas.no>
Date: Mon, 01 Mar 1999 14:45:00 +0100
From: Roger Klaveness 
X-Mailer: Mozilla 4.5 [en] (WinNT; I)
X-Accept-Language: en
MIME-Version: 1.0
To: Bill DeWitt 
CC: Csound List 
Subject: Csound Editor? (Re: Lost Tool for CSound)
References: <000501be63e5$01e380a0$891bffd0@gate>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

You migth be talking about my Csound Editor
http://members.tripod.com/~fz3/csound/csedit.zip

Not updated for a while because I'm now using my spare time to 
using csound instead of making tools for it.

RogerK

Bill DeWitt wrote:
> 
>         I can't seem to find the Windows CSound tool I used before, it had two
> built in edit windows and would send the command string to CSound. I've
> checked the several URLs from the FAQs and searched AltaVista etc. But...
> being as how I can't remember the name of the program I'm not having much
> luck.
>         I've already downloaded CSounder, VisOrc and a couple other things which
> were not it, perhaps it has been removed from distribution. Anyone know the
> one I mean and where it might be found?


Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa17857;
          1 Mar 99 15:04 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by shaun.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10HUEm-0003XE-00; Mon, 1 Mar 1999 15:04:04 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (OAA08094); Mon, 1 Mar 1999 14:38:40 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 1 Mar 1999 14:38:23 GMT
Received: from root@relay5.gateway.net [208.230.117.235] by hermes via ESMTP (OAA06504); Mon, 1 Mar 1999 14:38:18 GMT
Received: from gate (1Cust212.tnt1.melbourne.fl.da.uu.net [208.255.26.212])
	by gateway.net (8.9.1/8.9.1) with SMTP id JAA21823;
	Mon, 1 Mar 1999 09:37:39 -0500 (EST)
From: Bill DeWitt 
To: Roger Klaveness 
Cc: Csound List 
Subject: RE: Csound Editor? (Re: Lost Tool for CSound)
Date: Mon, 1 Mar 1999 09:37:45 -0500
Message-ID: <000001be63f1$11fb42a0$d41affd0@gate>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="Windows-1252"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0
Importance: Normal
In-Reply-To: <36DA99DC.62DCF516@apas.no>
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.0810.800
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

>
> You migth be talking about my Csound Editor
> http://members.tripod.com/~fz3/csound/csedit.zip
>

	That the one! Nice program. But I'm having a little trouble getting the
link to work. "No Response from Server" type Error so I'll try back later.



Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa18723;
          1 Mar 99 17:12 GMT
Received: from [199.181.164.2] (helo=mx.seanet.com)
	by shaun.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10HWEl-0003kn-00; Mon, 1 Mar 1999 17:12:11 +0000
Received: from seanet.com (cy20.dialup.seanet.com [207.12.136.20]) by mx.seanet.com (8.8.8/Seanet-8.7.3) with ESMTP id JAA29682; Mon, 1 Mar 1999 09:11:29 -0800 (PST)
Message-ID: <36DACB68.74072B0A@seanet.com>
Date: Mon, 01 Mar 1999 09:16:24 -0800
From: Sean Costello 
X-Mailer: Mozilla 4.05 [en] (Win95; I)
MIME-Version: 1.0
To: jpff@maths.bath.ac.uk
CC: batov@glasnet.ru, csound@maths.ex.ac.uk
Subject: Re: Pluck
References:  
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

jpff@maths.bath.ac.uk wrote:
> 
> I think you are wrong when you say
> 
>  Sergey> I suppose that at the beginning the opcode 'pluck' was just some orc+sco,
>  Sergey> wasn't it?
> 
> I think it was originally coded in C; it certainly is very old and was
> already there before I ever used csound

The Karplus-Strong algorithm certainly predates Csound.  It was first
developed in 1978.
 
>  Sergey> Also, what is the "two-tap averager" (I found this in
>  Sergey>  some article about Karplus-Strong algorithm)?
> 
> Sounds like an interpolating delay line, using taps at two points and
> doing linear interpolation.  Better answer from those who know, or
> after a reference

I think it refers to the simple lowpass filter used within the delay
line of the Karplus-Strong algorithm, where the output y(n) is
determined by the following equation:

y(n) = [x(n) + x(n-1)] * .5

Your interpretation brings up an important point, however: linear
interpolation IS lowpass filtering (well, at least a form of lowpass
filtering).  This will definitely be a problem when trying to implement
the Karplus-Strong algorithm, as linear interpolation would be used for
tuning the delay lines, but would result in inconsistencies in note
brightness for different pitches.  One of the earlier solutions was to
use an allpass filter to tune the delay line to the desired frequency. 
Perhaps allpass interpolation (as described by Joe Dattorro) would be
useful for the Karplus-Strong algorithm.

Anyway, here is an example Csound orchestra/score for the Karplus/Strong
algorithm, written by Richard Karpen.  Instr 2 uses deltapi, and thus
will have more accurate pitches (although the linear interpolation in
deltapi will do funny things to the decay rate for different notes).

Hope this helps,

Sean Costello


; Karplus.orc
;Simple versions of the Karplus Strong Algorithm

sr=22050
kr=22050
ksmps=1
nchnls=1

;The Karplus-Strong Plucked String

instr 1
        afeedback init 0
        anoise=0
        ilooptime = 1/cpspch(p4)
        iamp=p5
        krandenv linseg 1, ilooptime, 1, 0, 0, p3-ilooptime, 0
        anoise rand krandenv
   
        a2 delay afeedback+anoise,ilooptime
        a3 delay1 a2
        afeedback=(a2+a3)*.5

        out a2*iamp

endin


instr 2
        afeedback init 0
        anoise=0
        ilooptime = 1/cpspch(p4)
        iamp=p5
        timout  ilooptime, p3-ilooptime, skiprand
        anoise rand 1
skiprand:
        adum delayr .2
        a2   deltapi ilooptime
             delayw afeedback+anoise
        a3   delay1 a2
        afeedback=(a2+a3)*.5

        out a2*iamp

endin


instr 3 


irevtime = 10
ilooptime=1/cpspch(p4)
timout  ilooptime, p3-ilooptime, skiprand
        asig rand p5
skiprand:
adel init 0
adelin init 0
adel    delay adelin, ilooptime
aton    tone adel, 10000
adelin = aton + asig
asig = 0

out adel
endin


; Karplus.sco

i1 1 5 6.09 5000
i2 7 5 7.09 5000
i3 13 5 8.09 5000
f 0 15
e


Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa18865;
          1 Mar 99 17:29 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by wallace.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10HWVj-0004F6-00; Mon, 1 Mar 1999 17:29:44 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (RAA18463); Mon, 1 Mar 1999 17:13:15 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 1 Mar 1999 17:13:01 GMT
Received: from dns2.seanet.com [199.181.164.2] by hermes via ESMTP (RAA11871); Mon, 1 Mar 1999 17:12:41 GMT
Received: from seanet.com (cy20.dialup.seanet.com [207.12.136.20]) by mx.seanet.com (8.8.8/Seanet-8.7.3) with ESMTP id JAA29682; Mon, 1 Mar 1999 09:11:29 -0800 (PST)
Message-ID: <36DACB68.74072B0A@seanet.com>
Date: Mon, 01 Mar 1999 09:16:24 -0800
From: Sean Costello 
X-Mailer: Mozilla 4.05 [en] (Win95; I)
MIME-Version: 1.0
To: jpff@maths.bath.ac.uk
CC: batov@glasnet.ru, csound@maths.ex.ac.uk
Subject: Re: Pluck
References:  
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

jpff@maths.bath.ac.uk wrote:
> 
> I think you are wrong when you say
> 
>  Sergey> I suppose that at the beginning the opcode 'pluck' was just some orc+sco,
>  Sergey> wasn't it?
> 
> I think it was originally coded in C; it certainly is very old and was
> already there before I ever used csound

The Karplus-Strong algorithm certainly predates Csound.  It was first
developed in 1978.
 
>  Sergey> Also, what is the "two-tap averager" (I found this in
>  Sergey>  some article about Karplus-Strong algorithm)?
> 
> Sounds like an interpolating delay line, using taps at two points and
> doing linear interpolation.  Better answer from those who know, or
> after a reference

I think it refers to the simple lowpass filter used within the delay
line of the Karplus-Strong algorithm, where the output y(n) is
determined by the following equation:

y(n) = [x(n) + x(n-1)] * .5

Your interpretation brings up an important point, however: linear
interpolation IS lowpass filtering (well, at least a form of lowpass
filtering).  This will definitely be a problem when trying to implement
the Karplus-Strong algorithm, as linear interpolation would be used for
tuning the delay lines, but would result in inconsistencies in note
brightness for different pitches.  One of the earlier solutions was to
use an allpass filter to tune the delay line to the desired frequency. 
Perhaps allpass interpolation (as described by Joe Dattorro) would be
useful for the Karplus-Strong algorithm.

Anyway, here is an example Csound orchestra/score for the Karplus/Strong
algorithm, written by Richard Karpen.  Instr 2 uses deltapi, and thus
will have more accurate pitches (although the linear interpolation in
deltapi will do funny things to the decay rate for different notes).

Hope this helps,

Sean Costello


; Karplus.orc
;Simple versions of the Karplus Strong Algorithm

sr=22050
kr=22050
ksmps=1
nchnls=1

;The Karplus-Strong Plucked String

instr 1
        afeedback init 0
        anoise=0
        ilooptime = 1/cpspch(p4)
        iamp=p5
        krandenv linseg 1, ilooptime, 1, 0, 0, p3-ilooptime, 0
        anoise rand krandenv
   
        a2 delay afeedback+anoise,ilooptime
        a3 delay1 a2
        afeedback=(a2+a3)*.5

        out a2*iamp

endin


instr 2
        afeedback init 0
        anoise=0
        ilooptime = 1/cpspch(p4)
        iamp=p5
        timout  ilooptime, p3-ilooptime, skiprand
        anoise rand 1
skiprand:
        adum delayr .2
        a2   deltapi ilooptime
             delayw afeedback+anoise
        a3   delay1 a2
        afeedback=(a2+a3)*.5

        out a2*iamp

endin


instr 3 


irevtime = 10
ilooptime=1/cpspch(p4)
timout  ilooptime, p3-ilooptime, skiprand
        asig rand p5
skiprand:
adel init 0
adelin init 0
adel    delay adelin, ilooptime
aton    tone adel, 10000
adelin = aton + asig
asig = 0

out adel
endin


; Karplus.sco

i1 1 5 6.09 5000
i2 7 5 7.09 5000
i3 13 5 8.09 5000
f 0 15
e


Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa19071;
          1 Mar 99 17:54 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by shaun.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10HWtX-0003qD-00; Mon, 1 Mar 1999 17:54:20 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (RAA03001); Mon, 1 Mar 1999 17:44:06 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 1 Mar 1999 17:43:48 GMT
Received: from front1.grolier.fr [194.158.96.51] by hermes via ESMTP (RAA14753); Mon, 1 Mar 1999 17:43:47 GMT
Received: from club-internet.fr (ppp-164-180.villette.club-internet.fr [195.36.164.180])
	by front1.grolier.fr (8.9.3/No_Relay+No_Spam_MGC990224) with ESMTP id SAA03337
	for ; Mon, 1 Mar 1999 18:43:47 +0100 (MET)
Message-ID: <36DADDDE.347B8540@club-internet.fr>
Date: Mon, 01 Mar 1999 18:35:10 +0000
From: Jean-Michel DARRMONT 
Reply-To: jmdbrady@club-internet.fr
X-Mailer: Mozilla 4.04 (Macintosh; I; PPC)
MIME-Version: 1.0
To: csound@maths.ex.ac.uk
Subject: Re: Karplus & pluck
References: 
Content-Type: multipart/mixed; boundary="------------0FC7D0B7F9767F5880AFABA4"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

This is a multi-part message in MIME format.
--------------0FC7D0B7F9767F5880AFABA4
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Sergey Batov wrote:
> 
> I suppose that at the beginning the opcode 'pluck' was just some orc+sco,
> wasn't
> it?
> 
> Does anybody know where can I find this (or close to it as much as
> possible)
> orc+sco?
> 

I hope Russel Pinkston won't be angry because I send you this orc&sco files
concerning what you are looking for and I didn't ask him the permission.
Anyway you can find these files and many others on his site. I lost the
adress, sorry.

Regards.

-- 
Jean-Michel DARREMONT
--------------0FC7D0B7F9767F5880AFABA4
Content-Type: text/plain; charset=us-ascii; x-mac-type="54455854"; x-mac-creator="4D414341"; name="KARPLUS.ORC"
Content-Disposition: inline; filename="KARPLUS.ORC"
Content-Transfer-Encoding: 7bit

	sr	=	22050
	kr	=	2205
	ksmps	=	10
	nchnls	=	1

;=============================================================================
;               Karplus Strong Algorithm Demonstration                       
;                                                                            
;This is a crude implementation of the Karplus-Strong Plucked String Algorithm
;It simply fills a delay line with noise, then feeds the output through a tone
;filter and back into the delay line.  The pitch produced is determined by the
;length of the delay line, and the "pluck" effect caused by the lowpass filter
;in the feedback loop, which gradually removes the high frequencies from the  
;noise, eventually leaving nothing but the fundamental frequency of the line. 
;Study this to see how the basic algorithm works, but use Pluck in real life. 
;RP                                                                           
;=============================================================================
	instr	1
; roll your own pluck instrument
icps    =       cpspch(p5)              ;desired pitch in PCH
asig    init    0                       ;initialize asig variable
kcount  init    1/icps*kr               ;and loop counter (see below)

;---------------------- use a delay line of length 1/cps:

adel    delayr  1/icps			;delay of 1/cps seconds
asig    tone    adel,sr/2               ;filter the output

;---------------------- but at the first k, fill the delay line with noise:

        if (kcount < 0) kgoto continue  ;skip over after line filled
kloop:                                  ;loop to fill delay
asig    rand    p4,-1                   ;with white noise
kcount  =       kcount - 1              ;decrement loop counter
;-----------------------------------------------------------------------------

continue:
        delayw  asig                    ;delay line input (always get here)

        if      (kcount >= 0) kgoto kloop ;loop only kcount times at start 

        out     asig
        endin

--------------0FC7D0B7F9767F5880AFABA4
Content-Type: text/plain; charset=us-ascii; x-mac-type="54455854"; x-mac-creator="4D414341"; name="KARPLUS.SCO"
Content-Disposition: inline; filename="KARPLUS.SCO"
Content-Transfer-Encoding: 7bit

;Test score for Karplus Strong Demo Instrument
i01     0       2       30000   6.00
i01     +       .       .       7.00
i01     +       .       .       8.00
i01     +       .       .       9.00
e

--------------0FC7D0B7F9767F5880AFABA4--





Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa19508;
          1 Mar 99 19:17 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by shaun.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10HYBY-0003vk-00; Mon, 1 Mar 1999 19:17:00 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (TAA00799); Mon, 1 Mar 1999 19:12:42 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 1 Mar 1999 19:12:28 GMT
Received: from f137.hotmail.com [207.82.251.16] by hermes via SMTP (TAA02272); Mon, 1 Mar 1999 19:12:21 GMT
Received: (qmail 18698 invoked by uid 0); 1 Mar 1999 19:11:45 -0000
Message-ID: <19990301191145.18697.qmail@hotmail.com>
Received: from 205.236.100.7 by www.hotmail.com with HTTP;
	Mon, 01 Mar 1999 11:11:45 PST
X-Originating-IP: [205.236.100.7]
From: Serge _ 
To: csound@maths.ex.ac.uk
Subject: compiling files under dos
Date: Mon, 01 Mar 1999 11:11:45 PST
Mime-Version: 1.0
Content-type: text/plain
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by exeter.ac.uk id TAA02272
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi!

I downloaded the full source version of CSound. I looked at makefile to=20
see what files i need it to compile the CSound.exe. Unfortunatly, after=20
repairing some warnings/errors, i still miss the file .

Is there anyone here who have ever try to compile the sources to make=20
the CSound software?



Thank you.

**********************************************************************
Serge B=E9land

sb07@hotmail.com (personnal)        =20
g2sib@total.net (work)

GIISI inc.                           tel.: 1-418-838-6979
6500 blv. de la Rive Sud             fax:  1-418-838-6981
L=E9vis, P.Q
G6V 9H3
Canada

**********************************************************************


______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com


Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa19932;
          1 Mar 99 21:40 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by wallace.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10HaQj-0004Vq-00; Mon, 1 Mar 1999 21:40:49 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (VAA14904); Mon, 1 Mar 1999 21:36:04 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 1 Mar 1999 21:35:52 GMT
Received: from root@www.inx.de [195.21.255.251] by hermes via SMTP (VAA01495); Mon, 1 Mar 1999 21:35:51 GMT
Received: by www.inx.de (Smail3.2.0.96inx)
	  from berlin.snafu.de (195.21.36.47) with esmtp
	  id ; Mon, 1 Mar 1999 22:35:51 +0100 (MET)
Message-ID: <36DB1758.D78AC960@berlin.snafu.de>
Date: Mon, 01 Mar 1999 22:40:27 +0000
From: Andre Bartetzki 
Organization: STEAM HfM Berlin
X-Mailer: Mozilla 4.04 (Macintosh; I; PPC)
MIME-Version: 1.0
To: Csound Mailing List 
Subject: bugs in wg opcodes
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

this is a collection of waveguide opcode bugs and/or manual errata that I
found during the last weeks.
(Manual pdf-Version 3.50, Mills Csound perf 3.51 (PPC) and IRIX Csound 3.51 (SGI))

1. ar wgpluck2 iplk,xam,icps,kpick,krefl

A krefl value of 1 means no reflection at all and 0 is total reflection
(therefore this is an absorption coefficient). The manual says the opposite.
(there was recently a short thread on this problem)

-----------
2.  ar wgflute kamp,kfreq,kjet,iatt,idetk,kngain,kvibf,kvamp,ifn [,iminfreq]

kfreq accepts no k-rate, even if iminfreq has a reasonable value.

Csound resp. perf prints this message if there is a k-rate kfreq:

PERF ERROR: No base frequency for flute

FATAL ERROR: terminated perf.

-----------
3. ar wgbrass kamp,kfreq,iatt,kvibf,kvamp,ifn [,iminfreq]

This line (similar to the manual example)

a1      wgbrass 20000, 440, 0.1, 6.1, 0.05, 1

gives

error:  insufficient required arguments, line 3:
a1  wgbrass 20000, 440, 0.1, 6.1, 0.05, 1
1 syntax errors in orchestra.  compilation invalid

whereas

a1      wgbrass 20000, 440, 0.1, 6.1, 0.05, 1, 200  ; iminfreq = 200

gives

INIT ERROR in instr 1: invalid ftable no. 200.000000
a1  wgbrass 20000   440 0.1 6.1 0.05    1   200 0   

PERF ERROR: No table for Brass

Does that mean that there is an undocumented argument before ifn, for example
an idetk-time similar to the other wg opcodes?

-----------
4. ar wgclar kamp, kfreq,kstiff,iatt,idetk,kngain,kvibf,kvamp,ifn [,iminfreq]

If we have a k-rate kfreq and no iminfreq like in 

kf	line	200,p3,400
a1	wgclar	20000,kf,-0.3,0.1,0.1,0.2,6,0.1,1

then iminfreq should be set automatically to the initial kfreq.
But this doesn't work:

PERF ERROR: No base frequency for clarinet

-----------
5. ar shaker kamp,kfreq,kbeans,kdamp,knum,ktimes [,idecay]

A line similar to the example given in the manual results in

error:  too many input args, line 13:
a1  shaker  20000, 400,8, 0.999, 0,100,0
1 syntax errors in orchestra.  compilation invalid

(see also Javier Ruiz' message some weeks ago)

BTW, what does a frequency of a shaker really mean??

-----------
6. a1 mandol kamp,kfreq,kpluck,kdetune,kgain,ksize,ifn [,iminfreq]

Every trial to use mandol with the suggested values leads to a crash!

-----------

I think most of these are "bugs" in the manual descriptions of the opcodes. (?)


Andre

--------------------------------------------------
Andre Bartetzki http://www.kgw.tu-berlin.de/~abart
Studio fuer elektroakustische Musik http://www.kgw.tu-berlin.de/~abart/Steam/steam.html
Hochschule fuer Musik Berlin http://www.hfm-berlin.de

Tel. +49-30-4726629
Tel. +49-30-203092488
--------------------------------------------------


Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20118;
          1 Mar 99 23:15 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by wallace.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10Hbu3-0004aT-00; Mon, 1 Mar 1999 23:15:11 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (XAA01382); Mon, 1 Mar 1999 23:13:24 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 1 Mar 1999 23:13:11 GMT
Received: from echo.flash.net [209.30.0.40] by hermes via ESMTP (XAA06335); Mon, 1 Mar 1999 23:13:10 GMT
Received: from flash.net (p214.amax35.dialup.ftw1.flash.net [209.30.58.214])
	by crius.flash.net (8.9.1/8.8.5) with ESMTP id RAA04321
	for ; Mon, 1 Mar 1999 17:13:11 -0600 (CST)
Message-ID: <36DB1F19.27BD8D77@flash.net>
Date: Mon, 01 Mar 1999 17:13:29 -0600
From: pete moss 
Organization: pete moss GmbH
X-Mailer: Mozilla 4.5 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: csound 
Subject: mid to sco
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

are there any midi to sco translaters available?

pete



Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20204;
          1 Mar 99 23:54 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by wallace.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10HcWM-0004cN-00; Mon, 1 Mar 1999 23:54:46 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (XAA15456); Mon, 1 Mar 1999 23:53:28 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Mon, 1 Mar 1999 23:53:16 GMT
Received: from hermes.services.ou.edu [129.15.2.121] by hermes via ESMTP (XAA05434); Mon, 1 Mar 1999 23:53:14 GMT
Received: from styx.services.ou.edu by hermes.services.ou.edu with ESMTP; Mon, 1 Mar 1999 17:52:58 -0600
Received: from ou.edu (cate1-83.reshall.ou.edu [129.15.141.83])
	by styx.services.ou.edu (8.9.1/8.9.1) with ESMTP id RAA25716;
	Mon, 1 Mar 1999 17:52:57 -0600 (CST)
Message-ID: <36DB27EB.E944528F@ou.edu>
Date: Mon, 01 Mar 1999 17:51:07 -0600
From: Terry Cast 
Reply-To: terrycast-1@ou.edu
Organization: The University of Oklahoma
X-Mailer: Mozilla 4.5 [en] (Win95; I)
X-Accept-Language: en,de-DE,fr-FR
MIME-Version: 1.0
To: pete moss 
CC: csound 
Subject: Re: mid to sco
References: <36DB1F19.27BD8D77@flash.net>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Midi2Sco puts velocity in p4 and note (in pch format, I
believe) in p5. I don't think it does anything with
pitchbend or CC messages. Freeware, according to the
webpage, sources are included. Command line and Win32
(Midi2ScoWin) versions available.
 http://www.ctv.es/USERS/dcproven/readclr.htm

Terry Cast

pete moss wrote:

> are there any midi to sco translaters available?
>
> pete



Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20598;
          2 Mar 99 3:11 GMT
Received: from [144.173.6.14] (helo=exeter.ac.uk)
	by shaun.maths.bath.ac.uk with esmtp (Exim 1.92 #2)
	for jpff@maths.bath.ac.uk
	id 10Hfb6-0004K9-00; Tue, 2 Mar 1999 03:11:52 +0000
Received: from noether [144.173.8.10] by hermes via SMTP (DAA05147); Tue, 2 Mar 1999 03:08:51 GMT
Received: from exeter.ac.uk by maths.ex.ac.uk; Tue, 2 Mar 1999 03:08:39 GMT
Received: from out5.ibm.net [165.87.194.243] by hermes via ESMTP (DAA08707); Tue, 2 Mar 1999 03:08:38 GMT
Received: from ibm.net (slip-32-101-77-165.dc.us.ibm.net [32.101.77.165]) by out5.ibm.net (8.8.5/8.6.9) with ESMTP id DAA11474 for ; Tue, 2 Mar 1999 03:08:38 GMT
Message-ID: <36DB572C.1296A368@ibm.net>
Date: Mon, 01 Mar 1999 22:12:44 -0500
From: "Job M. van Zuijlen" 
Reply-To: zuijlen@ibm.net
Organization: electona
X-Mailer: Mozilla 4.5 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Csound List 
Subject: Re: if.../ Common Lisp Music / compilers / interpreters
References: <01BE631C.8D58E540.eds@media.mit.edu> <36DA8BA5.8A8258B2@cableinet.co.uk>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Not to be inhospitable, but I think that an extensive discussion of
SAOLC would be somewhat off-topic.  I also think that Csound still has a
bright future, in particular when the hardware version (Analog Devices
Extended Csound) becomes more readily available.  All the same, it would
be useful to be kept informed about any SAOLC developments that are of
interest to Csounders.

Job van Zuijlen


Richard Dobson wrote:
> 
> 
> Presumably there are dedicated saolc lists, so the question (apart from:
> what are those lists?) is to what extent discussion of saolc is welcome
> on this list, or is it too much of a digression off-topic?
>