vsound - A Virtual Audio Loopback Cable
A Virtual Audio Loopback Cable


How it Works










Valid HTML 4.01 Transitional

Valid CSS!

vsound [options] program arguments

-f, --file=FILE    output file name
-v, --verbose      set to verbose output
-k, --keep-temps   don't delete temporary files
-h, --help         this help message
-V, --version      show program version
-r, --resample     resample the output file to the given sample rate
                     eg. vsound -r 44100 realplay file.rm
-d, --dspout       enable simulateous output to /dev/dsp and file
                     (may be required for some programs)
-s, --stdout       write the intermediate (Sun AU format) file to stdout
                     (no other output file is generated)
-n, --no-convert   do not convert the AU file to WAV
-t, --timing       add timing delays to allow recording of streaming data
-a, --autostop=SEC kill the player after 'SEC' seconds of inactivity.

Once you have the vsound program installed you can use the following command to convert a realmedia file to a WAV file. This conversion process is completely silent. You may not even need a sound card and kernel sound module although this hasn't been tested.
            vsound realplay realmediafile.rm
New in version 0.3 is the capability of doing sample rate conversion on the output file. The following command will ensure that the output file is a 44.1kHz sample rate WAV file.
            vsound -r 44100 realplay realmediafile.rm

Warning: If you use --resample/-r when the input and output rates are equal, sox will fail to convert it and vsound will delete the output file. I suggest unless you are sure the sample rates are different that you also use the -k switch when using -r. This will tell vsound to keep the temporary file which you can then manually convert with sox if the resample fails. If anyone has a fix or an idea for a fix for this, please email me.

If you would like to listen to the file while it is being recorded, you can use the dspout mode. In this mode, the audio data is simultaneously recorded to a file and output to /dev/dsp. Please note that if you are using the Enlightened Sound Daemon, you may need to disable it before using vsound in this mode.

            vsound -d realplay realmediafile.rm
Finally, the Realplayer sometimes expects the audio data to be consumed by the soundcard at a specific rate. This is particularly true of files with URLs like "pnm://somewhere.com/file.rm" and "rtsp://somewhere.com/file.rm". For files of this type there is a new option in version 0.5 which adds timing delays keep the realplayer synchronised with the stream it is playing.
            vsound -t realplay realmediafile.rm

where the realmediafile.rm might contain one or more URLs of the above type.

Autostop -a / --autostop option

New in version 0.6, this addition from Richard Taylor adds 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).

Richard's original email describes it best;

"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)."

You might also find Text-Mode RealMedia Player handy in conjunction with vsound.

Real Player 10 / Helix Player

I've had reports that the -t/--timing option no longer works with Realplayer 10 but doesn't seem necessary. Just drop the -t and it should work. Another user has informed me that using the -d/--dspout also solved this problem.