Skip to content
This repository has been archived by the owner on Nov 26, 2024. It is now read-only.

Before you start

jgrosso edited this page Oct 29, 2014 · 6 revisions

#Introduction uSpeech is not for the faint-hearted. It is a limited voice recognition software for the AVR and a fair deal of patience will be required for your first project. For version 4.0.0 - 4.1.1 video instructions exist here: Calibration Playlist

#Calibrating In the void setup() function you will notice a lot of code related to calibration. A full tutorial video is available here. In case video cuts off, or you are behind some firewall here is whats going on: Firstly, µSpeech needs to be calibrated for every microphone and pre-amp. In its most basic form, this involves the volume of the microphone. Using the debug_uspeech sketch in the examples>installation submenu we upload it to the Arduino. Open up serial monitor, and you will see something like:

uSpeech debug tool--------
 Press 'a' if you wish to calibrate/check the f algorithm
 Press 'b' if you wish to calibrate/check the getPhoneme
 Press 'c' if you wish to calibrate/check the volume of your microphone
 Press 'd' if you wish to calibrate/check the coeff

Volume

To start with we play around with the volume of our microphone. To calibrate the volume start off by sending the character 'c' to uSpeech. You will see a stream of numbers. While you are silent these numbers will be less than a certain threshold. Once you start talking into your microphone the numbers will cross a certain threshold. These values represent the approximate volume level of the sound coming through the microphone and will vary from microphone to microphone.

Examine the values that are displayed and determine an approximate lower bound for the volume level and use that to configure the voice.minVolume value.

voice.minVolume = 500;

Coeff Constants

Next, we can begin to configure the constants for the various phenomes. We can detect a, e, f, sh, and v sounds. Send the character 'd' to uSpeech to get started. Without saying anything, the output should be mostly zeros.

Starting with the e sound, make a continuous noise into the microphone. Again, take note of the output and determine the cutoff value for this sound. Set the voice.econstant value to the number that the output did not exceed. For instance, if the majority of the values are 1 and 0, set it to 2. An occasional 2 in the output is nothing to be concerned about and the value should be based on the majority of the sampling.

Continue through with the other sounds, trying a, v, sh, and *f" in turn to determine there constants.

Work in Progress-----

Clone this wiki locally