pVoice 2.0 and the needs

jouke on 2003-02-25T11:07:02

Well, it's been quite a while since I've written in my journal. I'ts about time for an update.

In my last journal I mentioned I would continue with pVoice 2.0. I didn't. I was too busy with other things, but it made me feel bad. And it should, because Krista (my daughter) needs the next version badly. So I dropped everything else a week ago and restarted working on it.

And with some success. If I'm continuing at this pace I think it will be ready by next weekend. It hasn't been very simple though.

I needed something to be able to record sound from the PC's microphone. I thought about using Win32::OLE and trying to find some free ActiveX component to record sound. No such luck! Everyone in the ActiveX world tries to make money out of the components they write. What happened to the Open Source spirit there? No wonder M$ itself doesn't open up. Their users don't mind giving their source away either! So I looked further and tried to use the SoundRec component, which comes with windows itself. No luck there either. It does not seem to be compatible with Win32::OLE. It fails to load. And besides that, there is no documentation available ANYWHERE on that component. Finally I found some info on the MCI interface. With the MCI interface (which you can use by either using Win32::API along with the mci DLL that is installed on every windows machine, or using Win32::MCI::Basic, which provides a simple, clean interface to it), you can send strings to the Multimedia devices in your system, allowing you to define the quality of your recording (sample rate and such), record, pause and stop, and of course save the recording. This will result in Win32::SoundRec I'm putting together now.

Then, while I was busy, Mattia Barbon released a beta of wxPerl 0.13. I thought it would be a good idea to use the new version immediately, so I downloaded it, installed it, and ran into the first bug :(. It seems that there is a bug in Wx::Font, not allowing me to define the font I want to use in the userinterface. I'll just have to be patient and wait for a fix.

Finally my work will result in a new tree of modules, which are in the AAC::Pvoice:: namespace. AAC is the general term used for Augmentive and Assistive Computing. I think more people might want to create modules for that purpose, so I think the new top-level namespace AAC is justified...what do you think?