如何让OpenEars识别iOS上的语音号码?

时间:2011-09-29 21:12:26

标签: ios voice-recognition openears

我正在寻找API在iOS上将语音项目转换为文本,但主要用于数字和字母,如1,2,3,4和a,b,c,d。

我已经像许多人建议的那样尝试过OpenEars,但它似乎只支持某些ords,例如“GO FORWARD BACKWARD LEFT RIGHT START STOP TURN”。它可以用于识别通用词或口语数字吗?

我也尝试过iSpeech API,但是当我说一串像12345这样的数字时,它只能返回“一二三四五”的文字,它只能给我识别的结果而不是一个猜测列表(如Android上的Google语音识别API)。

如何使用这些API(或其他替代方法)识别口头数字或字母?

2 个答案:

答案 0 :(得分:7)

要了解如何创建自定义语言模型以及如何使用OpenEars动态创建语言模型(语言模型是您自定义的单词集),请阅读OpenEars文档:

http://www.politepix.com/openears/yourapp

要了解如何使用OpenEars声学模型来识别口语数字,请在OpenEars论坛中阅读此讨论:

http://www.politepix.com/forums/topic/way-to-see-phonemes-openears-heard

您还可以查看OpenEars示例应用程序中的代码,该应用程序经过大量评论,并显示了内联更改应用程序“词汇表”的示例。如果您对实施OpenEars有更多疑问,我建议在OpenEars论坛上创建一个帐户(我是OpenEars开发人员)。

答案 1 :(得分:-1)

我使用了基于sphinx unit tests的以下JSGF。

<int0> = (ZERO | OH);
<int10> = TEN;
<int100> = HUNDRED;
<int1to9> = ONE | TWO | THREE | FOUR | FIVE | SIX | SEVEN | EIGHT | NINE;
<int0to9> = ( <int0> | <int1to9> );
<int01to09> = <int0> <int1to9>;
<int11to19> = ELEVEN | TWELVE | THIRTEEN | FOURTEEN | FIFTEEN | SIXTEEN | SEVENTEEN | EIGHTEEN | NINETEEN;
<tens> = TWENTY | THIRTY | FORTY | FIFTY | SIXTY | SEVENTY | EIGHTY | NINETY;
<int20to99> = ( <tens> [<int1to9>] );
<int10to99> = ( <int10> | <int11to19> | <int20to99> );
<int1to99> = ( <int1to9> | <int10to99> );
<int0to99> = ( <int0> | <int1to99> );
<int01to99> = ( <int01to09> | <int10to99> );
<int1to9hundreds> = ((A  | <int1to9>) <int100>);
<int101to999> = (<int1to9> (<int01to09> | <int10> | <int11to19> | <int20to99> ));
<int100to999> = (<int1to9hundreds> [[AND] <int1to99> ]);
<int1to999> = ( <int1to99> | <int100to999> | <int101to999> );