How can I record phone conversations on my Pocket PC Phone Edition device?

UPDATE (05/05/2007): Make sure you read THIS on the legality issues and how the compating operating system, Symbian, compares to Windows Mobile in this respect. Also, DO check out the Windows Mobile Audio Recording Bible for alternative, new sound recorders. Currently, the brand new, 4.x series of Resco Audio Recorder (review HERE - DO READ IT and FOLLOW THE BACKLINKS!!!) is the most recommended for call recording.
(End of update.)

If you would like to record your telephone conversations on your Pocket PC Phone Edition (PPC PE for short) device and come from a mobile phone like the Sony-Ericsson (S-E) t610, you will most likely be disappointed. To my knowledge, as far as Microsoft Windows Mobile-based smartphones and PPC PE's are concerned, only the Cingular 2125 and the HTC Tornado (two MS Smartphones) are able to record both parties at a good quality. Most? all? Pocket PC Phone Edition devices aren't - that is, you can't expect good recording quality of the sound of the other party currently with any PPC PE device.

This is diametrically opposed to the situation with several "dumb", cheap mobile phones; for example the above-mentioned S-E t610 or most other S-E phones starting with the t68 (pre-68 models like the R520m doesn't belong to here). These "dumb" phones all make quality recordings of both participating parties. In addition, Series 60 Nokias and S4x+-series Siemens mobile phones are also said to have excellent conversation recording capabilities.

This is because most? all? PPC PE's route the sound of the phone conversation completely separately from the Pocket PC part – they just don't route the sound to the PPC and they, therefore, can't record the sound of the other party directly (unlike, say, the above-mentioned Sony-Ericsson phones), only indirectly.

Indirect recording means that the built-in microphone in the PPC PE device attempts to record the other party only through the speaker. This won't really work at a really good quality, particularly if you don't use the speakerphone mode, that is, you don't make the phone play the other party loud.

The situation is very similar to those of using Compact Flash-based GSM/GPRS cards (and, incidentally, all the available TV/radio cards). They can't route the sound to the PDA either and you, therefore, you can't use the built-in speaker/microphone or Bluetooth headsets/headphones with these units. Please see this thread for more information on this question. In addition, if you use(d) the Compaq iPAQ GPRS sleeve with your old, PPC2k2 iPAQ's, you may well remember that it wasn't able to route the sound through the PDA part either – that is, you couldn't use the built-in speaker/mike of the PDA and you coudn't directly record both parties either.

What can be done? Unfortunately, not much, as the current limitations of the hardware can't be circumvented from "plain", software-based solutions. That is, it's pretty useless to try to record conversations on your PPC PE unless you use it in speakerphone mode, which isn't usable in most environments/under most circumstances. Still, not even then will you achieve as good recording quality as with the mobile phones/smartphones I've given examples of at the start of the article.

If you do want to use some call recording software because you can live with the limitations posed by the hardware architecture and, for example, can use the speakerphone while recording, you have several choices, one of them (PMRecorder) being really excellent.

PMRecorder

Clearly the best choice is the free (!) PMRecorder, which, in some respects, is much better than any other solution because it auto-records all calls and also include data on the caller/callee.

It just runs in the background and intercepts calls without disturbing the user. To be able to run, however, you will need to start it sometime before the to-be-recorded calls – without it running in the background, it won't be able to record calls. To automate this, it's highly recommended that you create a link file to \Program Files\PMRecorder\PMRecorder.exe from \Windows\Startup so that it is always auto-loaded at boot time. Then, you won't need to explicitly start it, just minimize its window after soft resets.

It is continuously enhanced; for example, it's just a few minutes ago that a new version has been released. The new version no longer creates a \Storage Card2 directory if you configure it to record to the storage card and directly invoke it from \Windows\Startup .

Incidentally, before the bugfixed version has been released, I've made the necessary scripts to delay with 1-2 seconds the auto-loading of PMRecorder at reboots to avoid the false directory creation problem (read this blog entry for more information on the causes for the problem). If you plan to stick to an older version of PMRecorder, download the ZIP'ed scripts from here. It uses nScriptm, the great scripting solution for the Pocket PC (please see Scripting on the Pocket PC - nScriptm vs MortRunner vs PPC consoles, with a registry read/conditional write example (alternatives: iPAQ HQ, AximSite, PPC Magazine, FirstLoox, BrightHand, PocketMatrix) and Programming the Pocket PC - entirely PPC (not desktop)-based solutions (alternatives: iPAQ HQ, AximSite, PPC Magazine, FirstLoox, BrightHand) for more information on nScriptm). Copy the .lnk link file in \Windows\Startup and the PMRecorderDelayedStart.ns file in \Program Files\PMRecorder, along with the ns.exe from the nScriptm archive.

It can (but doesn't need to) also be run in the foreground. An example screenshot of it during an active call:

and after the call has ended:

It displays a list of all recorded conversations:

Choosing a list item, you can get detailed information (the other party's identity; call time) on it:

In this, it's much more versatile and useful than, say, the way Sony-Ericsson "dumb" phones handle recorded calls. For example, the t610 doesn't store the identity of the other party with recorded calls and if you download the AMR files it creates from the phone, also the date information will be lost. (Incidentally, in this respect, the Sony-Ericsson t68(i) is clearly better: it also stores identity information with every call. Too bad it doesn't support direct sound recording transfers to other computers, unlike later S-E models.)

And now, for the downsides of the program.

  • First, the format it records to is not compatible with anything else without further conversion – it can't be played in any multimedia player. This isn't the best way to archive calls – it's highly possible you won't be able to play then 20-30 years later because, for example, you won't have a PPC PE device to run PMRecorder on. You must upload the files on the web site of the developer for it to be converted into standard WAV files.

    Fortunately, the files PMRecorder produces are encoded with standard GSM/WAV codecs available on all desktop Windows and Windows Mobile devices, with an additional custom header. That is, if you don't want to struggle with Web uploading because, for example, you use an expensive and/or slow, say, GPRS connection and you aren't afraid some manual file editing, you can easily convert these files into a fully compatible format by just removing their custom, PMRecorder-specific header. Keeping this in mind, the format it uses is highly acceptable, even for archiving (you can cut the header any time and then, you will be able to play the file on any device/computer). Please see the next, "Advanced information on the file format of PMRecorder" section on how removing the header can be done manually.

  • Second, and even more importantly, its compression rate is far worse than that of the, as far as call recording is concerned, industry-standard AMR files. The latter are highly compressed voice streams without capturing and recompression and, therefore, the smallest and best-quality possible. PMRecorder uses the standard, much bulkier, Windows Mobile GSM/PCM codecs and doesn't record the direct GSM stream but a recompression of it (as far as the sound of the other party is concerned), resulting in a serious quality degradation (recompressing sound that has been already compressed once, both with a heavily lossy speech vocoder). AMR files used in "dumb"/Nokia S60 phones are recorded with 5 kbps speed (meaning you can store a 3-minute long conversation in 100 kbyte), while PMRecorder uses the standard GSM codec using 13 kbps encoding in the default, compressed mode (the uncompressed mode creates even bigger files).

    Still, as no other Pocket PC-based sound recorder application produces AMR files, its GSM-encoded quality and file size may be considered acceptable. Of course, you can also play a bit with recorders using the MP3 and/or Speex (the two most important advanced sound formats) formats for considerably better sound quality at slightly higher bitrates.

  • Finally, PMRecorder tries to communicate with the developer's server, as can be seen for example here. I'm not really sure why this is needed. You can find some additional remarks on this subject here.

Advanced information on the file format of PMRecorder

This section, which contains information never before published, will be of extreme importance to you if you don't want to/can not upload your call records to the company's website to be converted.

The file names PMRecorder createes reflect the date and time (including seconds) the recording has been started at. For example, the filename 02062006092052.kcwv reflects it has been recorded on February 6, 2006, starting at 09:20:52.

The file format itself is pretty simple. The file starts with the phone number and possibly the Contacts database-based name of the other party - this is the custom header PMRecoder adds to the otherwise standard WAV files. An example (the same call recording as with the screenshots in the above PMRecorder):

click for screenshot

As can be seen, the majority of the first 64 bytes is occupied by the identity data of the other party. Then follows the standardized RIFF... WAVEfmt signature of the standard WAV file - and the WAV body itself.

This means if you just remove the header from the file (in this case, the first 64 bytes – everything before the first R of "RIFF"), the resulting file will be playable on anything.

To do this, you can use any file splitter tools or just a hexa editor. I'd go for the latter: get for example Geoffrey Prewett's free HexEdit.exe, start it, load the file to be edited and, with the mouse, highlight the section you want to remove:

click for screenshot

Now, just press the Delete button and the highlighted session will be just removed:

click for screenshot

Now, choose File/Save As and save the modified file.

Please note that it's not guaranteed the header will always be 64 bytes long. If, for example, the Contacts database doesn't contain the name of the caller, it will be only 40 bytes.

Alternative call recorders

If you don't need to record all of your PPC PE calls, manual and sometimes delayed record starting isn't a problem with you, you may want to have a look at particularly the MP3/Speex-capable alternatives of PMRecorder, of which there're several.

Basically, you can use any sound recorder, including the built-in Notes, to (manually) record your calls on your PPC PE device. There're several of them, please read the roundup of Pocket PC (PE) sound recorders for more information.

As far as operating system compatibility is concerned (particularly if you happen to have a PPC PE PDA with the latest, Windows Mobile 5 operating system), make sure you check out the "Platform support" section in the comparison chart.

Furthermore, if one-hand-operation (you don't need to tap an on-screen only recording button to start recording) and quick record start is concerned, you may also want to check out the "One-button recording? Does it need to show the app window?" row in the chart. It contains really detailed information on how each sound recorder application supports one-hand and/or one-button operation.

As can clearly be seen, the built-in Notes application only records sound while you keep its hotkey pressed (unless you start recording by tapping the record icon, , on the screen), which is not necessarily what you want. After all, it's not a walkie-talkie ;)

Other, hardware button-enabled applications are far better in this respect: you only need to press the button once to start recording and don't end up having to keep it pressed during the entire phone call.

Also, some of the alternative sound recorders have somewhat better sound codecs (most preferably, MP3 and Speex) than the built-in GSM/PCM codecs in the operating system. This is another reason for sticking to a third-party solution like NoteM, ViTO SoundExplorer and Resco Audio Recorder.

These alternative sound recorders can be all used on your PPC PE device. Note that, however, they may be slow to load/start (it may take several seconds for them to start recording if you haven't pre-loaded them before), unlike PMRecorder. The later starts recording instaneously, right at the beginning of the conversation.

Verdict

Now that I've discovered how easy it is to convert the PMRecorder files to standard WAV files manually (to avoid having to upload them anywhere) and the \Storage Card2 bug has been fixed (no need for using custom delayer scripts any more), I can only recommend PMRecorder, particularly for archiving purposes. It's free and offers great recording capabilities - just what an automated recorder should be capable of.

Recommended links

Some facts about the hardware limitations

Forum links: Please note that the links below contain a lot of contradicting information. Do not believe everything you read in there, particularly not the success stories about people being able to making seamless, quality recordings on, say, the HTC Wizard. I still provide these links so that you know what people are discussing in forums.

Telephone Call Recording Survey – as you can see, none of the voters (it's in the General forum over at XDA-Dev; that is, people with all kinds of HTC Pocket PC's have participated in the poll) have managed to record the other party.

Recording Phone Calls....

Call recorder software needed! – a HTC Magician-related thread; here, here and here another. Some people say (this is not confirmed!) the Magician is able to record both parties if you only start recording (with any application) after the connection has been made and the conversation started.

Yet another thread

A HTC Wizard-related one and another one, also directly citing the PMRecorder folks: "The Wizard does not support the dual audio path. the HTC Tornado and Cingular 2125 both support it, but the PPC Wizard does not. Sorry about that. It is a hardware limitation on the device."

A HTC Universal thread

A HTC Alpine (XDA IIi ) thread

A Himalaya (XDA IIi ) thread and another one. This thread is a bit more technical, programming-wise.

This thread states that it's only with first-generation phones that call recording works. Interestingly, this HTC Wallaby (XDA) thread states the sound is not routed to the PDA part in the Wallaby either.

ADDITION (Apr/20/2006): in the meantime, VITO Audio Notes v1.0 has been released, which is pretty similar to PMRecorder. Here's a nice review of version 1.0.

Also, a WAV file converter has been released to automatize the task of converting PMRecorder output files. Please read the comments below for the link.

Wowz... I'll post a news item of this as soon as the page is up again!

I know other recorders are pre-WM5 compliant too. The majority of PPC PE phones now, however, run WM5. Furthermore, if you have a WM5 device, why would you actually *pay* solely for pre-WM5 complatibility?

"Worst" "loser"? Well, (small) problems with PMRecorder aside, nothing can beat the price of a free app :)

Again, for a WM5 user, it may be the best solution. Or, say, the ViTO app. All boils down to personal preferences. Stating "worst loser", however, doesn't seem to take into account that many WM5 users don't need compliance with earlier WM versions.

1. create a link file to \Program Files\PMRecorder\PMRecorder.exe from \Windows\Startup so that it is always auto-loaded at boot time

2. if your PPC PE device supports speakerphone mode (a lot of them do this - for example, the HTC Wizard), use it so that the sound of the other party is better recorded.

It's said that the BT handsfree client unit in the PDA is a self-standing one and is completely separated from the internal, PDA-related circuitry of the PDA.

Many developers have been continuously trying to access the incoming sound circuitry on the API level (see the microsoft.public.pocketpc.* Usenet newsgroups) - so far, without any success.

The K-Jam suffers from the same problem as all the other (current) Pocket PC Phone Edition devices: you can't record the other party because the mobile phone circuitry is separated from the PDA circuitry. This is why the sound of the otehr speaker is really soft.

There isn't a really excellent workaround for this. Even if you use the speakerphone, the recording quality will be far worse than with a "dumb" mobile phone that supports two-way recording (S-E t610, t68, mmost Nokias, most Siemens phones etc.)

Here's another, interesting thread on these questions.

Go to Menu / Settings / and untick the bottommost two checkboxes ("Upload new items only"; "Auto-archive recordings").

vanphaisong, this can't be helped, as is also pointed out in the article. Your phone hardware just doesn't support recording the other party. This is a major problem with most current Microsoft OS-based Smartphones / Pocket PC Phone Edition devices, except for very few models (for example, those of Gigabyte).

Some say BT is also separate; this is why there's no way in tapping into the stream.

There are some folks actively trying to "hack" into the voice stream of the available BT stack(s) at both XDA-Developers and at some commercial WM software devs. So far, without any success.

Try to use another (auto)call recorder app (Resco 4 or Vito 1.3) to see whether they have the same cutting problem.

Dunno if the Elf / Touch is able to record both parties. As far as the current (2007) HTC models are concerned, I only know it's only the x7500 (Advantage) that is able to flawlessly record calls. Dunno about the other, new models. (As far as MS Smartphones are concerned, the Vox / s710 can't record them, while the cheap WM5 Oxygen / s310 released last October is.)

Yes.

HERE

Register to PMRecorder's service? You don't need to if you want to quickly convert your files to standard WAV files. Or, did you want to do something else?

GLO, if and only if your phone supports recording at all. That is, if you're able to *seamlessly* record your conversations via its traditional mike / speaker, then, the same will work via a BT headset. (At least this is the case with my WM5 HTC s310 Oxygen.)

Syndicate content