Skype Auto Recorder 1.3.4 released

LogoToday I’ve released version 1.3.4 of Skype Auto Recorder!

Ready-to-use application you can find on Downloads page.

Documentation was also updated and contains description of the new features and even more details about old ones.

Sources for each release are in separate branches from now. For the current version they can be retrieved from the Release_1.3.4 branch.

The first update that you can notice – new unique images and icon created by me! :) It was quite difficult to paint them…

Ready Tray IconRecording Tray IconDisconnected Tray Icon

Tray icons are now just a big well distinguishable dots that is good, for instance, in a conference room.

After release of previous version I’ve found that application is quite popular among similar free software. There were written many reviews for it. It was very interesting to read what people like in my recorder and what they want to see to be improved or added. So, I’ve created a list of features to implement and bugs to fix according to reviews:

  • Produce high-quality sound.
  • A possibility to start recording manually.
  • A possibility to cancel current recording.
  • A possibility to quickly find and open recorded file.
  • Fix the issues when recording doesn’t start, doesn’t stop or application hangs.

 
Sound quality

The interesting fact, that many reviewers compare sound files from my recorder against files from other recorders. They remark that my MP3-files are mono when other recorders produce stereo. Well, it’s very strange. How Skype can record stereo sound if you have only one microphone?! Of course Skype can’t do this! Here are some proofs:

  1. Wikipedia has a good article about stereo sound and recording methods. The only what you can achieve having just one microphone – pseudo-stereo. But I really don’t see any reason to get twice bigger file (second fake channel) because of a small difference in the sound.
  2. In my first article about Skype API I explained that Skype produces WAV files. If you check them you will find out that they are mono.

So, I don’t know what other recorders do, but for me it doesn’t make sense.

But I did some improvements to sound too.

Sound Quality Features

In the previous version I used Lame for encoding MP3 in automatic mode. It produces a low-quality mono sound. In this version I’ve added a possibility to set high quality and even choose some characteristics: 32, 44.1 or 48 kHz, and 192, 256 or 320 kbps. It’s not a fake or a pseudo-encoding because initial WAV sound file has a really high quality. But note, that output file is much bigger and encoding takes more time (that’s actually not a problem, because encoding runs in a separate thread).

The second feature is a possibility to separate sound from your microphone and from speakers. The output MP3 is a stereo with two respective channels. When you listen it, you can turn on/off one channel using advanced players and listen only one side of conversation. I’m not sure that such files have any advantages over regular records, but maybe it will be useful for someone.

 
Manual recording

I saw some complaints about starting recording. For example, you record only calls from certain contacts and recording of any other is disabled. But someday your partner has to call you from another Skype account. Recorder simply ignores this call. To enable recording we have to open settings, add additional contact to the filter, save settings and restart recorder. And do all this during the call that is already in progress! I understand inconvenience and had such troubles too.

Manual Recording Buttons

In the new version there is a button Start recording in the context menu. If call was ignored by any reason you can always click it and recording will start. The name for output file is the file name for unfiltered calls set in settings. Moreover, this feature has a system-wide hot key Ctrl+Shift+F5 or you can simply double click on tray icon. For settings global hot keys I’ve implemented a small helper class. It is available in NuGet and Git (read more in previous article).

There are also situations when you want to cancel recording. Of course, you could just exit recorder, but this way there will be trash WAV files left in the Temp folder. From now there is a convenient way to do this: button Cancel recording in the menu. It has a global hot key too – Ctrl+Shift+F10. When you cancel recording recorder starts background thread that waits for call end and just removes produced WAV files. That’s it. Unfortunately, you won’t be able to start canceled recording again, because for some reason Skype throws error message via API when we try to redirect sound back from files during call that is already in progress.

 
Navigating to records

I’ve added two menu buttons for navigating to the records.

Browse Records Buttons

First one, Browse records, opens folder where all unfiltered calls are recorded to. If path contains any placeholders then I remove them and open the closest root folder. For example, recorder saves unfiltered calls as D:\Records\Calls with {contact}\{date-time} {duration}.mp3. In this case folder D:\Records\ will be opened.

Second button, Browse last record, opens and selects last recorded file. Button becomes enabled only after recording. If file can’t be found (for example, it was moved or renamed by user) then only folder will be opened.

These buttons are quite useful if you want to listen what was recorded just after call, or simply open your records archive.

 
Bug fixing

Previous recorder version works incorrectly with Skype 5.6 and higher. Sometimes it ignores calls, sometimes don’t stop recording. I’ve spent a lot of time for investigating the problem. As I figured out, it was caused by some strange behavior of Skype API. Normally, when conversation starts Skype sends message CALL 1234 STATUS INPROGRESS. During the call it sends CALL 1234 DURATION 1234 every second. And message CALL 1234 STATUS FINISHED finishes the call. New Skype versions send sometimes DURATION message after STATUS FINISHED. Of course recorder works incorrectly with such message order. The new version handles this behavior and processes calls stably.

There were also some bugs in my code (in connection to Skype, in handling closing of Skype process, logging out and other rare situations). The new version has completely refactored code of GUI side (it is separated now from core) and many improvements inside SkypeConnector (the logic is cleaner and simpler).

Process of starting recording was also reworked because of new buttons for starting and canceling it manually.

Moreover I’ve added internal checking of connection with Skype. Recorder regularly sends PING message to Skype. Skype normally answers with PONG message. This is a special Skype API service command. If such PING-PONG game stops a few times in a row, recorder starts reconnecting to Skype.

Skype Auto Recorder was tested at my work for a few months by different people and in conference room in real situations: regular calls, conferences, etc. There were different real issues: lost connection from both sides, problems with devices, etc. For now recorder works stably. That’s why I’ve finally made the release.

Thanks to all who helped me to test application and reported bugs! :)

I hope you will enjoy using new version. Feel free to express your feelings on Skype Auto Recorder’s home page! ;)

8 thoughts on “Skype Auto Recorder 1.3.4 released

  1. Pleae please help. I have just finished recording a very important conversation and it has not been saved. I tested before the conversation the recorder and during the conversation it was recording but now I cant find it!

  2. Hello Kirill, I just wanted to tell you that SkypeAutoRecorder 1.3.6 works perfectly for me even with Skype 7.5.0.102. Please note that you have to GIVE CONSENT to the specific (very small) message that appears on the top row of the main window of Skype the first time you use it with SkypeAutoRecorder already launched. If you didn’t give authorization to that message (something like “new component SkypeAutoRecorder require authorization to use its API with Skype”), then you would see SkypeAutoRecorder’s icon in the taskbar never become green.
    I hope this hint could help other people as well.
    Thank you for this very useful software!!
    Best regards
    Mimmo bat’ko Erika

  3. Hi Kirill

    I came here via https://skypeautorecorder.codeplex.com/

    I will be installing this on my laptop soon to as this seems more effective way to discuss requirements and expectations with clients. On the same note, I also take skype calls on my smarphone (Moto2G)

    so, was wondering if there is an option (another app perhaps) to install on my phone to record skype calls

    Can you please help
    Best Regards

    1. Unfortunately, no. This app was developed only for Windows desktop and requires desktop Skype version. The code isn’t portable to another desktop and mobile OS because it uses Windows API for communication with the Skype client.

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