2011-09-29 15 views
7

Poszukuję interfejsu API do konwersji mówionych elementów na tekst w systemie iOS, ale głównie w przypadku cyfr i liter, takich jak 1, 2, 3, 4 i a, b, c, d.Jak mogę sprawić, że OpenEars rozpoznaje wypowiadane numery na iOS?

Wypróbowałem OpenEars, jak sugerowało to wiele osób, ale wydaje się, że obsługuje tylko niektóre ords, takie jak "GO FORWARD BACKWARD LEFT RIGHT START STOP TURN". Czy można go używać do rozpoznawania ogólnych słów lub numerów mówionych?

Próbowałem także interfejsu API iSpeech, ale gdy wypowiadam ciąg liczb, takich jak 12345, można tylko zwrócić tekst "jeden dwa trzy cztery pięć", i może tylko dać mi wynik rozpoznania zamiast lista zgadywanek (takich jak API rozpoznawania głosu Google na Androida).

Jak mogę użyć jednego z tych interfejsów API (lub innej alternatywy) do rozpoznawania liter lub liter?

+0

udało Ci się go rozwiązać? – Samidjo

+1

no Zamiast tego użyłem innego API, przepraszam, zapomnij o aktualizacji tutaj. W każdym razie dzięki! – Luvina

+6

@ Luuva, czy możesz podzielić się tym, którego Api użyłeś? Dzięki. – kforkarim

Odpowiedz

7

Aby dowiedzieć się, jak tworzyć niestandardowe modele językowe i sposób dynamicznego tworzenia modeli językowych z OpenEars (model język jest niestandardowy zestaw słów), przeczytaj OpenEars docs tutaj:

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

Aby dowiedzieć jak korzystać z modelu akustycznego z OpenEars który jest zorientowany w kierunku uznania wypowiadane cyfry, przeczytaj tę dyskusję na forum OpenEars:

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

Możesz również spojrzeć na kod w przykładowej aplikacji OpenEars, która jest mocno komentowana i pokazuje przykład zmiany "słownika" aplikacji w linii. Jeśli masz więcej pytań na temat wdrażania OpenEars, polecam założyć konto na forach OpenEars (jestem programistą OpenEars).

-1

Użyłem następującego JSGF na podstawie 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

Ogólnie najlepiej jest podać opis odpowiedzi - zamiast po prostu zostawić blok kodu –

Powiązane problemy