Virtual Recorder 1.4.0.2


Introduction:

Virtual Recorder is a GUI/frontend for Virtual Audio Capture Device 
https://sourceforge.net/projects/virtualaudiodev/files/
and the command line media converter FFmpeg.
http://ffmpeg.org/

Virtual Audio Capture Device is a DirectShow audio device which can be used to capture/record what is playing through your speakers.  It is also possible to record what is being played through your speakers if your sound card has a loopback feature usually called 
"Stereo Mix"/"What You Hear"
Unfortunately, not all sound cards support this feature, especially on laptops.  Some other applications like Total Recorder, GoldWave, and Audacity can also record what is being played through your speakers.  In the case of Total Recorder using it's own virtual audio drivers.  In the case of GoldWave and Audacity using the WASAPI loopback feature which is native to versions of Windows starting with Vista.  However, Total Recorder and GoldWave are not free, and with the WASAPI loopback feature in Audacity, I kept receiving errors.  FFmpeg is capable of accessing DirectShow audio devices for capturing/recording, but it is a command line utility with many confusing parameters for the average user.  All of the above reasons prompted me to start working on Virtual Recorder.  Virtual Recorder is free, and probably much easier to use than programs like Total Recorder, GoldWave, and Audacity if all you want is a basic audio recorder which can record what you hear, your sound card's input, or both at the same time.  Virtual Recorder is not an attempt to compete with such applications.  It is a simple audio recorder, that is all.


Recording:

Most of the options should be fairly self-explanatory so I won't go into great detail, but I will briefly mention and describe a few things which may not be so obvious.  As mentioned above, you can record from the virtual capture device which will only record what is playing through your speakers.  (I.E. System sounds, audio from other applications including your browser, and so on.)  Of course this means that if you are recording an internet stream for example, system sounds, sounds produced by other applications, and anything else you might play will also be recorded.  You should take steps when making such recordings to avoid this issue by not running such applications and possibly even disabling system sounds in Control Panel.  You can also record from your sound card's line-in and microphone.  Finally, you can record from both the virtual capture device and your sound card's line-in/microphone at the same time which might be useful for recording podcasts, Skype sessions, and so on.  You can select what is recorded using the 
"Recording source"
combo box.  If you select the 
"Sound Card""
or 
"Both"
options, you should also choose the appropriate input from the 
"Device"
combo box.  Keep in mind that the virtual capture device only records from which ever sound card is configured as the default system playback device in Control Panel.  So if you wanted to record both sides of a Skype session, you would have to take a few steps first.

1. Make sure that the speakers or headset you are using in Skype are configured as the default playback device in Control Panel.  It is not enough to select the device in the Skype audio settings.  You can access the default audio devices in Control Panel quickly by pressing Windows key R to open the 
"Run"
dialog, and then typing 
mmsys.cpl
followed by Enter.

2. Make sure that in Virtual Recorder, the 
"Both"
option is selected in the 
"Recording source"
combo box.

3. Select the microphone you are using in the 
"Device"
combo box.

Note that when recording from both the virtual capture device and your sound card at the same time, you may have overall lower levels in the resulting file.  Use Virtual Recorder's 
"Record Volume"
to compensate for this.  It may require some experimentation to achieve desirable results.

The virtual capture device will not work on XP.  It relies on the WASAPI loopback feature which is only available in versions of Windows starting with Vista.  Therefore, on XP the 
"Recording source"
combo box will not be visible and only recording from the sound card is supported.

You can type a prefix which will be used in the file names of recordings.  The current date/time will always be appended to file names so if you leave the 
"File name prefix"
field blank, a name will still be automatically generated which consists of only the date and time.

You can record to the lossless flac/compressed, mp3, ogg, or lossless wav/uncompressed audio formats.  Other formats could easily be added, but I figured these are the four most commonly used.


Options:

If you select the 
"Options"
button, you can configure some settings such as whether the program runs at startup, minimized to the tray, or completely hidden by disabling the tray icon.  There is also a 
"Global Hotkeys"
tab where you can assign hotkeys for starting, stopping, pausing, and resuming recording when either the main window does not have focus or is otherwise hidden.  You can also assign a hotkey for activating/showing the main window when it is hidden.  Note that you cannot disable the tray icon unless the 
"Show main window"
hotkey is assigned since otherwise you would not be able to access the program's main window.  For each hotkey, there is an associated 
"Windows Key"
checkbox.  Use this checkbox if you want to use the Windows key modifier as part of your shortcut combination.  For example, if you wanted to use Control-Windows-F12 to start recording, you would press Control F12 in the hotkey field and then enable the associated 
"Windows Key"
checkbox.

All settings are saved in the file 
VirtualRecorder.ini
located in the same folder as the program's main executable.


Command line parameters:

Last but not least, there are a few command line parameters for scheduling recordings with the Windows Task Scheduler or other scheduling software.  Use -r to have the program start recording automatically, -t to set a duration for the recording, and -x to have the program close automatically when it is finished recording.  The format for the duration should be hh:mm:ss (hours:minutes:seconds).

For example, to have the program record for 1 hour and then close, use the following command:

VirtualRecorder.exe -r -t 01:00:00 -x

Record for 1 hour and 30 seconds:

VirtualRecorder.exe -r -t 01:00:30 -x

Record for 1 hour and 1 minute:

VirtualRecorder.exe -r -t 01:01:00 -x

Record for half an hour, but leave the program running:

VirtualRecorder.exe -r -t 00:30:00

Start recording and continue recording until manually stopped:

VirtualRecorder.exe -r

Note that when recording using command line parameters, the shown/hidden state of the main window will depend on the settings in the 
"Options"
dialog.


There is both an installer and a portable package for Virtual Recorder, but due to requirements for making it portable, the two executables are not the same.  In other words, do not attempt to use the installed executable in portable mode.  It will not work correctly.  Also, since the portable version requires administrator privileges to register the virtual audio capture device, if UAC is enabled you will always be prompted when the program starts.  This is slightly annoying, but it is the best I can do for now.


Announcements about updates to Virtual Recorder and my other projects will be posted on the Tech Talk mailing list.

Subscribe:
main+subscribe@TechTalk.groups.io
Post:
main@TechTalk.groups.io

Note that the list is fairly high traffic so if large amounts of incoming mail is a concern, please keep this point in mind before subscribing.


		Send comments, questions and suggestions to: carlos1106@nyc.rr.com

		Copyright (C) 2017 Carlos Nazario