SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Sponsored Links

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

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.

A patch by Richard Taylor added an autostop switch to vsound allowing it to stop recording automatically when /dev/dsp is closed, ideal for use with RealPlayer for recording BBC radio programmes (a very popular use for vsound).

Description from Richard;

"I use vsound to record programmes from the BBC to listen to in my car on the way to work. One of things that I have found annoying is having to find out the length of the programme before I can set up my record script to kill realplayer when the programme has finished.

I noticed that realplayer closes the /dev/dsp handle once a programme has finished. So I have patched vsound to add a new flag '-a' which will kill the player after a set number of seconds of inactivity (defined as the time that the /dev/dsp device is closed).

If you have bug reports (or even better, bug fixes!) or ideas for improvements then please email me.

Nathan Chantrell <nsc@zorg.org>


Sponsored Links

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.