Paul Winkler wrote: >> What about storing the length of input in an environment variable? let's use the hypothetical scripts "flanger" and "echo". You might call them like this: flanger -i input.wav | echo -o output.wav Here's what happens: 1. "flanger" sees that it has the "-i input.wav" arguments and decides that it must call sndinfo, parse the result to find lenght of input.wav. 2. Length in sec. is stored in environment as $WAVLENGTH 3. echo sees that it does not have a "-i" argument and thus assumes its input is from stdin. So it looks to $WAVLENGTH for the duration to use. It also modifies $WAVLENGTH if it will be changing the length. This is so subsequent filters in the pipe get the new length correct. >> Another approach is to concatenate the processes directly into a new Csound orc, thus obviating the need to pass the samples through a pipe. Then you can mix and match your processes at will and have documentation in synthetic orcs which you could also use for live processing. (See http://arcana.dartmouth.edu/cgi-bin/eric/CPROC/index.cgi for an example.) I don't understand why Csound would require a duration parameter if it is reading samples from stdin. At most, duration should be an optional parameter to limit how many samples are processed.