For the course TfCD of the IPD Master at TU Delft.
This is an instructable on how to make a voice recognition system. We explain the basics and how to set this project up with the help of Arduino and BitVoicer. After completion of the basics we believe you can use this system to your liking.
Step 1: Preparing the Output: Your Arduino and Box
You need your Arduino, some wires and LEDs (three will do). We hooked the LED's into pin 3, 5 and 6 (all PWM pins, although we don't use them). Remember, for this tutorial we focus on the input method: voice recognition. We, therefore, didn't focus on the output of this system and kept it fairly simple.
To demonstrate a use of this technology we made a box in which we put 3D printed bearings for knee implants. The idea is that you have a lot of different items and you need to find the right one. We choose to demonstrate this with a small, medium and large object symbolizing a bearing for a knee implant. To make things more clear we decided to use a green LED for the small size, yellow LED for the medium size and red for large.
Step 2: Setting Up BitVoicer
The first thing you want to do is activate your product under help > activate. This allows you to send data from Bitvoicer to your microcontroller (Arduino).
Next, you want to set up Bitvoicer so it actually used Arduino to configure its output. Go to file>preferences. Here you see some options:
Don't mind the first paragraph. Those are obvious options, allowing you to open up and start the voice recognition system as soon as your computer starts. You might later consider this using a Raspberry Pi and make a standalone system.
Next, you see the following option:
Speech Recognition Language: determining which language BitVoicer should recognize,
Acceptable confidence level: Be aware that voice recognition 'predicts' what has been said. It may never reach 100%, but 40% might be already enough to work effectively. This depends on the user's accent, the volume of speech or microphone. We will come back to this later.
Minimum audio level: The minimum audio level the computer should listen to
Audio level activated period (ms): the duration how long it should listen after the minimum audio level is reached
Latency period: Delay between your voice command and output.
In the next paragraph, you should untick disable communication. This allows Bitvoicer to communicate to the Arduino. Following settings are Port Name, Bits per second, parity, stop bits, flow control. Set Port Name to the right serial port (this is named COMX with X being a number, you can find it under help>port in Arduino). Make sure your Bits per second are 9600. You can leave the other options being their default.
For the next paragraph, we are going to use the computer's microphone.
Now you are ready to play with Bitvoicer.
Step 3: Using Bitvoicer
In this video we explain how to use Bitvoicer.
Step 4: The Arduino Code
We used another source code and simplified it to use it. The simplified version with instruction can be found in the Attached Arduino code. (You can see the source here https://www.youtube.com/watch?v=4FsTjYp8Ka8)
That's it! You are now able to use voice commands as an input and decide what output you want in the arduino code.