[SoundComp-Develop] Open coding task anyone?
Status: Pre-Alpha
Brought to you by:
jssr67
|
From: <js...@ya...> - 2011-04-25 15:19:15
|
Hello dear SoundComp team, as you have read, SoundComp now can not only write windows wav, but also Monkey's Audio files on all supported platforms. There is no code for reading files yet. I would like to delegate that task to someone else. It is a task of medium to high complexity and size, and involves some signal processing. It may well take some time and testing. I don't expect it to be finished in under a month, even may take a while longer. The code should be able to do the following: - fulfill the SoundComp standard NamedSource/ProcessElement interface - open a file by name. We will determine later how the name gets into the element. - alternatively, take the data from a java InputStream (BOTH should be available, not just one or the other) - read the file header, determine the relevant information (coding format, channel count, sample rate) - read in the audio data into a double array - resample the code to the sample rate of the current SoundComp run, multiplied by a variable factor - make all channels available as separate outputs of a NamedSource - it needs two inputs: gate, and sample rate factor - output should start on rising edge of the gate input. starting with gate=1 should count as rising edge at time zero. Falling edge of gate has no influence, but rising again must restart the process. - if possible, it might be desirable not to read and decode the data all at once, but in smaller chunks on reading demand. If the gate falls and rises again, then there is no need to waste a lot of computing time. - if the sample rate factor changes during computation, it should immediately be reflected from that sample on. That means, the resampling cannot be computed in advance. And a second rising gate cannot reuse the data unless the sample rate factor never has changed. - it should support all wav formats that SoundComp uses, in addition Monkey's Audio, FLAC is also desired, and possibly also other formats that you find in Milestone 18 in the wiki. It should go into a class InputFile in parallel to the class OutputFile in the same package. Audio decoding should go into native code to make it as fast as possible - flac and monkey's audio original C/C++ code is checked in but might need to get adapted due to multiplatform, big-endian and other issues. Who takes the task, gets all necessary support, should he need it. Best regards Jan |