home *** CD-ROM | disk | FTP | other *** search
- More handlers! Everyone who adds sound hardware to a computer has the urge
- to come up with their own file format.
-
- More effects! I don't know DSP at all. An incremental FFT is the
- core tool for building analog-domain effects. Hint. A simple
- room reverb effect that does one sound bounce instead of feeding
- back would also be handy, and an easy coding project.
-
- Comment strings. Some file formats have space for embedded comments.
- These are currently thrown away. Printing them out, carrying them
- forward, and an to add new ones would be handy.
-
- SOX includes skeleton format files to assist you in supporting new
- formats, sound effect loops, and special-purpose programs.
- The full skeleton format, skelformat.c, helps you write a driver
- for a new format which has data structures. Skeleffect.c is
- a starting point for writing a sound effect loop. Sox.c is
- a good starting point for new programs.
-
- In handlers.c, note that many formats set up the header and then
- use the raw driver for reading and writing.
-
- An effect loop for mixing mono -> stereo -> quad with sound
- placement features: differential volume, phasing, and Doppler
- shifting when the sound moves. Static placement would work as
- a SOX effect loop, but dynamic placement involves some scripting
- feature, or joystick input etc., and should be a separate program.
-
- Also needed are more analog filter options: high-pass,
- and notch filtering. These would be handy for postprocessing
- sound samples; most of the SPARC samples I've heard are pretty grotty.
- These are done with a convolving filter: output sample X[0] is the
- average of inputs X[-N]*C[-N] + ... + X[0]*C[0] + ... X[N]*C[N],
- where C is a carefully chosen set of coefficients. Different
- coefficient sets give low-pass, high-pass, and possibly other filters.
-
- Convolving filters are OK for massaging sound samples;
- a much more accurate (and slower) method is also needed for
- doing serious sound work. As is, SOX is OK for PC sound
- samples, but does not make it as a CD mastering tool.
-
- Sound needs its own compression techniques rather than text-based
- ones. The pred effect is a framework for experimenting with
- predictive/corrective compression. Prediction via LPC
- or autocorrelation or the first few derivatives
- could make this a very powerful compressor.
-
- This software wants to be a dataflow system with signal
- sources, sinks, and processors. It wants to be class-based.
- It wants to have a scripting control language.
- It's really a shame I hate C++.
-
- A pitch-shifter is badly needed. No, just resampling isn't
- good enough, because that changes the playback time.
- You have to repeat little chunks or something like that.