我需要识别用户对着设备的麦克风说出的字母表。该设备可以是安卓驱动的移动电话。
例如,当用户说“R”时,它应该给我“R”而不是“Are”..
如何在Java中完成这种口头字母识别?我正在寻找可以用代码轻松表达的想法。
编辑
根据@David Hilditch 的一项建议,我想出了下面这张人物图及其读音词。
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
最佳答案
您可以使用 Google 的 API 从语音中获取文本(快速查看 http://developer.android.com/reference/android/speech/RecognizerIntent.html)。
然后,如果您想推断语言(然后是字母表),您可以使用一个基于 n-gram 的名为“语言检测器”的开放项目:
http://code.google.com/p/language-detection/
您可以使用“字典巧合”和您可以从文本中获得的其他特征来组合它。
关于java - 识别使用 Java 的人所说的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12449242/