Csound Csound-dev Csound-tekno Search About

Re: true LISP

Date1998-02-19 12:53
Fromjpff@maths.bath.ac.uk
SubjectRe: true LISP
Message written at 18 Feb 1998 21:27:54 +0000

I did not mean to start a "My Language is Better than Yours" debate.
I was just feeling silly after teaching.  In the 1970s I was a
coauthor of a LISP system which did most of what I wanted.  I still
think we got it right (but I think I am alone; even my co-author seems
to have changed his mind).  The system was called Cambridge LISP, and
was written in BCPL and LISP, and was used largely for computer
algebra, and natural language research.  Those were happy days, with
no lecturing or administration......
  Back to the music (Strauss' Four Last Songs are just ending the
third); Radio 3 is such a joy.

Back to computer music...............John ff



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa16852;
          19 Feb 98 13:26 GMT
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa28573;
          19 Feb 98 13:26 GMT
Received: (qmail 1339 invoked from network); 19 Feb 1998 13:26:31 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 19 Feb 1998 13:26:31 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (MAA26101); Thu, 19 Feb 1998 12:54:21 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 19 Feb 98 12:53:31 GMT
Received: from exim@wallace.maths.bath.ac.uk [138.38.100.104] by hermes via SMTP (MAA05412); Thu, 19 Feb 1998 12:53:25 GMT
Received: from omphalos.maths.bath.ac.uk (maths.Bath.AC.UK) [138.38.99.25] (mmdf)
	by wallace.maths.bath.ac.uk with smtp (Exim 1.80 #1)
	id 0y5VTQ-00014W-00; Thu, 19 Feb 1998 12:53:08 +0000
Date:     Thu, 19 Feb 98 12:53:21 GMT
From: jpff@maths.bath.ac.uk
Subject:  Re: A Thought
To: csound@maths.ex.ac.uk
Message-Id: 
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Message written at 18 Feb 1998 21:22:31 +0000
--- Copy of mail to clemenr@wmin.ac.uk ---
In-reply-to: <199802181203.MAA11423@leopard.wmin.ac.uk> (message from Ross
	Clement on Wed, 18 Feb 1998 12:03:12 +0000 (GMT))
References:  <199802181203.MAA11423@leopard.wmin.ac.uk>

>>>>> "Ross" == Ross Clement  writes:

 Ross> I've only just joined the list, but has anyone considered writing a
 Ross> version of Csound that can run as a plug-in for browsers on the 
 Ross> internet?

Yes.  Look at the Netsound paper (Cassey and Smagadis, ICMC HongKong)
==John




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa17062;
          19 Feb 98 14:38 GMT
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa00960;
          19 Feb 98 14:38 GMT
Received: (qmail 9790 invoked from network); 19 Feb 1998 14:38:34 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 19 Feb 1998 14:38:34 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (OAA21098); Thu, 19 Feb 1998 14:22:17 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 19 Feb 98 14:19:57 GMT
Received: from [193.121.99.70] by hermes via ESMTP (OAA26802); Thu, 19 Feb 1998 14:19:42 GMT
Received: from nobody ([195.207.35.96]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAC61;
          Thu, 19 Feb 1998 15:23:25 +0100
From: David Schuyeteneer 
To: Hans Mikelson 
Cc: csound mailing list 
Subject: Re: instrument design hints
Date: Thu, 19 Feb 1998 10:24:33 +0100
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980219142305400.AAC61@nobody>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

> 3. Use Zak audio channels to route the output of instruments to a mixer
or
> sound effects.  Use Zak kontrol channels to route LFO's and envelopes to
> the instruments modulation destinations.

Hello, could you perhaps explain how to use that ZAK system  ? It dawned to
me that it
might be handy, though I couldn't succeed using it usefully..


David.
[..Fait Cson existe ou pas ?.....(the philosophical Csounder) ]






Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa17076;
          19 Feb 98 14:40 GMT
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa01021;
          19 Feb 98 14:40 GMT
Received: (qmail 24703 invoked from network); 19 Feb 1998 14:40:29 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 19 Feb 1998 14:40:29 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (OAA09213); Thu, 19 Feb 1998 14:20:50 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 19 Feb 98 14:19:47 GMT
Received: from [193.121.99.70] by hermes via ESMTP (OAA24257); Thu, 19 Feb 1998 14:19:32 GMT
Received: from nobody ([195.207.35.96]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAA61;
          Thu, 19 Feb 1998 15:23:13 +0100
From: David Schuyeteneer 
To: Gabriel Maldonado 
Cc: csound mailing list 
Subject: Re: Real time IN, 16bit-8bit terror
Date: Thu, 19 Feb 1998 10:07:29 +0100
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980219142305400.AAA61@nobody>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

> Probably your cards are not full-duplex. If the two cards are installed
> into the same computer at the same time and windows recognizes them
> correctly, try to select the WAVE IN port of one card and the WAVE OUT
> port of the other card when invoking csound.

Hi, Gabriel, maker of the Realtime Csound (you really did a great job ! )
Can't you think of a soundcard that is BOTH real, hardware 16bit, i.e. like
if you had
two soundblasters installed ? I'm just asking around to find out an
alternative for my soundblaster 16.
It seems that even the AWE64 is still 8bit-output when it comes to
simultaneous recording/playing

David.






Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa17097;
          19 Feb 98 14:44 GMT
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa01187;
          19 Feb 98 14:44 GMT
Received: (qmail 24741 invoked from network); 19 Feb 1998 14:44:29 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 19 Feb 1998 14:44:29 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (OAA17867); Thu, 19 Feb 1998 14:20:54 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 19 Feb 98 14:19:57 GMT
Received: from [193.121.99.70] by hermes via ESMTP (OAA26802); Thu, 19 Feb 1998 14:19:42 GMT
Received: from nobody ([195.207.35.96]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAC61;
          Thu, 19 Feb 1998 15:23:25 +0100
From: David Schuyeteneer 
To: Hans Mikelson 
Cc: csound mailing list 
Subject: Re: instrument design hints
Date: Thu, 19 Feb 1998 10:24:33 +0100
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980219142305400.AAC61@nobody>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

> 3. Use Zak audio channels to route the output of instruments to a mixer
or
> sound effects.  Use Zak kontrol channels to route LFO's and envelopes to
> the instruments modulation destinations.

Hello, could you perhaps explain how to use that ZAK system  ? It dawned to
me that it
might be handy, though I couldn't succeed using it usefully..


David.
[..Fait Cson existe ou pas ?.....(the philosophical Csounder) ]






Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa17107;
          19 Feb 98 14:49 GMT
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa01378;
          19 Feb 98 14:49 GMT
Received: (qmail 24769 invoked from network); 19 Feb 1998 14:49:07 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 19 Feb 1998 14:49:07 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (OAA04911); Thu, 19 Feb 1998 14:20:51 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 19 Feb 98 14:20:10 GMT
Received: from [193.121.99.70] by hermes via ESMTP (OAA01271); Thu, 19 Feb 1998 14:19:55 GMT
Received: from nobody ([195.207.35.96]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAD61;
          Thu, 19 Feb 1998 15:23:31 +0100
From: David Schuyeteneer 
To: RWD@cableinet.co.uk
MMDF-Warning:  Parse error in original version of preceding line at UK.AC.Bath.maths.stork
Cc: csound mailing list 
Subject: Re: convolution
Date: Thu, 19 Feb 1998 10:35:57 +0100
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980219142305400.AAD61@nobody>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk


Allow me to join this information rich thread, as i'm playing with
convolution also.

> Well, according to all the dsp and math books I have read, convolution in
> the time domain is equal to multiplication in the frequency domain. Thus,
> when you multiply one fft window ( representing a bit of sound) by
another
> (eg a filter response shape) you get a filtered sound out the other end
(in

Is there a way in Csound to make a table that Csound interprets as a
filter-response shape ?

"specscal" perhaps ?


> the time domain, a filter is doing a convolution with the input samples).
> This is one way to do vocoding - multiplying the fft of some sound with
the
> fft of a vocal sound.

Damn....the manuals says that the FFT spectral datatypes are NOT
processable by other
Csound units.....How can one multiply an FFT channel from one sound with an
FFT channel
from another sound then ?


David.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa17244;
          19 Feb 98 15:42 GMT
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03336;
          19 Feb 98 15:42 GMT
Received: (qmail 18431 invoked from network); 19 Feb 1998 15:42:28 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 19 Feb 1998 15:42:28 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (PAA06044); Thu, 19 Feb 1998 15:26:03 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 19 Feb 98 15:25:26 GMT
Received: from [194.65.21.2] by hermes via SMTP (PAA25821); Thu, 19 Feb 1998 15:24:18 GMT
Received: by renoir (5.x/SMI-SVR4)
	id AA28480; Thu, 19 Feb 1998 15:20:42 GMT
Date: 19 Feb 98 15:20 GMT
X400-Received: by /ADMD=mailpac/C=pt/; 
	Relayed; 19 Feb 98 15:20 GMT
X400-Received: by /PRMD=gtw-ms/ADMD=mailpac/C=pt/; 
	Relayed; 19 Feb 98 15:20 GMT
Priority: normal
P1-Message-Id: pt*mailpac*gtw-ms;0887901637/0663027288/1
Original-Encoded-Information-Types: IA5-Text
Mime-Version: 1.0
From: Pedro Batista 
To: csound@maths.ex.ac.uk
Message-Id: <0887901637/0118146402/1*@mailpac.pt>
Subject: introduction and few questions
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk


Hi everyone

I'm just arriving so please bare with the newbie.
My name is Pedro Batista, I'm a software engineer reaching 30, and I have 
fallen in love with csound ever since I read an article in keyboard mag some 
year or so ago. Only recently though, did I get a pentium system to use at 
home, and have been tweaking with csound (reading everything I can find, and 
exploring several examples I downloaded) ever since. The language itself 
isnt all that hard to interiorise, but its the most esoteric opcodes, and 
the "weird" synthesis techniques that I feel will take a long time to 
master. But no pain, no gain... Besides, this list is going to be a great 
help, I'm sure :)

One thing I cant seem to understand from the help file, is the midi 
integration with csound. Can someone briefly explain exactly what can I do 
with midi and csound, and how does the comunication between one and the 
other happens? I see some opcodes that seem to deal with various midi 
message parameters, but how is that gonna interact with the non-realtime 
csound?

Also, I've been studying Risset's aproach on drum sounds. Are there other 
aproaches to drum design (namely snares), maybe using the pluck opcode 
methods 3,4? An example would be welcome

I really dont know yet how this list operates, in terms of topics, 
netiquette, etc, so if I hit some vital organ, please let me know.

best
pedro



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa17276;
          19 Feb 98 15:51 GMT
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa03655;
          19 Feb 98 15:51 GMT
Received: (qmail 19767 invoked from network); 19 Feb 1998 15:51:57 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 19 Feb 1998 15:51:57 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (PAA02396); Thu, 19 Feb 1998 15:17:25 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 19 Feb 98 15:17:06 GMT
Received: from jaguars-int.cableinet.net [193.38.113.9] by hermes via SMTP (PAA13529); Thu, 19 Feb 1998 15:16:58 GMT
Received: (qmail 3593 invoked from network); 19 Feb 1998 15:13:05 -0000
Received: from unknown (HELO cableinet.co.uk) (194.117.146.30)
  by jaguars with SMTP; 19 Feb 1998 15:13:05 -0000
Message-Id: <34EC4A5D.5904291B@cableinet.co.uk>
Date: Thu, 19 Feb 1998 15:06:06 +0000
From: Richard Dobson 
Reply-To: RWD@cableinet.co.uk
Organization: Composers Desktop Project
X-Mailer: Mozilla 4.04 [en] (Win95; I)
Mime-Version: 1.0
To: rb@fabaris.it, csound@maths.ex.ac.uk
Subject: Re:[Csound parser]: in reply to: Are we creating a monster?
References: <34EBD5EE.7E8C@fabaris.it>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk



Riccardo Bianchini wrote:

> Dear Csounders,
> I've read very carefully all the stuff about Csound parser/Dynamic
> library
> linking and so on, and some questions arose in my mind:
>
> 1. Csound was born and is alive as a "standard" sound synthesis
> language, i.e., I can compose a piece and (assuming I didn't use
> external
> soundfiles for synthesis) send my orc/sco (usually less than 100 KByte)
> to the Csound community. Everybody can synthesize and listen to it (and
> possibly throw away resulting soundfile!). If we go on making
> "extensions", this could no more be true.
>

Well, it is only standard-ish - it was originally a rewrite in C of Music-11
(itself in an advanced evolutionary position along the MUSIC-N development
line), but still came out differently - it excludes the 'pipdef' and related
opcodes, which were recast as 'delay' etc.None of the additions have changed
existing opcodes in a way to break existing orcs, except where someone used
an output name which has become a new opcode.  Whatever may come of the
brainstorming about parsers (which in principle is a purely internal issue
anyway), nothing that breaks existing code would be acceptable. Csound is
puiblic domain, and there a wide community of highly expert programmers
supporting and developing it, so, for better or worse, Csound is not going
to stand still. My opinion is that this is entirely for the better!

> 2. Are we trying to transform Csound in a commercial synth? Frankly, I
> don't understand WHY all those phisical modeling opcodes (marimba,
> vibraphone, agogobell etc.) are in Csound: admittedly, they make nice
> sounds... but a commercial synth (or even a *software* commercial synth)
> can do better. If someone likes to make marimba sounds, he'd better not
> use
> Csound.
>

Hmm - would those be ~free~ commercial synths, by any chance? :-)

> 3. New parser(s): OK for the orchestra: I'd like so much better program
> control structures: I could kill for something like:
>
>         (Basic-flavour)                         (C flavour)
>         If ka R kb then                         If ka R kb {
>                                              
>                 ...                                     ...
>                 ...                                     ... }
>         elseif ka R kc then                     else if ka R kc {
>                                              
>                 ...                                     ...
>                 ...                                     ...
>
> or for a C-like "switch". But the score... please, don't! I think it's
> much better to use a general purpose programming language (I use
> Microsoft
> Visual Basic for quick & dirty works) to make whatever we like. I build
> myself a set of functions and subroutines that do most trivial jobs
> (parsing a Csound score and putting p-fields in arrays, writing a new
> score file and so on): and all this works very well to me.
> A score preprocessor could be a better idea, as it would not modify
> Csound itself.
>
> Do you think I'm too much conservative?

No, I don't; there is a strong, and obvious, case for preserving the
simplicity of Csound's quasi-assembler style. If a parser is successfully
developed, it might form the basis for experiments in ~carefully~ adding new
control structures which were truly useful, without turning Csound into
something else. But I suspect the main benefit would be in the ease of
developing supporting applications, such as an orchestra pre-processor,
which would meet many peoples needs, but  would not change Csound itself.

I think a score preprocessor could be one of the most useful things to
emerge from
current explorations - especially one which can be incorporated into other
applications.
Obviously, there is scope for any amount of score-generating tools to be
developed, independent of Csound itself; but a parser/preprocessor which
could be called, for example, from Visual Basic (or even from a web page,
using Javascript) would cetainly assist in such developments.

There is also the matter of consistency with cscore itself, which possibly
several people are using?

Richard Dobson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa17964;
          19 Feb 98 19:29 GMT
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa10712;
          19 Feb 98 19:29 GMT
Received: (qmail 26620 invoked from network); 19 Feb 1998 19:29:48 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 19 Feb 1998 19:29:48 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (TAA08611); Thu, 19 Feb 1998 19:19:07 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 19 Feb 98 19:18:43 GMT
Received: from aixrs1.hrz.uni-essen.de [132.252.180.228] by hermes via ESMTP (TAA26205); Thu, 19 Feb 1998 19:18:36 GMT
Received: from fila (khalid@ascend142.extern.uni-essen.de [132.252.240.142]) by aixrs1.hrz.uni-essen.de (8.8.5/8.7) with SMTP id UAA96400; Thu, 19 Feb 1998 20:18:52 +0100
Message-Id: <34EC85B2.622056B@uni-essen.de>
Date: Thu, 19 Feb 1998 20:19:14 +0100
From: khalid 
X-Mailer: Mozilla 3.01Gold (X11; I; Linux 2.0.29 i586)
Mime-Version: 1.0
To: rb@fabaris.it
Cc: csound@maths.ex.ac.uk
Subject: Re: Are we creating a monster?; Score change proposal
References: <34EBD5EE.7E8C@fabaris.it>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Riccardo Bianchini wrote:

> I could kill for something like:
> 
>         (Basic-flavour)                         (C flavour)
>         If ka R kb then                         If ka R kb {
>                                              
>                 ...                                     ...
>                 ...                                     ... }
>         elseif ka R kc then                     else if ka R kc {
>                                              
>                 ...                                     ...
>                 ...                                     ...
> 

Why not kill your expectations? I don't see functional difference be-
tween your proposal and this:

if ka R kb goto fi
if ka R kb goto fiesle
	   goto esle
fi:
	
	...
	goto contin
fiesle:
	
	...
	goto contin
esle:
	
	...
contin:
	...

> (...) Do you think I'm too much conservative?

I agree with your statement on scores (almost). I use tcl to do the
dirty work you mentioned. Anyhow, I think being able to move f-table
definitions into the orc was an improvement in my ears. I also have
a little proposal:

A thing that's annoying about the a-statement is that any instrument
that has been started will be chopped by the jump of the a-statement.
I mean if i start an instrument at lets say 4.5 seconds in the score,
with a p3 of 1 sec, and there is an a-statement at 5.0 sec that jumps
to lets say 8.0, only the first 0.5 sec of the instr will be per-
formed. I think it would make sense to program the a-statement to read
the unused 1st parameter as a switch to decide which way to work -
"chop" or "no chop".

Any comments?

kd



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa18160;
          19 Feb 98 20:10 GMT
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa11810;
          19 Feb 98 20:10 GMT
Received: (qmail 26816 invoked from network); 19 Feb 1998 20:10:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 19 Feb 1998 20:10:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA15918); Thu, 19 Feb 1998 20:02:57 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 19 Feb 98 20:02:38 GMT
Received: from ella.mills.edu [144.91.3.20] by hermes via SMTP (UAA21658); Thu, 19 Feb 1998 20:02:31 GMT
Received: (qmail 7612 invoked by uid 3049); 19 Feb 1998 12:02:05 -0800
Message-Id: <19980219200205.7611.qmail@ella.mills.edu>
From: David Madole 
Subject: Re: parsers & DLL [Are we creating a monster?]
To: csound@maths.ex.ac.uk
Date: Thu, 19 Feb 1998 12:02:05 -0800 (PST)
Cc: 2336 
Reply-To: madole@mills.edu
In-Reply-To: <34EC85B2.622056B@uni-essen.de> from "khalid" at Feb 19, 98 08:19:14 pm
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 Csounders,

This is my two cents responding most directly to Ricardo's recent input
but just joining the thread in general.

The parser code is Byzantine but the syntaxes (?) of correctly formed
csound programs and data are what csound is, so it stands.  Most of the
"whatif"s are really asking "What if csound wasn't csound?".  Well
then, it wouldn't be csound.

So there.

The score parser should be able to handle any .sco file as now defined
but I certainly don't agree it should be modified to handle, a la MinC
(i.e., Cmix) logical structures like looping and branching, etc. These
can easily and more flexibly be handled by preprocessors like Matt
Ingalls' score generator.  I look at the csound syntax itself as a kind
of "assembly" or "low level" language for sound synthesis.

In order to achieve the program structures Ricardo said he would like
to see in the orchestras, it would probably be necessary to go to an
LALR parser using something generated by the Yecch-Lax family.  These
are great tools but it wouldn't be csound anymore.  There is no reason
that csound orchestra preprocessors can't be written with LALR parsers
to generate csound orchestras, of course, but being essentially
compilers, orchestra generators are a less common industry than score
generators.

So why deprive computer music grad students of their favorite
industries? It is probably the primitive syntaxes of csound programs
and data that make it so inviting and possible for even relatively
inexperienced programmers to generate such a startling variety of these
tools.

"Dynamic Library Linking" is another thing entirely.  I think it is
very important that some interface to (and unfortunately from) the unit
generators be decided upon among those maintaining the common ports and
implemented, preferably one that allows the OENTRY structure array in
"entry.c" to propogate unmolested, because it would allow for the
common ports to provide bases for unit generator development without so
much code twiddling.  Although I'm sure it is wonderful, I cringed
compiling "marimba" into the Mills port. With "DLL" we could return to
a reasonable set of "canonical" unit generators and have available to
us libraries of (and documentation for) anything anybody might dream up
(and let those anybodys be responsible for cross platform coherence of
their products). I remember Csound as music-11, and sometimes I
sometimes yearn for the days of the 40 page manual when "foscil" seemed
controversial, but that won't again be the case, I'm afraid.

It has been suggested recently in this group that this DLL issue is a
*lot* simpler than it really is from a programmer's viewpoint,
involving "two or three" (if I remember right) hooks into the current
code.  The number may be right, but where, when, how, whatif, whatif,
whatif, whatif, whatif, whatif, etc., etc., etc.  It also adds to the
people supporting the ports the onus of supporting a development
environment, including questions like "what if I want to do an FFT,
print a message, read a soundfile, fry an egg, blah, blah, blah" from
my unit generator. These symbols would need to be exported to the unit
generator developer from the Csound binary.  Right now unit generator
libraries just call whatever willy-nilly, having all external (and in C
potentially recursively referenced -- ||: boom! :||) symbols available
at compile time. Getting MIDI, with its basically trivial and
high-level system dependencies, just from 3.46 to 3.47 recently caused
a few people a *lot* of grief.  This is not trivial.

Nonetheless, the DLL (a Wintel term, BTW) issue must be addressed,
together, by the people doing the ports with input from the community,
an impossible task before 3.47 is cross port stable.

And we thank you for your support...

Dave

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 aa18328;
          19 Feb 98 21:00 GMT
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa12812;
          19 Feb 98 21:00 GMT
Received: (qmail 27033 invoked from network); 19 Feb 1998 21:00:23 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 19 Feb 1998 21:00:23 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (UAA10006); Thu, 19 Feb 1998 20:54:00 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 19 Feb 98 20:53:24 GMT
Received: from portal.dx.net [199.190.65.2] by hermes via ESMTP (UAA22135); Thu, 19 Feb 1998 20:53:16 GMT
Received: from nmol.com ([206.162.11.2])
	by portal.dx.net (8.8.7/8.8.7) with SMTP id PAA01012
	for ; Thu, 19 Feb 1998 15:54:09 -0500 (EST)
X-Routed: Thu, 19 Feb 1998 13:57:02 -0500
X-Tcp-Identity: Mikeb
Received: from nmol.com [206.162.11.164] by nmol.com with smtp
	id ANDIANFI ; Thu, 19 Feb 1998 13:56:14 -0500
Message-Id: <34EC3A51.D8CF9350@nmol.com>
Date: Thu, 19 Feb 1998 13:57:40 +0000
From: Mike Berry 
X-Mailer: Mozilla 4.04 (Macintosh; I; PPC)
Mime-Version: 1.0
To: csound@maths.ex.ac.uk
Subject: Re: parsers & DLL [Are we creating a monster?]
References: <19980219200205.7611.qmail@ella.mills.edu>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

There is another way to go with the dynamic linking issue, and that is to
approach it on a middle ground.  Instead of saying "Every existing opcode
needs to be in a DLL", we could instead have a plug-in structure.  The plug-in
has a single entry in entry.c, with an arbitrary number of optional inputs and
outputs.  When the parser goes to check syntax, after it checks entry.c and
does not find a match, then it checks the plug-in registry for a match.  All
calls are then handled through the plug-in registry.  Only a few basic
functions (like print to screen) are included in the plug-in API.  If you want
to write an opcode which does more complex csound system calls, you write it
the traditional way.
	This would allow us to offload a number of the newer opcodes (like the phys.
models) into plug-ins.  You can choose to have them or not.  Adding new
plug-ins then does not require recompiling the entire source.  All of the
basic opcodes could remain in the source.
	Here is what I think would be required:

1.) A plug-in registry at startup which finds any available plug-ins.
2.) An insertion into the orc parser which checks the plug-in registry for
opcode matches.
3.) An opcode called pluginregistry, which makes the connection to the proper
piece of i, k, and/or a code.

	I have a similar system in my program GrainWave.  A plug-in is almost nothing
but the actual sound processing code.  This also means we can sidestep the
thorny issues of what can and cannot be allowed to happen inside an opcode. 
We just set a limit.  If your opcode has to do something that is not allowed
by the plug-in, then you fall back on the traditional way of adding an opcode.
-- 
Mike Berry
mikeb@nmol.com
http://www.nmol.com/users/mikeb





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa18568;
          19 Feb 98 23:02 GMT
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa15305;
          19 Feb 98 23:02 GMT
Received: (qmail 27547 invoked from network); 19 Feb 1998 23:02:08 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 19 Feb 1998 23:02:08 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (WAA07437); Thu, 19 Feb 1998 22:52:59 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 19 Feb 98 22:52:41 GMT
Received: from jaguars-int.cableinet.net [193.38.113.9] by hermes via SMTP (WAA19692); Thu, 19 Feb 1998 22:52:35 GMT
Received: (qmail 29562 invoked from network); 19 Feb 1998 22:48:44 -0000
Received: from unknown (HELO cableinet.co.uk) (194.117.146.133)
  by jaguars with SMTP; 19 Feb 1998 22:48:44 -0000
Message-Id: <34ECB51D.F61969E7@cableinet.co.uk>
Date: Thu, 19 Feb 1998 22:41:33 +0000
From: Richard Dobson 
Reply-To: RWD@cableinet.co.uk
Organization: Composers Desktop Project
X-Mailer: Mozilla 4.04 [en] (Win95; I)
Mime-Version: 1.0
To: Mike Berry 
Cc: csound@maths.ex.ac.uk
Subject: Re: parsers & DLL [Are we creating a monster?]
References: <19980219200205.7611.qmail@ella.mills.edu> <34EC3A51.D8CF9350@nmol.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

This is to the best of my understanding an exact description of Microsoft's COM mechanism
for Windows! It is awesomely complex, but it does seem to work remarkably well. It's
natural idiom is C++ (table of virtual functions), but it is defined as a 'binary'
standard, so that in principle, it is language-independent. Much of the complexity stems
from this (the rest stems form the need to suppot multitasking and multi-threaded
processes). However, is is intrinsically 'object-oriented', and would sit rather badly
with Csound's host of static and global variables, and tendency to do hard exits whenever
something goes wrong!

It sounds as if you have hit the happy balance between power and simplicity. I would be
very interested to have  a more technically detailed exposition of your methods in
GrainWave.

Richard Dobson


Mike Berry wrote:

> There is another way to go with the dynamic linking issue, and that is to
> approach it on a middle ground.  Instead of saying "Every existing opcode
> needs to be in a DLL", we could instead have a plug-in structure.  The plug-in
> has a single entry in entry.c, with an arbitrary number of optional inputs and
> outputs.  When the parser goes to check syntax, after it checks entry.c and
> does not find a match, then it checks the plug-in registry for a match.  All
> calls are then handled through the plug-in registry.  Only a few basic
> functions (like print to screen) are included in the plug-in API.  If you want
> to write an opcode which does more complex csound system calls, you write it
> the traditional way.
>         This would allow us to offload a number of the newer opcodes (like the phys.
> models) into plug-ins.  You can choose to have them or not.  Adding new
> plug-ins then does not require recompiling the entire source.  All of the
> basic opcodes could remain in the source.
>         Here is what I think would be required:
>
> 1.) A plug-in registry at startup which finds any available plug-ins.
> 2.) An insertion into the orc parser which checks the plug-in registry for
> opcode matches.
> 3.) An opcode called pluginregistry, which makes the connection to the proper
> piece of i, k, and/or a code.
>
>         I have a similar system in my program GrainWave.  A plug-in is almost nothing
> but the actual sound processing code.  This also means we can sidestep the
> thorny issues of what can and cannot be allowed to happen inside an opcode.
> We just set a limit.  If your opcode has to do something that is not allowed
> by the plug-in, then you fall back on the traditional way of adding an opcode.
> --
> Mike Berry
> mikeb@nmol.com
> http://www.nmol.com/users/mikeb






Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa18671;
          19 Feb 98 23:41 GMT
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa16081;
          19 Feb 98 23:41 GMT
Received: (qmail 27734 invoked from network); 19 Feb 1998 23:41:40 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 19 Feb 1998 23:41:40 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (XAA00682); Thu, 19 Feb 1998 23:37:58 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Thu, 19 Feb 98 23:37:38 GMT
Received: from jaguars-int.cableinet.net [193.38.113.9] by hermes via SMTP (XAA21786); Thu, 19 Feb 1998 23:37:32 GMT
Received: (qmail 31010 invoked from network); 19 Feb 1998 23:33:46 -0000
Received: from unknown (HELO cableinet.co.uk) (194.117.146.133)
  by jaguars with SMTP; 19 Feb 1998 23:33:46 -0000
Message-Id: <34ECBFA7.F4A0F6C7@cableinet.co.uk>
Date: Thu, 19 Feb 1998 23:26:31 +0000
From: Richard Dobson 
Reply-To: RWD@cableinet.co.uk
Organization: Composers Desktop Project
X-Mailer: Mozilla 4.04 [en] (Win95; I)
Mime-Version: 1.0
To: madole@mills.edu, csound@maths.ex.ac.uk
Subject: Re: parsers & DLL [Are we creating a monster?]
References: <19980219200205.7611.qmail@ella.mills.edu>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I think this is a most important post - definitely more than two cents!
:-)))

The more I have thought about it, I feel that the focus of any language
enhancement should take the form of an orc preprocessor or compiler. The
orc syntax and opcode structure is similar enough to that of a machine's
instruction set (albeit CISC, not RISC!), and has all the essential branch
instructions; the code generation stage of this compiler would create an
entirely standard orc file. The compiler (which might, of course, be a
graphic tool such as PatchWork) would not need to know how the orc file is
parsed or used - it could be in optimized assembler for all it cared. One
special aspect of the compiler, however, could be the ability to define
opcodes either explicitly (clever but difficult!) or by importation; all
(?) that would be required of Csound is a formal mechanism for interfacing
to the opcode module.

And, as you point out, there is still plenty of work to be done
strengthening CSound itself in the light of new requirements!


Richadr Dobson

David Madole wrote:

> Hi Csounders,
>
> This is my two cents responding most directly to Ricardo's recent input
> but just joining the thread in general.
>
> The parser code is Byzantine but the syntaxes (?) of correctly formed
> csound programs and data are what csound is, so it stands.  Most of the
> "whatif"s are really asking "What if csound wasn't csound?".  Well
> then, it wouldn't be csound.
>
> So there.
>
> The score parser should be able to handle any .sco file as now defined
> but I certainly don't agree it should be modified to handle, a la MinC
> (i.e., Cmix) logical structures like looping and branching, etc. These
> can easily and more flexibly be handled by preprocessors like Matt
> Ingalls' score generator.  I look at the csound syntax itself as a kind
> of "assembly" or "low level" language for sound synthesis.
>
> In order to achieve the program structures Ricardo said he would like
> to see in the orchestras, it would probably be necessary to go to an
> LALR parser using something generated by the Yecch-Lax family.  These
> are great tools but it wouldn't be csound anymore.  There is no reason
> that csound orchestra preprocessors can't be written with LALR parsers
> to generate csound orchestras, of course, but being essentially
> compilers, orchestra generators are a less common industry than score
> generators.
>
> So why deprive computer music grad students of their favorite
> industries? It is probably the primitive syntaxes of csound programs
> and data that make it so inviting and possible for even relatively
> inexperienced programmers to generate such a startling variety of these
> tools.
>
> "Dynamic Library Linking" is another thing entirely.  I think it is
> very important that some interface to (and unfortunately from) the unit
> generators be decided upon among those maintaining the common ports and
> implemented, preferably one that allows the OENTRY structure array in
> "entry.c" to propogate unmolested, because it would allow for the
> common ports to provide bases for unit generator development without so
> much code twiddling.  Although I'm sure it is wonderful, I cringed
> compiling "marimba" into the Mills port. With "DLL" we could return to
> a reasonable set of "canonical" unit generators and have available to
> us libraries of (and documentation for) anything anybody might dream up
> (and let those anybodys be responsible for cross platform coherence of
> their products). I remember Csound as music-11, and sometimes I
> sometimes yearn for the days of the 40 page manual when "foscil" seemed
> controversial, but that won't again be the case, I'm afraid.
>
> It has been suggested recently in this group that this DLL issue is a
> *lot* simpler than it really is from a programmer's viewpoint,
> involving "two or three" (if I remember right) hooks into the current
> code.  The number may be right, but where, when, how, whatif, whatif,
> whatif, whatif, whatif, whatif, etc., etc., etc.  It also adds to the
> people supporting the ports the onus of supporting a development
> environment, including questions like "what if I want to do an FFT,
> print a message, read a soundfile, fry an egg, blah, blah, blah" from
> my unit generator. These symbols would need to be exported to the unit
> generator developer from the Csound binary.  Right now unit generator
> libraries just call whatever willy-nilly, having all external (and in C
> potentially recursively referenced -- ||: boom! :||) symbols available
> at compile time. Getting MIDI, with its basically trivial and
> high-level system dependencies, just from 3.46 to 3.47 recently caused
> a few people a *lot* of grief.  This is not trivial.
>
> Nonetheless, the DLL (a Wintel term, BTW) issue must be addressed,
> together, by the people doing the ports with input from the community,
> an impossible task before 3.47 is cross port stable.
>
> And we thank you for your support...
>
> Dave
>
> 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 aa18834;
          20 Feb 98 0:58 GMT
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa17841;
          20 Feb 98 0:58 GMT
Received: (qmail 28116 invoked from network); 20 Feb 1998 00:58:29 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 20 Feb 1998 00:58:29 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (AAA15930); Fri, 20 Feb 1998 00:54:56 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Fri, 20 Feb 98 00:54:38 GMT
Received: from howl.werewolf.net [206.103.224.20] by hermes via SMTP (AAA27955); Fri, 20 Feb 1998 00:54:31 GMT
Received: from @werewolf.net by howl.werewolf.net via SMTP (950413.SGI.8.6.12/940406.SGI)
	 id SAA02978; Thu, 19 Feb 1998 18:54:27 -0600
Message-Id: <3.0.3.16.19980219185454.0cc7b2b8@werewolf.net>
X-Sender: hljmm@werewolf.net
X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.3 (16)
Date: Thu, 19 Feb 1998 18:54:54
To: David Schuyeteneer 
From: Hans Mikelson 
Subject: Re: instrument design hints
Cc: csound mailing list 
In-Reply-To: <19980219142305400.AAC61@nobody>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

At 10:24 AM 2/19/98 +0100, David Schuyeteneer wrote:
>> 3. Use Zak audio channels to route the output of instruments to a mixer
>or
>> sound effects.  Use Zak kontrol channels to route LFO's and envelopes to
>> the instruments modulation destinations.
>
>Hello, could you perhaps explain how to use that ZAK system  ? It dawned to
>me that it
>might be handy, though I couldn't succeed using it usefully..

Hello,

Here are the basics.  To write to an audio channel use:

                  zaw     asig, ichannel

To read from and audio channel use:

            asig  zar     ichannel

zkw & zkr do the same for kontrol rate varibles.  One instrument is usually
used for writing and the other is used for reading.  That's the main
concept behind Zak.  To use it you have to first initialize the number of
channels your anticipate needing with something like:

          zakinit 50, 30

For 50 audio and 30 control channels.  I've left of zarm & zawm etc so as
not to over do it...

Bye,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa18901;
          20 Feb 98 1:21 GMT
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa18348;
          20 Feb 98 1:21 GMT
Received: (qmail 3608 invoked from network); 20 Feb 1998 01:21:43 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 20 Feb 1998 01:21:43 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (BAA07425); Fri, 20 Feb 1998 01:18:43 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Fri, 20 Feb 98 01:18:26 GMT
Received: from theory.esm.rochester.edu [128.151.209.55] by hermes via SMTP (BAA01667); Fri, 20 Feb 1998 01:18:20 GMT
Received: by theory.esm.rochester.edu (NX5.67e/NX3.0M)
	id AA13599; Thu, 19 Feb 98 20:18:24 -0500
Date: Thu, 19 Feb 98 20:18:24 -0500
From: Jim Croson 
Message-Id: <9802200118.AA13599@theory.esm.rochester.edu>
To: csound@maths.ex.ac.uk
Subject: speaking of convolution
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

I am trying to take some impulse responses of reverbs
to use with convolve. What is the best impulse to use?
Trouble is, I've tried narrow pulses, clicks from
discontinuities, etc., and they seem to *sound* different.
The best so far is a ramp to 1 and -1 ramp to 0, which
gives some low and high end. 

Any experience here?

Jim Croson



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa18965;
          20 Feb 98 1:57 GMT
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa18963;
          20 Feb 98 1:56 GMT
Received: (qmail 4912 invoked from network); 20 Feb 1998 01:56:59 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 20 Feb 1998 01:56:59 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (BAA03817); Fri, 20 Feb 1998 01:42:17 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Fri, 20 Feb 98 01:41:59 GMT
Received: from howl.werewolf.net [206.103.224.20] by hermes via SMTP (BAA23339); Fri, 20 Feb 1998 01:41:52 GMT
Received: from @werewolf.net by howl.werewolf.net via SMTP (950413.SGI.8.6.12/940406.SGI)
	for  id TAA24309; Thu, 19 Feb 1998 19:41:59 -0600
Message-Id: <3.0.3.16.19980219194226.2e5f3ac2@werewolf.net>
X-Sender: hljmm@werewolf.net
X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.3 (16)
Date: Thu, 19 Feb 1998 19:42:26
To: csound@maths.ex.ac.uk
From: Hans Mikelson 
Subject: Sorry was: CHORUS & other FX
In-Reply-To: <19980219085504751.AAA254@nobody>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi,

At 02:53 PM 2/18/98 +0100, David Schuyeteneer wrote:
>> At 03:05 PM 2/17/98 +0100, you wrote:
>> 
>> >p.s The Csound maillist is...a home for sonic dropouts.

>Hmm...was that remark really that bad ?? Tell me more about it.
>Isn't there any sense for humor in this list ? Do certain "over-serious"
>people could feel harmed ?

I already apologized to David, but before the rest of the list thinks I'm
too much of an ornery cuss I better say I'm sorry.  I took it the wrong
way.  I didn't realize David meant sonic dropout in a good way.  I always
considered Csound as sonic cutting edge or something, and the people doing
Pop-40 as sonic drop outs.  I guess was just having a bad hair day.

Jovially,
Hans Mikelson




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa19009;
          20 Feb 98 2:25 GMT
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa19458;
          20 Feb 98 2:25 GMT
Received: (qmail 28429 invoked from network); 20 Feb 1998 02:25:18 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 20 Feb 1998 02:25:18 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (CAA08970); Fri, 20 Feb 1998 02:19:45 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Fri, 20 Feb 98 02:19:27 GMT
Received: from helpdesk.berksys.com [192.216.219.2] by hermes via ESMTP (CAA03701); Fri, 20 Feb 1998 02:19:16 GMT
Received: from [192.216.218.47] (pjsonnichsen.berksys.com [192.216.218.47])
	by waffle.berksys.com (8.8.6/8.8.6) with SMTP id SAA12440
	for ; Thu, 19 Feb 1998 18:16:03 -0800
X-Sender: pjs@mail.berksys.com
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Thu, 19 Feb 1998 18:24:20 +0505
To: csound@maths.ex.ac.uk
From: "P.J. Sonnichsen" 
Subject: Re: speaking of convolutionOne of the convex folds of the surface of the brain
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

A single sample at maximum amplitude will give you
the flatest impulse response.

- P.J.
(one of the convex folds of the surface of the brain)


>I am trying to take some impulse responses of reverbs
>to use with convolve. What is the best impulse to use?
>Trouble is, I've tried narrow pulses, clicks from
>discontinuities, etc., and they seem to *sound* different.
>The best so far is a ramp to 1 and -1 ramp to 0, which
>gives some low and high end.
>
>Any experience here?
>
>Jim Croson





Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa19324;
          20 Feb 98 5:09 GMT
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa26430;
          20 Feb 98 5:09 GMT
Received: (qmail 10145 invoked from network); 20 Feb 1998 05:09:50 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 20 Feb 1998 05:09:50 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (FAA09273); Fri, 20 Feb 1998 05:07:06 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Fri, 20 Feb 98 05:06:48 GMT
Received: from root@[150.101.30.1] by hermes via ESMTP (FAA19786); Fri, 20 Feb 1998 05:06:16 GMT
Received: from scooby.matcom.com.au (scooby.matcom.com.au [10.1.0.130]) by minotaur.matcom.com.au (8.8.7/8.6.12) with SMTP id PAA01268 for ; Fri, 20 Feb 1998 15:36:41 +1030
Received: by scooby.matcom.com.au with SMTP (Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52)
	id <01BD3E15.0A9C6960@scooby.matcom.com.au>; Fri, 20 Feb 1998 15:34:32 +1030
Message-Id: 
From: Simon Wood 
To: "'csound@noether.ex.ac.uk'" 
Subject: Win95 Real Time MIDI?
Date: Fri, 20 Feb 1998 15:34:17 +1030
X-Mailer:  Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52
Encoding: 22 TEXT
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hey there,

I have been recently trying to get RT Midi Input happening with CSound
(using G. Maldanado's Win95 binary).  I have had some success in getting
sound produced in RT via midi input, but I still have a few
problems..... I am using a simple sine wave orc (ie 1 oscillator) and
where there should be a note lasting for, say 2 seconds, the sound
instead repeatedly cuts in and out, so I end up with a series of shorter
sounds and lots of clicks and pops.

I should point out at this point that I am using a sequencer in Windows
to generate the Midi events... _not_ an external keyboard.  So I was
basically curious to know whether anyone has achieved satisactory RT
Midi just using a sequencer and not external MIDI hardware?


Cheers,

Simon






Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa19463;
          20 Feb 98 6:49 GMT
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa28077;
          20 Feb 98 6:49 GMT
Received: (qmail 12877 invoked from network); 20 Feb 1998 06:49:26 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 20 Feb 1998 06:49:26 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (GAA13697); Fri, 20 Feb 1998 06:45:16 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Fri, 20 Feb 98 06:44:56 GMT
Received: from bbnrel4.hp.com [155.208.254.68] (may be forged) by hermes via ESMTP (GAA27935); Fri, 20 Feb 1998 06:44:41 GMT
Received: from bidra168.bbn.hp.com (bidra168.bbn.hp.com [15.136.77.168])
	by bbnrel4.hp.com (8.8.6/8.8.5tis) with ESMTP id HAA23313
	for ; Fri, 20 Feb 1998 07:44:47 +0100 (MET)
Received: by bidra168.bbn.hp.com
	(1.39.111.2/16.2+BAMS 4.0 ISO+4.1) id AA230066994; Fri, 20 Feb 1998 07:43:14 +0100
Message-Id: <199802200643.AA230066994@bidra168.bbn.hp.com>
Subject: Re: Win95 Real Time MIDI?
To: SWood@matcom.com.au
Date: Fri, 20 Feb 1998 7:43:13 MET
Cc: csound@maths.ex.ac.uk
In-Reply-To: ; from "Simon Wood" at Feb 20, 98 3:34 pm
Organization: Hewlett-Packard GmbH
From: Jens Kilian 
Reply-To: Jens_Kilian@bbn.hp.com
X-Mailer: Elm [revision: 212.2]
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

> Hey there,
> 
> I have been recently trying to get RT Midi Input happening with CSound
> (using G. Maldanado's Win95 binary).  I have had some success in getting
> sound produced in RT via midi input, but I still have a few
> problems..... I am using a simple sine wave orc (ie 1 oscillator) and
> where there should be a note lasting for, say 2 seconds, the sound
> instead repeatedly cuts in and out, so I end up with a series of shorter
> sounds and lots of clicks and pops.
> 
> I should point out at this point that I am using a sequencer in Windows
> to generate the Midi events... _not_ an external keyboard.  So I was
> basically curious to know whether anyone has achieved satisactory RT
> Midi just using a sequencer and not external MIDI hardware?

I've had similar experiences with my port of Csound to BeOS (no, it's not
quite ready yet :-). You need to fiddle with the software/hardware buffer
sizes (and I haven't found any general rule about which sizes are good).

My main problem at the moment is that, even if I manage to avoid dropouts,
real-time MIDI performance sound very irregular (notes are played with some
random delay). I don't know if that's caused by a bug in my code or by the
setup I use (I also don't have a MIDI keyboard, so I'm using a loopback cable
and a software sequencer).

Bye,
        Jens.
--
mailto:jjk@acm.org                 phone:+49-7031-14-7698 (HP TELNET 778-7698)
  http://www.bawue.de/~jjk/          fax:+49-7031-14-7351
PGP:       06 04 1C 35 7B DC 1F 26 As the air to a bird, or the sea to a fish,
0x555DA8B5 BB A2 F0 66 77 75 E1 08 so is contempt to the contemptible. [Blake]



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa19530;
          20 Feb 98 7:28 GMT
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa28770;
          20 Feb 98 7:27 GMT
Received: (qmail 29447 invoked from network); 20 Feb 1998 07:27:59 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 20 Feb 1998 07:27:59 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (HAA10264); Fri, 20 Feb 1998 07:22:52 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Fri, 20 Feb 98 07:22:35 GMT
Received: from sun1.fabaris.it [194.91.204.1] by hermes via SMTP (HAA26041); Fri, 20 Feb 1998 07:22:28 GMT
Received: from sun1.fabaris.it.fabaris.it by fabaris.it (SMI-8.6/SMI-SVR4)
	id IAA00893; Fri, 20 Feb 1998 08:13:46 +0100
Message-Id: <34ED2F69.2482@fabaris.it>
Date: Fri, 20 Feb 1998 08:23:21 +0100
From: Riccardo Bianchini 
Reply-To: rb@fabaris.it
X-Mailer: Mozilla 3.01 (Win95; I)
Mime-Version: 1.0
To: Csound 
Subject: Re: Win95 Realtime MIDI
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Simon Wood wrote:
> I have been recently trying to get RT Midi Input happening with CSound
> (using G. Maldanado's Win95 binary).  I have had some success in getting
> sound produced in RT via midi input, but I still have a few
> problems..... I am using a simple sine wave orc (ie 1 oscillator) and
> where there should be a note lasting for, say 2 seconds, the sound
> instead repeatedly cuts in and out, so I end up with a series of shorter
> sounds and lots of clicks and pops.
> 
> I should point out at this point that I am using a sequencer in Windows
> to generate the Midi events... _not_ an external keyboard.  So I was
> basically curious to know whether anyone has achieved satisactory RT
> Midi just using a sequencer and not external MIDI hardware?

A system has only limited resources. Your sequencer uses a portion of
these resources, and leaves the rest to Csound and to Windows itself. If
your sequencer is a heavy application, Csound cannot run properly
(clicks and pops). 
According to my experience, if you drive Csound with a sequencer like
Cubase or Cakewalk, you will need at least a fast Pentium (say, a 266
MHz Pentium II), and this for a limited polyphony. If you have access to
*two* PCs, the better thing is to connect them via MIDI, run the
sequencer on one PC and Csound on the other.

Riccardo
-- 

Riccardo Bianchini, Professor
Scuola di Musica Elettronica
Conservatorio "S.Cecilia", Roma (Italy)
http://www.geocities.com/Heartland/Acres/4768




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa19852;
          20 Feb 98 10:52 GMT
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa04018;
          20 Feb 98 10:52 GMT
Received: (qmail 480 invoked from network); 20 Feb 1998 10:52:06 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 20 Feb 1998 10:52:06 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (KAA02891); Fri, 20 Feb 1998 10:44:36 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Fri, 20 Feb 98 10:44:17 GMT
Received: from pp@puma.wmin.ac.uk [161.74.92.94] by hermes via SMTP (KAA04258); Fri, 20 Feb 1998 10:44:11 GMT
Received: from leopard.wmin.ac.uk by puma.wmin.ac.uk with INTERNAL-SMTP (MMTA);
          Fri, 20 Feb 1998 10:30:50 +0000
Received: by leopard.wmin.ac.uk (SMI-8.6/SMI-SVR4)	id KAA09395;
          Fri, 20 Feb 1998 10:36:17 GMT
From: Ross Clement 
Message-Id: <199802201036.KAA09395@leopard.wmin.ac.uk>
Subject: Re: Are we creating a monster?
To: rb@fabaris.it
Date: Fri, 20 Feb 1998 10:36:17 +0000 (GMT)
Cc: csound@maths.ex.ac.uk
In-Reply-To: <34EBD5EE.7E8C@fabaris.it> from "Riccardo Bianchini" at Feb 19, 98 07:49:18 am
X-Mailer: ELM [version 2.4 PL25]
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Riccardo wrote:
> Dear Csounders,
> I've read very carefully all the stuff about Csound parser/Dynamic
> library
> linking and so on, and some questions arose in my mind:
> 
> 1. Csound was born and is alive as a "standard" sound synthesis
> language, i.e., I can compose a piece and (assuming I didn't use
> external
> soundfiles for synthesis) send my orc/sco (usually less than 100 KByte)
> to the Csound community. Everybody can synthesize and listen to it (and
> possibly throw away resulting soundfile!). If we go on making
> "extensions", this could no more be true.

One alternative to changing the basic input language to CSound, would 
be to define new input languages, and input a translator between the
new input language to the standard CSound language. Hence we wouldn't
ruin compatibility, and people could use whatever input language they
found most efficient.

I mean, this is generally the case with visual interfaces now, they
produce .orc and .sco files as output. Why couldn't it be the case if
someone wants to use an alternative text input language.

Cheers,

Ross-c



Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa19894;
          20 Feb 98 11:24 GMT
Received: from pat.bath.ac.uk by stork.maths.Bath.AC.UK id aa05159;
          20 Feb 98 11:24 GMT
Received: (qmail 3776 invoked from network); 20 Feb 1998 11:24:33 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by pat.bath.ac.uk with SMTP; 20 Feb 1998 11:24:33 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (LAA17203); Fri, 20 Feb 1998 11:12:51 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Fri, 20 Feb 98 11:12:33 GMT
Received: from newton1.bathspa.ac.uk [194.81.80.17] by hermes via ESMTP (LAA02325); Fri, 20 Feb 1998 11:12:26 GMT
Received: from bathspa.ac.uk ([194.81.81.98]) by newton1.bathspa.ac.uk
          (Netscape Messaging Server 3.01)  with ESMTP id 136;
          Fri, 20 Feb 1998 11:12:48 +0000
Message-Id: <34EDD543.9C46BC66@bathspa.ac.uk>
Date: Fri, 20 Feb 1998 11:11:00 -0800
From: Derek Pierce 
X-Mailer: Mozilla 4.03 [en] (Win16; I)
Mime-Version: 1.0
To: Gabriel Maldonado 
Cc: Csound Mailing List 
Subject: Re: CSound-Realtime-Win95 (RTsound) source code
References: <34EB12F0.B5365883@agora.stm.it>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Hi Gabriel
    Your software sounds worth investigating, but I cannot dowload it of
your page as I,m told it cannot be found.Can you help please?
Derek Pierce

Gabriel Maldonado wrote:

> Hi all,
>
> the archive was renamed to avoid anyone could think it is a different
> program than csound
>
> source code is avalaible at the following url:
>
> http://www.geocities.com/SiliconValley/Way/7041/csoundrt-src.zip
>
> best
>
> Gabriel
>
> mailto:g.maldonado@agora.stm.it
> http://www.agora.stm.it/G.Maldonado/home2.htm
> http://www.geocities.com/SiliconValley/Way/7041/home2.htm






Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa19951;
          20 Feb 98 11:41 GMT
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa05740;
          20 Feb 98 11:41 GMT
Received: (qmail 769 invoked from network); 20 Feb 1998 11:41:34 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 20 Feb 1998 11:41:34 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (LAA19673); Fri, 20 Feb 1998 11:28:31 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Fri, 20 Feb 98 11:27:54 GMT
Received: from [193.121.99.70] by hermes via ESMTP (LAA18390); Fri, 20 Feb 1998 11:27:46 GMT
Received: from nobody ([193.74.7.85]) by hurricane.netgate.be
          (post.office MTA v2.0 0813 ID# 0-32575U60) with ESMTP id AAE315
          for ; Fri, 20 Feb 1998 12:31:24 +0100
From: David Schuyeteneer 
To: csound mailing list 
Subject: Everybody : thanks !
Date: Fri, 20 Feb 1998 12:24:45 +0100
X-Msmail-Priority: Normal
X-Priority: 3
X-Mailer: Microsoft Internet Mail 4.70.1155
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Message-Id: <19980220113056005.AAE315@nobody>
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk


Hey, Csounders !  Csouls, Cartists, Cresearchers, Cfriends....

I think it's time for me to show some gratitude towards all of who
answerred my endless stream of
questions...The manual only isn't enough, this list, source of information
is really a good thing, I could
not get started with Csound without it, really....There's no advice better
than advice from someone who 
allready coped with the same problem. 

Many thanks towards the people who feel encouraged to dive into the sources
and modify the 
program to our cheesy needs ;-)  I feel a little embarassed because I the
only thing I am capable of
seems to be downloading other people's stuff to play around with...If I
mastered C/C++ I surely would
try to contribute some, but...I'm not a programmer (anymore)...


David.




Received: from stork.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa20194;
          20 Feb 98 12:56 GMT
Received: from mercury.bath.ac.uk by stork.maths.Bath.AC.UK id aa08490;
          20 Feb 98 12:56 GMT
Received: (qmail 1129 invoked from network); 20 Feb 1998 12:56:14 -0000
Received: from hermes.ex.ac.uk (HELO exeter.ac.uk) (144.173.6.14)
  by mercury.bath.ac.uk with SMTP; 20 Feb 1998 12:56:14 -0000
Received: from noether [144.173.8.10] by hermes via SMTP (MAA18657); Fri, 20 Feb 1998 12:29:40 GMT
Received: from hermes.ex.ac.uk by maths.ex.ac.uk; Fri, 20 Feb 98 12:29:20 GMT
Received: from mb05.swip.net [193.12.122.209] by hermes via ESMTP (MAA12495); Fri, 20 Feb 1998 12:29:14 GMT
Received: from rasmus (dialup235-4-45.swipnet.se [130.244.235.237]) 
          by mb05.swip.net (8.8.8/8.8.8) with SMTP 
          id NAA17735; 
          Fri, 20 Feb 1998 13:29:02 +0100 (MET)
Message-Id: <34ED7777.4C95@hexagon.se>
Date: Fri, 20 Feb 1998 13:30:47 +0100
From: rasmus ekman 
X-Mailer: Mozilla 3.0 (Win95; I)
Mime-Version: 1.0
To: Simon Wood 
Cc: csound@maths.ex.ac.uk
Subject: Re: Win95 Real Time MIDI?
References: 
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk

Simon Wood wrote:
> 
> I have been recently trying to get RT Midi Input happening with CSound
> I end up with a series of shorter sounds and lots of clicks and pops.
> I should point out at this point that I am using a sequencer in Windows

It was said already that the sequencer eats system resources.
If it's this bad, you're perhaps running a New Improved Win95!
sequencer (like Cakewalk 5). These usually start a thread 
(roughly a subprogram) set to "realtime mode", which means that 
Windows will attend to its every whim before even looking at 
lesser (non-realtime) programs.

Try some older MIDI program. It's really not a heavy-weight
application, since events are relatively speaking not sent 
out very often.

Haven't tried Maldonado's version, but Winsound 3.46 chopped terribly 
for me last time I tried, even for a single oscil (and no midi).


Regards,

	re