Bluetooth interface of Smartphone using Voice commands

Overview

Our project aims to control a Smartphone using voice commands that are relayed using a Bluetooth module. We use an ARM Microcontroller(LPC 1768), an Android smartphone, an RN-41 Bluetooth module and an EasyVR speech recognition module.

/media/uploads/srikard/img_0331.jpg Fig 1: Setup

The EasyVR module was used for speech recognition. We used the EasyVR commander to train the required voice commands.

http://developer.mbed.org/media/uploads/4180_1/x_scaled_easyvr2.jpg.pagespeed.ic.P1CL_GixWZ.webp

Fig 2: EasyVR module and microphone

When the EasyVR matches the user's command to a command in its database it returns a specific character for every command that's matched. This character is relayed to the smartphone using the Bluetooth module. The application used on the smartphone is called the BlueSerialTest, the code for which was modified to implement the specific functions required based on the character that was returned by the EasyVR module.

The code for this project was divided in to two parts i.e, interfacing the mbed with the EasyVR and the RN-41 Bluetooth module and the code for the smartphone application. The mbed code was developed in C++ using the mbed cloud compiler. The smartphone application was developed using Java API.

Connections

http://developer.mbed.org/media/uploads/4180_1/250xNx_scaled_easyvrwir.jpg.pagespeed.ic.P6CIW2I38A.webp

Fig 3: Wire connections from EasyVR to mbed

mbedEasyVRwire color
gndgndblack
VoutVccred
RX(14)ETXwhite
TX(13)ERXblue

Table 1: mbed to EasyVR connections

RN41 Pinmbed Pin
1-GNDGND
11- VDDVout
12 - GNDGND
13 - RXp9
14 - TXp10
28 - GNDGND
29 - GNDGND

Table 2: mbed to RN41 connections

Training using the EasyVR GUI

The serial bridge code below can then be run on mbed so that it can talk to their PC-based EasyVR GUI training program over mbed's USB Virtual Com Port. This software allows the user to create and test new speaker dependent (i.e., trained for one person) command words.

http://developer.mbed.org/media/uploads/4180_1/x_scaled_easyvrgui.jpg.pagespeed.ic.xybr3W7jyn.webp

Fig 4: EasyVR commander GUI used for training voice commands

Import programEasyVR_Bridge

Serial Bridge program to support using the EasyVR with mbed. It is run when using the PC-based EasyVR GUI tools for voice recognition training and testing.

Demo

As can be seen from the video we couldn't succeed in using our custom commands that we trained using the EasyVR commander, so we had to revert back to the default number commands. In this demo when the user says number '1' the phone calls back the most recent caller, for '2' the phone call a particular contact from the phone's contact list, '3' opens up the music player, '4' disconnects an incoming call.

Code

mbed part

Import programBluetooth_Smartphone

4180 final project

App part

https://github.com/sd08/BlueSerialTest.git

References


Please log in to post comments.