home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Multimed / Multimed.zip / soxv10.zip / todo < prev   
Text File  |  1993-08-28  |  3KB  |  56 lines

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