Introduction

This page contains a poorly organized collection of technical info about PhoneBlogger. Over time I will improve the documentation, but for now, I figured it was better to get some of this in writing. You can glean additional technical tidbits on PhoneBlogger by reading through the Install Overview. Some of the material is redundant. I swear I will clean it up someday. Since the organization will likely change dramatically, you probably don't want to bookmark or link to any of the pages other than the /phoneblogger/index.html page.

PhoneBlogger Components

PhoneBlogger Dependencies

Weblog Tool

PhoneBlogger uses the MetaWeblog XML-RPC API to post to a weblog. I have tested it with Movable Type and Blogger, but it should not take too much work to get PhoneBlogger to post to another weblog tool that supports the MetaWeblog XML-RPC API or a similar API. The PhoneBlogger CGI scripts must be able to call into the XML-RPC interface for your weblog tool.

Voice Server Developer Account

You need to have access to a voice server that provides a VoiceXML interpreter/browser. The easiest route to take is to get a free hosted developer account from a provider like TellMe, BeVocal, Voxeo, or HeyAnita. These companies provide developers with free access to hosted VoiceXML servers which include the speech recognition engine, text to speech engine, JavaScript engine, etc. that PhoneBlogger relies on.

Another option is to install your own voice server. IBM provides a voice server as a free download for non-commercial use. But, you then have to figure out how to connect to it via a phone call, which involves way more detail than I can cover here. You could use a VoIP or SIP connection, but compared to using one of the hosted providers above, you would have to be a glutton for punishment to go this route if you are doing this just for fun. By the way, TellMe, Voxeo, and some of the other hosted providers also support VoIP and/or SIP access.

Python

PhoneBlogger uses several Python CGI scripts to copy files, convert audio formats, and post to your weblog. With PhoneBlogger 0.2 you no longer need to set up the included Python files to run as CGI scripts on the web server where the audio files will be stored. You can use the new useNewMediaObject configuration setting to have the CGI scripts send the audio file to your weblog via an XML-RPC call.

SoX

One of the Python CGI scripts spawns a process to call SoX to convert the u-law WAV file generated by most VoiceXML servers to an uncompressed WAV file. This step was needed, because LAME does not support u-law WAV files.

LAME

One of the Python CGI scripts spawns a process to call LAME to convert the WAV file generated by SoX to a 96 kbps MP3 file.