Csound Csound-dev Csound-tekno Search About

CSound software architecture and implementation

Date2005-12-01 11:24
FromNicolas =?iso-8859-1?Q?Castagn=E9?=
SubjectCSound software architecture and implementation
Hi all,

I am preparing a two days lesson on sound 
synthesis, and will present and use CSound as a 
'reference software' in Computer Music.

Along with sound synthesis itself (patches, 
techniques, etc.) I would like to provide a 
presentation of the software architecture and 
code of the CSound synthesis layer.

Exemples of the topics I would like to present are:
- understanding the general architecture: how the 
sound signal is passed from modules to modules, 
how the bi-frequency scheme is implemented, etc. 
To that aim, having something like UML diagrams 
would be very useful.
- visiting/understanding the code: where is the code for each module, etc.

I did not find a lot of information in the CSound 
web site, nor in CSound books I have...

I would be grateful if someone could give me a 
few docs, pointers, etc on that topics !

All the bestn

Nicolas


-- 
-------------------------------------------------------------------
Dr Nicolas CASTAGNE

ACROE-ICA,
46 av. Félix Viallet
38 000 Grenoble
http://acroe.imag.fr

Tel : (33) 4 76 57 46 60
-------------------------------------------------------------------

Date2005-12-01 12:17
FromVictor Lazzarini
SubjectRe: CSound software architecture and implementation
As an introduction, John ffitch's chapter on the Csound Book  and his paper 
'on the
design of Csound5' are useful (you will find the second somewhere online). Then
there is Rasmus Ekman text, but that is somewhat out of date as a lot has 
changed
in Csound 5 (used to be in Csounds.com)

On opcodes specifically, there is a text in the Csounds.com site. I assume you
are discussing csound5, as the older versions will be obsolete as soon as it is
released.

In terms of modules, you will find that the source code directory structure
gives a clue where things are (Istvan can correct and add to this)

/Engine -> basic sound engine modules/parser: musmon, instr insert, opcode 
entries
/Top -> top-level functionality: argument decoding, API functions, 
threading, dynamic loading
/Oops -> built-in opcodes
/Opcodes -> plugin opcodes
/strings -> string localisation

All the above are related to the csound lib code. The csound program itself 
uses the library
as other frontends (in /frontends)

Victor

At 11:24 01/12/2005, you wrote:
>Hi all,
>
>I am preparing a two days lesson on sound synthesis, and will present and 
>use CSound as a 'reference software' in Computer Music.
>
>Along with sound synthesis itself (patches, techniques, etc.) I would like 
>to provide a presentation of the software architecture and code of the 
>CSound synthesis layer.
>
>Exemples of the topics I would like to present are:
>- understanding the general architecture: how the sound signal is passed 
>from modules to modules, how the bi-frequency scheme is implemented, etc. 
>To that aim, having something like UML diagrams would be very useful.
>- visiting/understanding the code: where is the code for each module, etc.
>
>I did not find a lot of information in the CSound web site, nor in CSound 
>books I have...
>
>I would be grateful if someone could give me a few docs, pointers, etc on 
>that topics !
>
>All the bestn
>
>Nicolas
>
>
>--
>-------------------------------------------------------------------
>Dr Nicolas CASTAGNE
>
>ACROE-ICA,
>46 av. Félix Viallet
>38 000 Grenoble
>http://acroe.imag.fr
>
>Tel : (33) 4 76 57 46 60
>-------------------------------------------------------------------
>--
>Send bugs reports to this list.
>To unsubscribe, send email to csound-unsubscribe@lists.bath.ac.uk

Victor Lazzarini
Music Technology Laboratory
Music Department
National University of Ireland, Maynooth 

Date2005-12-01 12:18
FromVictor Lazzarini
SubjectRe: CSound software architecture and implementation
By the way there is a csound developer's list for this sort
of discussion (we don't want to scare people away) . Check it
out in Csounds.com

At 11:24 01/12/2005, you wrote:
>Hi all,
>
>I am preparing a two days lesson on sound synthesis, and will present and 
>use CSound as a 'reference software' in Computer Music.
>
>Along with sound synthesis itself (patches, techniques, etc.) I would like 
>to provide a presentation of the software architecture and code of the 
>CSound synthesis layer.
>
>Exemples of the topics I would like to present are:
>- understanding the general architecture: how the sound signal is passed 
>from modules to modules, how the bi-frequency scheme is implemented, etc. 
>To that aim, having something like UML diagrams would be very useful.
>- visiting/understanding the code: where is the code for each module, etc.
>
>I did not find a lot of information in the CSound web site, nor in CSound 
>books I have...
>
>I would be grateful if someone could give me a few docs, pointers, etc on 
>that topics !
>
>All the bestn
>
>Nicolas
>
>
>--
>-------------------------------------------------------------------
>Dr Nicolas CASTAGNE
>
>ACROE-ICA,
>46 av. Félix Viallet
>38 000 Grenoble
>http://acroe.imag.fr
>
>Tel : (33) 4 76 57 46 60
>-------------------------------------------------------------------
>--
>Send bugs reports to this list.
>To unsubscribe, send email to csound-unsubscribe@lists.bath.ac.uk

Victor Lazzarini
Music Technology Laboratory
Music Department
National University of Ireland, Maynooth 

Date2005-12-01 16:34
FromIain Duncan
SubjectRe: CSound software architecture and implementation
> On opcodes specifically, there is a text in the Csounds.com site. I 
> assume you
> are discussing csound5, as the older versions will be obsolete as soon 
> as it is
> released.

Victor is being modest, there is a paper on csounds.com by him called 
DevelopingOpcodes, and it is an excellent introduction for the kind of 
thing you are showing the class. =)

Iain

Date2005-12-01 16:39
FromIstvan Varga
SubjectRe: CSound software architecture and implementation
AttachmentsNone  

Date2005-12-01 16:44
FromIain Duncan
SubjectRe: CSound software architecture and implementation
>>>On opcodes specifically, there is a text in the Csounds.com site. I
>>>assume you
>>>are discussing csound5, as the older versions will be obsolete as soon
>>>as it is
>>>released.
>>
>>Victor is being modest, there is a paper on csounds.com by him called
>>DevelopingOpcodes, and it is an excellent introduction for the kind of
>>thing you are showing the class. =)
> 
> 
> It may be a bit out of date compared to the actual interface, though.

Right, there was the change of ENVIRON to CSOUND, and I think another 
that I found too but can't remember. I know Victor said he would change 
them, but I'm not sure if that has been updated on csounds.com. Thanks, 
I forgot about that.

Iain

Date2005-12-01 16:46
FromDavid Akbari
SubjectRe: CSound software architecture and implementation
Hi Nicolas,

On Dec 1, 2005, at 6:24 AM, Nicolas Castagné wrote:

> I am preparing a two days lesson on sound synthesis, and will present 
> and use CSound as a 'reference software' in Computer Music.
>
> Along with sound synthesis itself (patches, techniques, etc.) I would 
> like to provide a presentation of the software architecture and code 
> of the CSound synthesis layer.
>
> Exemples of the topics I would like to present are:
> - understanding the general architecture: how the sound signal is 
> passed from modules to modules, how the bi-frequency scheme is 
> implemented, etc. To that aim, having something like UML diagrams 
> would be very useful.
> - visiting/understanding the code: where is the code for each module, 
> etc.
>
> I did not find a lot of information in the CSound web site, nor in 
> CSound books I have...

There are many articles featured on cSounds.com that will possibly be 
of use in the context of the lesson :

John ffitch - On the Design of Csound5
http://csounds.com/articles/john_ffitch_slides.pdf

Victor Lazzarini - Extensions to Csound
http://csounds.com/articles/Extensions_to_Csound.pdf

and of course some of the tutorials

Beginner TOOTs
http://www.csounds.com/toots/index.html

Mastering Csound
http://www.csounds.com/mastering/index.html

A Brief History of Computer Music
http://www.csounds.com/history/index.html

Barry Vercoe Bio
http://www.csounds.com/vercoe/index.html

Max Mathews Bio
http://www.csounds.com/mathews/index.html

and of course there is still a plethora of information contained on 
cSounds.com although perhaps not immediately relevant to the lecture 
that is being prepared.

Hope this helps !


-David

Date2005-12-01 16:52
FromDavid Akbari
SubjectRe: CSound software architecture and implementation
On Dec 1, 2005, at 11:44 AM, Iain Duncan wrote:

> but I'm not sure if that has been updated on csounds.com.

The version currently available on cSounds.com is an accurate 
reflection of the API.


-David

Date2005-12-01 17:26
FromIstvan Varga
SubjectRe: CSound software architecture and implementation
AttachmentsNone