Patai Gergely schrieb: >> I would do resampling (with some of the Interpolation routines) and >> mixing in two steps, that is I would prepare (lazy) storable vectors >> with the resampled sounds and mix them.
> And is that straightforward considering the peculiarities of tracked > music? After all, frequency can change between ticks thanks to > portamento effects, and samples can loop or end in the middle of a tick. > Do I have to trim and pad the samples manually to be able to describe > these transformations? I see no problem. I would generate a frequency and a volume control curve for each channel and apply this to the played instrument, then I would mix it. It is the strength of Haskell to separate everything into logical steps and let laziness do things simultaneously. Stream fusion can eliminate interim lists, and final conversion to storable vector using http://hackage.haskell.org/package/storablevector-streamfusion/ can eliminate lists at all. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe