2011-09-29 10 views
7

Sto cercando API per convertire elementi vocali in testo su iOS, ma principalmente per numeri e lettere come 1, 2, 3, 4 e a, b, c, d.Come posso far sì che OpenEars riconosca i numeri parlati su iOS?

Ho provato OpenEars come suggerito da molte persone, ma sembra supportare solo determinati ord, come "GO FORWARD BACKWARD LEFT RIGHT START STOP TURN". Può essere usato per riconoscere parole generiche o numeri parlati?

Ho anche provato l'API iSpeech, ma quando parlo una stringa di numeri come 12345, può solo restituire il testo "uno due tre quattro cinque", e può solo darmi il risultato del riconoscimento invece di un elenco di ipotesi (come l'API di riconoscimento vocale di Google su Android).

Come posso utilizzare una di queste API (o un'altra alternativa) per riconoscere numeri o lettere parlate?

+0

sei riuscito a risolverlo? – Samidjo

+1

no, ho usato un'altra API invece, mi dispiace dimenticarti di aggiornare qui. Grazie comunque! – Luvina

+6

@Luvina, puoi condividere quale Api hai usato? Grazie. – kforkarim

risposta

7

Per imparare a creare modelli linguistici personalizzati e come creare dinamicamente modelli linguistici con OpenEars (un modello di lingua è il set di parole personalizzato), leggere le OpenEars documentazione qui:

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

Per imparare come utilizzare un modello acustico con OpenEars che è orientato verso il riconoscimento cifre pronunciate, leggere questa discussione nel forum OpenEars:

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

Puoi anche guardare il codice nell'app sample OpenEars, che è pesantemente commentato e mostra un esempio di modifica del "vocabolario" delle app in linea. Se hai altre domande sull'implementazione di OpenEars, ti consiglio di creare un account sui forum di OpenEars (sono lo sviluppatore di OpenEars).

-1

Ho utilizzato il seguente JSGF basato su 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>); 
+1

Generalmente è meglio dare qualche descrizione sulla tua risposta - piuttosto che lasciare un blocco di codice –

Problemi correlati