开发者

How can I get OpenEars to recognize spoken numbers on iOS?

I'm looking for API to convert spoken items into text on iOS, but mainly for numbers and letters like 1, 2, 3, 4 and a, b, c, d.

I've tried OpenEars as many people suggested, but it appears to only support certain ords, such as "GO 开发者_开发问答FORWARD BACKWARD LEFT RIGHT START STOP TURN". Can it be used to recognize generic words or spoken numbers?

I have also tried the iSpeech API, but when I speak a string of numbers like 12345, it can only return the text "one two three four five", and it can only give me the result of the recognition instead of a list of guesses (like the Google voice recognition API on Android).

How can I use either of these APIs (or another alternative) to recognize spoken numbers or letters?


To learn how to create custom language models and how to dynamically create language models with OpenEars (a language model is your custom set of words), read the OpenEars docs here:

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

To learn how to use an acoustic model with OpenEars which is oriented towards recognizing spoken digits, read this discussion in the OpenEars forum:

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

You can also look at the code in the OpenEars sample app, which is heavily commented and shows an example of changing the apps "vocabulary" inline. If you have more questions about implementing OpenEars, I recommend making an account on the OpenEars forums (I'm the OpenEars developer).


I used the following JSGF based on the sphinx unit tests.

<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> );
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜