We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

Asterisk, Digium, skrypty AGI i rozpoznawanie mowy, czyli IVR/ASR


furek
29-11-2015, 18:27
W sumie to nie wiem co Ty chcesz.

Napis w jednym zdaniu.

Boostodin
23-10-2015, 17:42
Witam! Czy coś się zmieniło w tych ostatnich kilku tygodni? Mam dokładnie taką samą potrzebę.

konfucjusz
16-09-2015, 15:40
Odpowiedzieliście sobie jakoś prywatnie? Mnie to bardzo zaciekawiło i również chciałbym poznać odpowiedź na te pytania.

tomasus
27-05-2015, 01:29
ja mogę na wszystkie odpowiedzieć jak nadal cchesz

johnyjj2
18-12-2009, 17:04
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_...dowe/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.p...enario=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.../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 (c), a potem uzywam (c) 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!