As much as I should be revising, who doesn’t enjoy a good break porting a library eh!
The uSpeech library is a pretty cool one written by Arjo, it allows a microcontroller to decode human speech into simple phonemes (sections of words that distinguish between other words). A couple of example have been included though I’ve only ported the LED example.
I’ve tried to match the conditions that would be used in the arduino environment as much as possible (100us sample time for audio). The only difference is that I’m sampling at 12bit vs 10bit which will increase the resolution. I’m also using 32bit integers (int32_t – compared to arduino’s 16bit integers) and replaced all bools with 8 bit chars (uint8_t).
While it is a touch temperamental for me, I’ve not tried calibrating anything and have merely ported the minimal functionality!
Microphone amplification circuit
In the near future, I’ll be posting about designing common emitter amplifiers, for example: designing for microphone preamp usage. In this example, I use a common emitter transistor amplifier to amplify the microphone output, apply a bias and buffer for the STM32F0 ADC input. ADC channel 0 (PA0) is used and the onboard LED (PC9) is used as the output.
The code for this implementation can be found on my Github!