[comp.sys.next] Realtime mixing

paul@phoenix.Princeton.EDU (Paul Lansky) (06/02/91)

Much to our delight we have discovered that the 040 NeXT is fast enough
to play several soundfiles simultaneously with envelope control on 
each.  The current limit seems to be two 44k stereo files (or 8 22k mono
files,etc).  Disk speed is the main constraint.  With system overhead
you need about 400k bytes per second for 2 44k stereo files.  (the 
new 400 meg disks seem to be able to sustain 1.1 meg per second!).

So, I've written a cmix application called rtmix, which allows you to
align two files, draw envelopes and play them, all in real time, as
long as long as you are playing from a local disk.  It does not work
well across a network or from an optical disk.  A student of mine, Kent
Dickey, has written a much better program, which I'll post as soon as it
is ready, which allows you much more arbitrary control over the number
of files.  Kent's program will even allow you to change the apparent
sampling rate in real time (create glissandi etc).  I've put the
source and binary for rtmix in pub/music at princeton.edu.  

Thanks to Kent for teaching me how to optimize overhead, and to Rob 
Poor for his DACPlayer object.


Paul Lansky
Music Department
Princeton Univ.

paul@princeton.edu

barry@pico.math.ucla.edu (Barry Merriman) (06/03/91)

In article <10329@idunno.Princeton.EDU> paul@phoenix.Princeton.EDU (Paul Lansky) writes:
>
>So, I've written a cmix application called rtmix, which allows you to
>align two files, draw envelopes and play them, all in real time, as
>long as long as you are playing from a local disk.

Great, this is what I've been waiting for---I can finally transform
my collection of Arnold Schwarzenegger sound bites into a rap song.

But: what is the best way to re-record the mixed sounds as a single soundfile?
In a future version, will it be possible to ``merge'' the soundfiles,
without having to go through a re-recording step?

--
Barry Merriman
UCLA Dept. of Math
UCLA Inst. for Fusion and Plasma Research
barry@math.ucla.edu (Internet)   barry@arnold.math.ucla.edu (NeXTMail)