|[3 earlier articles]|
|Re: language for sound effects firstname.lastname@example.org (Oliver Zeigermann) (2001-08-17)|
|Re: language for sound effects email@example.com (Greg) (2001-08-17)|
|Re: language for sound effects firstname.lastname@example.org (Franck Pissotte) (2001-08-17)|
|Re: language for sound effects email@example.com (Roelf Toxopeus) (2001-08-18)|
|Re: language for sound effects firstname.lastname@example.org (2001-08-18)|
|Re: language for sound effects lazzaro@CS.Berkeley.EDU (2001-08-18)|
|Re: language for sound effects email@example.com (Steven D. Majewski) (2001-09-20)|
|Re: language for sound effects firstname.lastname@example.org (Jonathan Spanier) (2001-09-21)|
|From:||"Steven D. Majewski" <email@example.com>|
|Date:||20 Sep 2001 00:32:07 -0400|
|Organization:||University of Virginia|
|Posted-Date:||20 Sep 2001 00:32:07 EDT|
Greg <firstname.lastname@example.org> wrote:
>The language would be based on C++. It would used for manipulating
>sound waves (or any other application involving arrays of floats).
>Can anyone give me any pointers on starting out a project of this
>nature? If anyone is interested, I wouldn't mind including other
>people in the project. I haven't decided if the project would be open
>What do you think of the idea?
You might also look at some of the existing music and sound synth.
oriented languages: CSound, CommonMusic (based on Common Lisp) and
Steven Travis Pope's Squeak based libraries. Jazz trombonist and
computer musician George Lewis uses Forth.
In CSound you compile sound descriptions and output sound files, but
note that the others are all interactive languages -- computers are
fast enough now to do this type of sound synthesis and composition
real time, so people are interested in interactive systems.
>[I think it would be a good idea to look at the many existing languages
>that manipulate arrays of floats, starting with matlab. -John]
Vectors are definitely handy. I've used XlispStat, which is a version
of Lisp oriented for statistics and math, which has vectorized
operations. But even better, is some sort of concept of sequence
generators and filters. Lucid was the first language in which I read
about the concept. Icon has generators and coroutines. Python 2.2
will have iterators and generators implemented with an Icon like
semi-coroutine. They can be easily built using Scheme continuations,
and there's probably a way to do it in Lisp as well.
There is also Haskell's lazy evaluation, which is something different
The idea is to compose functions that generate and manipulate
unbounded streams of values in a coroutine-like, on demand fashion,
rather than dealing with fixed size vectors. ( Similar to how unix
pipeline commands work: Synchronous I/O blocking on a read makes
separate process threads behave as if they were coroutines. )
-- Steve Majewski
Return to the
Search the comp.compilers archives again.