Vsound - a Virtual Audio Loopback Cable
Sources and Binaries : 0.5 original, 0.5.5, 0.5.3, 0.5.1
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.
[information courtesy Peter Clay]
Vsound 0.5.5 Debian - miscellaneous (including Alpha and PPC)
Vsound 0.5.3 Debian miscellaneous (including Alpha and PPC)
Vsound 0.5.3 Mandrake RPMs (including source RPM)
Vsound 0.5.1 RedHat 7.x source RPM
More information and Vsound documentation