johnyjj2
15 lat temu
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_internetowa_voip/urzadzenia_dwustandardowe/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 -
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!
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_internetowa_voip/urzadzenia_dwustandardowe/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 (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!