Skocz do zawartości

Asterisk, Digium, Skrypty Agi I Rozpoznawanie Mowy, Czyli Ivr/asr


marek_z_podola

Rekomendowane odpowiedzi

Witam!

 

Byłbym bardzo wdzięczny, gdyby ktoś mógł odpowiedzieć na moje pytania, przynajmniej jednym zdaniem :-). Albo prosta odpowiedź typu "1-3, 2-1, 3-2" (jest to mój wybór na ten moment) i dać krótkie wyjaśnienie :-).

 

Znam się trochę na używaniu SphinxTraina i Sphinx4. Chciałbym stworzyć taki system IVR-ASR, że:

a. użytkownik wybiera specjalny numer z telefonu komórkowego

b. mówi dwanaście cyfr

c. serwer rozpoznaje cyfry, oblicza sumę kontrolną i informuje użytkownika o tej sumie

d. kroki drugi i trzeci są powtarzane wiele razy, aż do wypowiedzenia słowa "koniec"

 

W zasadzie to chciałbym się dowiedzieć, jaki sprzęt lub usługi muszę kupić i jak skonfigurować rozpoznawanie mowy dla mojego modelu akustycznego, czyli komunikację między programami Asterisk i programem rozpoznawania mowy. Pewne rzeczy znalazłem i poniżej przedstawiam swoje pomysły. Niemniej przydałoby mi się, gdyby skomentował je ktoś bardziej doświadczony :-).

 

---------------------------------------------------------------------------------------

1. JAK UMOŻLIWIĆ DOSTĘP DO ASTERISKA Z TELEFONU KOMÓRKOWEGO (wybór sprzętu i usług)

słowa kluczowe: server, karta Digium, SIP/ITSP provider, PSTN/DID numer

---------------------------------------------------------------------------------------

 

Mam serwer (rzecz jasna z dostępem do internetu). Niestety jest on odpalony na Windowsach (spróbuję jednak przekonać administratora do jego zmiany na Linuksa i może mi się uda). Co powinienem kupić do serwera? Pomyślałem oL

 

1-1. http://planet.pl/produkty/telefonia_intern...rdowe/vip_281gs

1-2. karta Digium

1-3. zakup usługi od SIP providera (jaka może być cena takiej usługi?)

1-4. wynajęcie serwera

 

Ad. 1-2.

 

Zadałem pytania SIP providerom i oto, czego się dowiedziałem.

 

Pierwszy z nich (HaloNet) powiedział mi, że w celu skonfigurowania Asteriska i HaloNetu potrzebuję: 1. konta (https://www.halonet.pl/rejestracja), 2. hasła do konta, 3. nazwy serwera SIP (sip.halonet.pl). Dodatkowo, w cleu przetestowania rozmów przychodzących, potrzebuję numeru PSTN. Powiedziano mi, żeby zarejestrować się do usługi i potem wysłać im maila z prośbą o dodanie numeru testowego. Dostarczyli mi oni również przykładową konfigurację dla Asteriska. Jak stworzyć lub uzyskać nazwę mojego SIP serwera?

 

Drugi z nich (Ipfon) wymaga: 1. stworzenia konta (https://rejestrator.ipfon.pl/index.php?version=ipfon_starter&scenario=telefon), 2. skonfigurowania trunk dla Asteriska (http://forum.ipfon.pl/index.php?topic=64).

 

Zadałem również pytanie na liście mailingowej Ekiga (http://mail.gnome.org/archives/ekiga-list/2009-December/msg00046.html). Powiedziano mi, że nie mogą dostarczyć tego, czego potrzebuję. Dowiedziałem się jednak, że powiniene uzyskać od ITSP (nie SIP) providera numer DID (nie PSTN). Myślałem, że wiem już, że potzrebuję numeru PSTN od SIP providera. Oni napisali o numerze DID od ITSP providera i w sumie nie bardzo wiem, co jest grane. Którego z nich potrzebuję?

 

Podsumowując będzie to wyglądać następująco: użytkownik -> telefon komórkowy -> rozmowa -> serwery providerów -> internet -> mój serwer -> Asterisk. Mam rację?

 

Ad 1-4:

 

Na początku pomyślałem o użyciu serwera, do którego będę miał dostęp. Fizyczny dostęp do posiadanego sprzętu byłby konieczny w przypadkach 1-1 i 1-2. Aczkolwiek dla 1-3 mogę rozważyć dwie opcje (własny serwer lub wypożyczenie z innego miejsca). Normalną rzeczą jest, że można kupić trochę miejsca na serwerze w celu uploadu strony internetowej. Czy są podobne usługi do tego, czego ja potrzebuję? Innymi słowy potrzebuję serwera Linuksowego z Asteriskiem i zapewne też Sphinksem. Minusem mojego serwera jest to, że będzie odpalony na Windowsach i zapewne będę musiał użyć Asteriska pod Windowsami (choć nie jest to całkiem pewne, może uda mi się przekonać administratora do Linuksa).

 

---------------------------------------------------------------------------------------

2. JAK UMOŻLIWIĆ ROZPOZNAWANIE MOWY NA SERWERZE Z ASTERISKIEM (wybór oprogramowania)

słowa kluczowe: skrypty AGI, Sphinx4, wtyczka ScribbleJ, PocketSphinx

---------------------------------------------------------------------------------------

 

2-1. Znalazłem to: http://www.voip-info.org/wiki/view/Sphinx . Jest to skrypt AGI do wywołania z Asteriska. Mam rację, że jedynym czego bym potrzebował to Asterisk i Sphinx4? Stąd też byłbym bardzo ciekaw, czy mogę użyć tego skryptu, żeby połączyć Asteriska ze Sphinksem4.

2-2. Znalazłem to: http://scribblej.com/svn/ . Jaki jest plus użycia tego ScribbleJ, jeśli to samo można dużo prościej zrobić z 2-1? Dla tego rozwiązania będzie to wyglądało tak: Asterisk -> ScribbleJ plugin -> Sphinx4 (jeśli jest to możliwe, żeby zintegrować ze Sphinx4, było testowane tylko dla PocketSphinksa).

2-3. Czy są jeszcze jakieś inne możliwości?

 

---------------------------------------------------------------------------------------

3. GDZIE UTWORZYĆ ALGORYTM? (Asterisk + Sphinx lub Asterisk + skrypty AGI/AEL/LUA)

---------------------------------------------------------------------------------------

 

3-1. Gramatyka formalna i kod źródłowy aplikacji Sphinx4

 

Z początku pomyślałem o napisaniu aplikacji dla Sphinksa4. Aplikacja jest napisana w Javie, normalnie się uruchamia ją przez "java -mx256m -jar bin/ApplicationName.jar". Stworzyłem: a) model akustyczny (nie ma darmowych modeli dla j. polskiego) w SphinxTrain, B) model językowy (przy pomocy lmtoolkit online), c) gramatyki formalne (najważniejsze dla algorytmu), d) listę słów, listę fonemów, e) główną aplikację (kod źródłowy w Javie). Tworzę (a) z (B) i ©, a potem uzywam © i (a) dla (e).

 

3-2. Dialplan ze skryptem AEL/LUA

 

Później pogadałem trochę na kanale #asterisk na Freenode. (Zainstalowałem Pidgina specjalnie, żeby zapytać autora wtyczki ScribbleJ, czy da się ją odpalić pod Windowsami, ale i tak nie udało mi się z nim skontaktować). Powiedzieli mi "Zaimplementuj logikę w dialplanie. Jeśli wolisz, użyj języka embedded typu AEL lub LUA". Czyżbym więc w ogóle nie potrzebował kodu źródłowego w Javie dla Sphinx4? Czy w ogóle potrzebuję tego Sphinx4, czy tylko Asteriska, model akustyczny i dialplan? Możecie polecić jakieś tutoriale o tworzeniu dialplanów? Czy dalej potrzebuję gramatyk formalnych z 3-1?

 

Z góry wielkie dzięki za pomoc :-)!

Pozdrawiam!

Odnośnik do komentarza
Udostępnij na innych stronach

Ciekawą rzecz robisz, co prawda pomóc Ci nie mogę, ale miło by było jeśli podzieliłbyś się trochę wiedzą jak Ci się uda rozwinąć temat. Czy jest jakiś system rozpoznawania mowy który radzi sobie z językiem polskim?

 

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...