The box-phones are coming together. Gruebox1 (the touch-tone one) is more or less complete, and Gruebox2 (the rotary one) is almost ready to be assembled, however I’ve noticed that the voice recognition is abysmal, which is strange because when I was using an old computer headset to prototype them the recognition was passable, if not perfect.
My first attempt at debugging was the enable the echo feature of the dial-a-grue code… where it echos back what it recorded/heard. Using the phone handsets there was significantly more background noise than using the headset. I blamed this on the old microphones in the handsets, which have significantly higher impedance (~5Kohm) than the mic on the headset (500-800 ohms). My thinking was that the impedance mismatch of the usb dongle I’m using and the mic was causing extra noise/poor signal.
However a little research leads me to believe that the impedance mismatch is unlikely to be the cause. When I posted about it on the Adafruit forums, Their local guru suggested that I create a simple filter using a smallish capacitor to filter out the high frequency stuff that was part of the noise. That sounded plausible, so I acquired a small set of caps in the range of 10nF to 100nF to try and filter out stuff above 3KHz. Unfortunately, the recognition rate was, if anything, slightly worse then with no cap at all, so I’m back go square one.
The only path forward I see at this point is to use different mics, though this is fraught with difficulties, not least of which is finding mics that will fit in the handsets and work better, without requiring much power. The chances that I can find suitable replacements before the Maker Faire are slim.