Re: language for sound effects

"Steven D. Majewski" <>
20 Sep 2001 00:32:07 -0400

          From comp.compilers

Related articles
[3 earlier articles]
Re: language for sound effects (Oliver Zeigermann) (2001-08-17)
Re: language for sound effects (Greg) (2001-08-17)
Re: language for sound effects (Franck Pissotte) (2001-08-17)
Re: language for sound effects (Roelf Toxopeus) (2001-08-18)
Re: language for sound effects (2001-08-18)
Re: language for sound effects lazzaro@CS.Berkeley.EDU (2001-08-18)
Re: language for sound effects (Steven D. Majewski) (2001-09-20)
Re: language for sound effects (Jonathan Spanier) (2001-09-21)
| List of all articles for this month |

From: "Steven D. Majewski" <>
Newsgroups: comp.compilers
Date: 20 Sep 2001 00:32:07 -0400
Organization: University of Virginia
References: 01-08-067
Keywords: design
Posted-Date: 20 Sep 2001 00:32:07 EDT

Greg <> 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
>source yet.
>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
but related.

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

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.