Recording Skype calls. Part 2. Skype Auto Recorder

SkypeAutoRecorder logoIn the first part I have explained how to use Skype API and posted some code examples. In this part I will tell you about result of my work – an open-source application SkypeAutoRecorder that is used now in the conference room and workplaces in my company for recording Skype conversations.

The requirements for the application that I wanted to develop:

  • high-quality recording with possibility to improve resulting sound,
  • silent working without any prompts,
  • auto recording of conversations,
  • auto start with Windows and auto connect/reconnect to Skype,
  • flexible configuration,
  • filters for recording conversations with only specified contacts,
  • distribution of recorded files to different locations (including network paths) depends on filters,
  • confidence in application that it doesn’t steal conversation records.

Wish to make something useful for our company :) led me to the creation of my own application that will record Skype conversation and meets all points listed above.

Application is developed using C# and Windows Presentation Foundation without any libraries for communication with Skype.

It is always visible in the tray:
SkypeAutoRecorder tray icon
The tray icon and its tooltip show the current application state:

  • Disconnected (Skype isn’t running or user has declined attachment to it), icon is grey. Application doesn’t do anything in this state.
  • Connected and waiting for calls, icon is colored. Application will react to Skype calls and start recording.
  • Recording, icon is colored with red dot. Application is recording Skype conversation.

Tray icon has context menu with the following items:

  • Settings – provides access to the all application settings.
  • About – information about application and link to the CodePlex.
  • Close – closes the application.

Settings window has the next look:
SkypeAutoRecorder settings

It provides following settings:

  • Set application to auto start with Windows (setting is stored in the Run section of Windows registry).
  • Filters: you can bind different file names for different contacts (or set of contacts). Filter provides a convenient way to distribute and sort recorded files automatically. For example, our team gets recorded file to our local server (filter contains network path) just after meeting.
  • Optionally, all calls can be recorded to the specified file name (Record unfiltered conversations setting); otherwise, SkypeAutoRecorder processes only conversations with contacts specified in the filters. File name from this setting is used only when application can’t find filter for contact.
  • Some of contacts can be ignored if previous setting is enabled (Don’t record conversations with contacts setting). Note, that it works only for contacts which are not specified in the filters.
  • And the last setting – increasing volume of the resulting MP3 file. Useful, when your partner has low microphone. Note, that too high increasing may corrupt sound.

In the filter’s list of contacts you must specify contacts Skype logins (can be seen in contact properties), not their display names. You can enter any number of contacts per filter separating them with comma or semicolon.
For output file name you must enter path with desired file name. If you don’t specify extension then .mp3 will be added automatically. File names can contain pattern placeholders:

  • {contact} – will be replaced with login of contact who are speaking with you.
  • {date-time} – date and time of starting conversation (in format “yyyy-MM-dd HH.mm.ss“).

If you want to save only one file with last conversation then don’t use placeholders and SkypeAutoRecorder will rewrite specified file.

Settings window verifies all inputs to exclude possible mistakes in the file names.

All settings are stored per user in the Windows Roaming folder.

The output format of the recorded files after processing is MP3 with variable bit-rate and optionally increased sound volume. If application for some reason can’t distribute files to the specified location (for instance, network path or removable drive is inaccessible) then it will store it to the default Music folder of the current user and tell about this via message box.

Developed application fully meets requirements listed above.

The latest version and source code can be found on CodePlex.

Feel free to use it! :)

One thought on “Recording Skype calls. Part 2. Skype Auto Recorder

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s