Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Recognize letters said by a person using Java

I need to recognize a alphabet spoken by user into a device's microphone. The device could be a Android driven mobile phone.

For example, when user says 'R' it should give me 'R' and not 'Are'..

How to accomplish this spoken letter recognition in Java? I am looking for ideas which can be easily expressed in code.

Edit

Based on one suggestion by @David Hilditch, I came up with this following map of characters and their sounding words.

A - ye,a,yay 
B - be, bee, 
C - see, sea, 
D - thee, dee, de
E - eh, ee, 
F - eff, F
G - jee, 
H - edge, hedge, hatch, itch
I - Aye, eye, I
J - je, jay, joy
K - kay, ke, 
L - el, yell, hell
M - am, yam, em
N - yen, en,
O - oh, vow, waw
P - pee, pay, pie
Q - queue,
R - are, err, year
S - yes, ass, S
T - tee, tea, 
U - you, U
V - we, wee,
W - double you, 
X - axe
Y - why
Z - zed, zee, jed
like image 562
Ronnie Avatar asked Sep 16 '12 17:09

Ronnie


1 Answers

You could use get the text from voice using Google's API (have a quick look to http://developer.android.com/reference/android/speech/RecognizerIntent.html ).

Then, if you want to infer the language (and then, the alphabet) you could use an open project called "Language detector" based on n-grams:

http://code.google.com/p/language-detection/

You could combine it using "dictionary coincidences" and other features that you can get from the text.

like image 192
arutaku Avatar answered Oct 13 '22 00:10

arutaku