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).

MBEDEASYVR3SPEAKERSD CARD
Vu5V
GNDGNDGNDGND
TX(p28)RX
RX(p27)TX
Analogout(p18)base (transistor)
p8CS
p5DI
Vout3.3V
p7SCK
p6DO

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

/media/uploads/ychang79/20160314_155650.jpg

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:

12 Apr 2016
17 Aug 2018

For more information. voice recognition set(pg 45). https://www.veear.eu/files/EasyVR%203%20User%20Manual%201.0.16.pdf

Please log in to post comments.