Category : C Source Code
Archive   : SOX.ZIP
Filename : TODO

Output of file : TODO contained in archive : SOX.ZIP
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.

  3 Responses to “Category : C Source Code
Archive   : SOX.ZIP
Filename : TODO

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: