Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] Engine Changes, or Csound 6 (was Re: [Csnd] feature request: multiple strings in"i"statements)

Date2007-09-13 13:24
From"Michael Gogins"
SubjectRe: [Cs-dev] Engine Changes, or Csound 6 (was Re: [Csnd] feature request: multiple strings in"i"statements)
> On 9/12/07, Michael Gogins  wrote:
>> A Python orchestra would be Python code to "compile" the existing C 
>> opcodes;
>> a replacement for the orc language. The orc language in Csound is not
>> interpreted; it is "compiled" into a DSP graph (a linked list of 
>> instrument
>> instances, each of which is a linked list of opcode instances). All 
>> software
>> synthesizers pretty much work this way.
>
> I wasn't aware of this--it does sound similar to the internals of
> supercollider (my understanding, anyway).  So this suggests that there
> are two general approaches:
>
> 1.  Compile to a DSP graph, which presumably gets executed
> more-or-less entirely in C.
>
> 2.  Go ahead and "interpret" by having Python (or whatever) running at 
> k-rate.

The next step in my prototype Lua synthesizer is to do just that. I am 
sceptical that it will really perform, but we will see.

>
> It seems like the second option might be simpler and more flexible,
> but there would be more worries about performance.

There is a third approach, which is to use a language that has high 
performance and a built-in compiler. Examples of such languages are Lisp, 
OCaml, and C#. Java also might be considered in this category although the 
user would need to install the compiler. Such languages can run 1/2 to 1/3 
as fast as C.

I wrote a prototype synthesizer in Java, and it was indeed 1/3 to 1/4 as 
fast as Csound. But of course, this would not really be satisfactory.

There are a few complete, working software synthesizers in Java, but they 
have never become very popular, almost certainly because of lack of 
performance.

But I think this approach could work. Common Lisp Music and Nyquist are both 
examples of Lisp-based synthesizers in this category. Some people actually 
meke music with CLM. If the synthesizer had built-in parallelization, this 
would be an extremely viable approach.

Regards,
Mike 


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2007-09-14 03:37
From"Mike Coleman"
SubjectRe: [Cs-dev] Engine Changes, or Csound 6 (was Re: [Csnd] feature request: multiple strings in"i"statements)
AttachmentsNone