Voice-Controlled Music Player
Voice Recognition music player using EasyVR3
ECE 4180 Lab 4 option 2. The project consist of music player using voice recognition device via, Cherry MX red key switches MicroSD card, Speakers, and a uLCD Screen. The project was drawn ideas from Amazon Echo device shown in the video below.
The music player allows the user to play music, control volume, and move to the previous/next music on the lists. The user can also see the current song being played on the LCD screen. The user can also scroll up or down the song and see the name of the other song in the SD card before playing it. The RGB LED was added to indicate which command was taken.
EasyVR 3 is a multi-purpose speech recognition module designed to easily add versatile, robust and cost effective speech recognition capabilities to almost any application. The EasyVR 3 module can be used with any host with an UART interface powered at 3.3V – 5V, such as PIC and Arduino boards. Up to 32 user-defined Speaker Dependent (SD) or Speaker Verification (SV) commands, that can be trained in ANY language. Support pp to 28 custom Speaker Independent (SI) command vocabularies1. Supported Languages: US English British English French German Italian Japanese Korean Mandarin Spanish A selection of built-in Speaker Independent (SI) commands for ready-to-run basic controls, in the following languages: English (US) Italian German French Spanish Japanese
Wiring
It outputs a serial TTL signasl and runs off of 3.3V, but can also run off 5V. The basic connections are to plug in the microphone, hook up power, and then the serial RX/TX pins. The RX and TX swap when connecting to mbed (i.e., RX-TX and TX-RX).
MBED | EASYVR3 | SPEAKER | SD CARD |
---|---|---|---|
Vu | 5V | ||
GND | GND | GND | GND |
TX(p28) | RX | ||
RX(p27) | TX | ||
Analogout(p18) | base (transistor) | ||
p8 | CS | ||
p5 | DI | ||
Vout | 3.3V | ||
p7 | SCK | ||
p6 | DO |
Using EasyVR3 for basic Speech Recognition Commands to light up an RGB LED
The demo below shows an RGB LED lighting up different colors based on speech commands. When a user says "Hello," the LED will light up green. Following by the command "Run," the LED will blink red, green, and blue continuously until a command of "Stop" is requested by the user which will turn the LED off. For the status, if the MBED's LED1 light up then the EasyVR3 is ready for listening. The green light on the EasyVR3 module also indicates a listening status. When the EasyVR3 takes a command, the MBED's LED4 will toggle.
Some downside to using this module is that the mic can sometimes not pick up your voice correctly and will not respond to your command. Depending on how well you project your voice, the module may or may not pick it up the first time.
Future work
The voice recognition command component is very poor and sensitive. It will pretty much pick up any ambient noise and take random command at any moment. Hence, the listening status is off while playing the music. The key switch was added to interrupt playing sequence and return to listening status. The interrupt command will be added to continue to take voice command while playing the music, and head phone jack will be added to make sure the mic won’t pick up ambient noise.
Picture
Import MBED Program
Import programmusicplayer
Music Player
Demo Video
Library
The library below shows the functions needed to read music files, play the music, and set the verbosity of this music player. Other libraries are included in the program.
Import library
Public Member Functions |
|
wave_player (AnalogOut *_dac) | |
Create a wave player using a pointer to the given AnalogOut object.
|
|
void | play (FILE *wavefile) |
the player function.
|
|
void | set_verbosity (int v) |
Set the printf verbosity of the wave player.
|
2 comments on Voice-Controlled Music Player:
Please log in to post comments.
For Demonstration. https://www.youtube.com/watch?v=z1tOikdVy_M