    VSOUND - a virtual audio loopback cable

This program allows you to record the output of any standard OSS
program (one that uses /dev/dsp for sound) without having to modify or
recompile the program.  It uses the same idea as the esddsp wrapper
from the Enlightened Sound Daemon (in fact, vsound is based on
esddsp).  That is, it preloads a library that intercepts calls to open
/dev/dsp, and instead returns a handle to a normal file.  It also
intercepts ioctl's on that file handle and logs them, to help convert
the audio data from its raw form.  Vsound then uses sox to convert the
raw data to the desired file format.

The upshoot of this is that instead of playing sound to the sound card
in your computer, the data is recorded to a file.  This is similar to
if you connected a loopback cable to the line in and line out jacks on
your sound card, but no DA or AD conversions take place, so quality is
not lost.

One use of vsound is to help convert real audio files to some other
format.  Since the real audio format is proprietary, and all we have
is a player, we can use the vsound to create a wave file like so:

     vsound -f output.wav realplay input.rm

This will run realplayer under vsound.  You will notice that no sound
is produced while the real audio file is being played.  When the file
has completed playing, exit realplayer, and the raw audio data will be
converted to a wave file.

With the help of some other encoder, you would then be able to convert
the wave file to MP3 if you wanted.  This method is probably the one
that preserves the most data during the conversion.

There are probably many other possible uses for vsound.  Just use your
imagination.

If you have questions about vsound, email me.

Erik de Castro Lopo  <erikd@zip.com.au>

