Introduction:Today we are talking to Phil Burk, the founder of Mobileer which is a company that develops audio engines for embedded devices.
Phil, according to your corporate website Mobileer grew out of another company called SoftSynth. Please tell us a little more about how you came up with the idea for this new project. I take it the name 'Mobileer' stands for 'better software applications for mobile devices'?
Our ringtone product actually grew out of some very strange experimental music programs. Back in the 80's we created a music language called HMSL at the Center for Contemporary Music. It was used by bleeding edge composers who were exploring the use of computers, robotics, goldfish and other tools to make music. This was the early days of MIDI synthesizers before the music software explosion. Musicians were struggling with writing serial drivers for MIDI or playing sequences in parallel. HMSL was a rich toolbox that freed the musician from solving low level problems and helped them write high level music applications. Each piece of music was a new program.
The work I did on HMSL led to an opportunity to work at 3DO. There we developed the first commercial 32-bit game console that used a DSP for sound generation.
We followed that in the 90's with JSyn. The web and Java created an opportunity to expand the audience for interactive computer music from the art loft to the rest of the world. So we created an interactive modular synthesis API for Java that let composers build a synthesizer into a web page.
Because of JSyn, companies starting asking us to do other projects. One of these was a ringtone engine for the Handspring mobile phone. Palm bought Handspring and now our engine is on millions of Palm Treos as well as mobile phones from other companies. The ringtone engine is sold through "www.mobileer.com".
We were also asked to create a voice recorder for the web which led to the ListenUp Applet at "www.javasonics.com". It is used for online voice messaging, language training, transcription and other applications.
So you are an entrepreneur, a programmer and musician? How did you learn all the skills you need to develop cutting edge Internet software solutions like the JavaSonics suite?
I am intensely interested in the topic of computer music and electronic synthesis. I don't know why. But when you are passionate about a topic then it is very easy to learn. In order to make a living doing this I also had to learn how to run a business, write contracts, and help customers. When you have a small company you wear many hats. But I did not start out in the computer field.
I was originally a biophysicist working at UC Berkeley and then at an environmental lab in Richmond. In my off hours I was building synthesizer circuits and writing machine code for a little Z80 micro-computer that could make "beeps and bloops".
One day I was standing on top of a barrel of radioactive waste with a lead brick between my legs while my partner tried to tighten the seal on the barrel. Seriously, I'm not kidding. And it occurred to me that I could probably get paid for doing computer work instead of being a physicist. This was not an obvious thing at the time. So I switched careers and haven't looked back.
For JavaSonics, I am actually learning a lot from our customers. Most of the features of ListenUp have come from customer requests. They are teaching me, for example, about how recording and playback can be used in a language training application. One of our first customers was Lufthansa who used our voice recorder Applet to train pilots how to talk to air traffic controllers. I am often surprised at how customers are using our products.
I have also learned a lot from my programming and business partner Nick Didkovsky. We work together on JSyn and ListenUp. Nick is a very active modern composer and performer with a band called Doctor Nerve. He pushes the limits of our software with his brutally complex timing and musical structures. He is also an expert in Java servers and databases so he complements my skill set very nicely.
So your professional background is as diverse and interesting as the software products you are creating. Now, could you please elaborate on JavaSonics and ListenUp. From what I have seen on your website I understand that ListenUp is a solution for website owners who want to offer their users the opportunity to record and upload audio messages. Is that what ListenUp is all about?
The recorded message can then be uploaded to the server. It is sent in a way that looks just like a FORM POST with a file. So any server scripting language can be used to catch the uploaded file.
To save space and reduce upload time, the recording can be compressed using Speex, ADPCM, or uLaw. Or it can be uploaded as uncompressed audio for maximum fidelity.
Once the recording is on the server, it can be processed, converted to other formats, transmitted or used in any way you like. Some of the applications we have seen include emailing voice messages, voice forums, foreign language testing and training, medical transcription, and research.
You earlier that Lufthansa is one of your customers and ListenUp/JavaSonics users. Are the Lufthansa audio files available online or are they stored on their intranet for their own internal use only?
We developed a custom voice recording and playback application for Lufthansa to use internally. That became a prototype for ListenUp/JavaSonics.
We often develop custom software but make an agreement to retain the rights to that software. That way the customer can get the software they want at a discount. And we can build upon previous projects when creating new applications.
What do you think of the ESL (English as a Second Language) industry as your potential or existing market? I mean there are a growig number of websites offering products and services to learners of English. However, so far I know only one single site that allows users to create, upload and listen to audio messages for free. I also know that at this point in time ListenUp is the best solution for all the existing ESL websites.
Let's say we wanted to integrate ListenUp as a new feature into our phpBB forum so registered users can record and upload their own voice messages. How much time and money would we have to invest into this project?
One of our customers has integrated ListenUp into VBulletin. He said it was fairly easy but I don't know how long it took.
If you are a PHP wiz this might take 2-3 days. Less if you are also a phpBB wiz. If you get it working please post the results to our new developer mail list.
I cannot estimate the monetary cost of your time. ListenUp can be used for free with some limitations. A license will remove the limitations for US$485. Check our website for current pricing.
Can you please outline the difference between the free version of ListenUp and the paid one? What features does the paid version include that the free ListenUp SDK doesn't?
There are only two differences. The free version has a maximum recording time of 60 seconds. The paid version has no limit.
The free version also displays a message about JavaSonics ListenUp and a button that you can click to start the Applet. This message only appears once per session. So if you are using ListenUp on multiple pages it will not reappear. The paid version does not show the message or the button.
A license also includes one year of tech support and upgrades. We offer tech support to everyone. But we give extra attention to paid licensees.
You can use ListenUp for free as long as you wish. When you buy a license you get a "paid license" file. Just put that file on your server next to the JAR files. There is no change needed to the installed software.
What type of microphone do you recommend using for best results? In other words, will a standard headset microphone be sufficient to achieve an acceptable sound quality when recording a file with ListenUp?
If your application involves simple messaging then a headset microphone is fine. But if you are creating important audio files for production use then you should use a better microphone. A pop screen is also helpful when recording voice to avoid breath noise. If you don't have a pop screen then make sure you talk to the side of the microphone and not directly at it.
You also have some options related to the audio compression format. If you want, you could record uncompressed audio at 44100 Hz with a good microphone and get crystal clear professional CD quality results. But those files will be big, 5292 KB per minute of audio. You can save space by recording at a lower sample rate and using audio data compression. If you record at 8000 Hz and use Speex compression the files will be much smaller, 38 KB per minute. The highly compressed files will be understandable but you will hear some compression artifacts. And the 8000 Hz sample rate files will sound slightly muffled.
Another factor that affects recording quality is background noise. The human ear can tune out noisy fans or background music but the microphone hears it all. This background noise can be particularly troublesome when doing Speex compression because Speex is designed specifically for compressing human voice. So for best result try to make your recordings in a quiet environment.
We provide a demo that lets you try various sample rates and compression formats online at: JavaSonics Demos
Is there an online community or website using JavaSoncis/ListenUp that we can take a look at?
Our customers have purchased a ListenUp license so all the sites that I know of are restricted to employees or students or paid members. We are working on adding support for Drupal and a popular PHP forum. So I expect to see more publicly accessible examples of ListenUp in the near future.
On your website I also read the information about the additional Transcription Features you offer to JavaSonics users. Can you please explain what a user can do with the transcription features? How does the software help to transcribe the recorded audio messages?
Transcription is a two step process. First someone records a message. This is often a doctor who is dictating notes about a patient. Many doctors like to use a Philips Speech Mic. It is a microphone with recorder buttons and a trackball. So the transcription option adds support for that device.
We also have features that make it easier to listen to a message and type the text into a computer. A USB foot pedal can be used to pause, play, rewind or fast forward the recording. This leaves your hands free to type. We also have special controls for variable speed playback, jump to end, etc. These can be controlled using buttons or hot keys.
On your resumé, which by the way is very impressive, I read that you are also the Technical Director of the Auracle project. I understand that Auracle is joint venture between Akademie Schloss Solitude and Max Nehaus. Could you please tell us how you and Max met for the first time?
I saw a request on the EMF mail list asking folks to apply for a fellowship at Akademie Schloss Solitude. Max Neuhaus was going to create a web application that would use input from a microphone to control an online synthesizer. Multiple people from around the web would join together in a jam.
I wrote to Max and told him that he could use JSyn, which is our Java API for recording and synthesizing audio. I also offered him TransJam. TransJam is a programming tool for creating multi-player applications. Users can enter a lobby and then join a session where they can jam together or play games.
He figured that these tools would save him time so he decided to use them in Auracle. He also invited me to be Technical Director since I had already solved many of the problems his team would have to solve. The Auracle fellows lived and worked for a year at the Akademie in Stuttgart. I flew over several times to work and meet with Max and the fellows. The result is at "www.auracle.org".
Auracle grew out of Max's work with live call-in radio shows. He pioneered that technology and was the first to connect the phone system to live radio. This terrified the radio producers but obviously they got used to it.
Since then I have worked with Max on sound installations at Dia Beacon in New York, the Menil Museum in Houston Texas, and two in Germany.
Phil, we are going to add JavaSonic/ListenUp to our forum so our users will be able to record and replay their own voice as well as the voice of other forum members. What do you think are the chances that our forum will have Java already installed and activated in their browsers?
According to a recent study by Adobe, Java is already installed for about 82% of the client browsers. Only Flash has a larger base with close to 99%. Macintosh has been shipping with Java installed for several years now. Luckily the new Java plugin from Sun is very easy to install on Windows machines. So anyone who does not have Java installed can quickly do so.
You can put text in the Applet tag instructing users to install Java if they do not have it.
The Adobe survey you referenced uses so called 'mature markets' in its study. However, the vast majority of our users are learners of English who live in India, Vietnam, China, Pakistan and other Asian countries as well as Eastern Europe or even Africa. Do you have any information on how widespread Java is in those regions?
No. I recommend using Google Analytics to measure the capabilities of visitors to your site. Google Analytics is a great free web usage analysis tool. It includes a measure of how many visitors have Java installed. On our "www.javasonics.com" website we saw 95% of visitors supporting Java. Most of our visitors are developers so that is not surprising. But we also saw a 95% Java support on a political website. Maybe liberals are more likely to install Java.