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

The first change that you can notice – new unique images and an icon created by me! 🙂 It was quite difficult to paint them with a proper quality.

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’ve done some improvements to sound too.

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 on the background).

The second feature is a possibility to separate sound from your microphone and from speakers. The output MP3 is a stereo with two 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 the call in this case. 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.

In the new version there is a button called Start recording in the context menu. If the call was ignored by any reason you can always click it and recording will start. The name for the 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 the tray icon.

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 of some reason Skype throws an error message via API when we try to redirect sound back to files during the call that is already in progress.

Navigating to records

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

First one, Browse records, opens folder where all unfiltered calls are recorded to. If path contains any placeholders application removes them and opens 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 the 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 the 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 fixes

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 incorrect messages order. The new version handles this behavior properly.

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 manual start and cancellation.

Moreover, I’ve added an internal checking of connection with Skype. Now recorder regularly sends PING message to Skype. Skype normally answers with PONG message. This is a special Skype API 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. 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 the new version. Feel free to express your feelings on Skype Auto Recorder’s page! 😉

Add comment