Witam!
Mam dwa takie pliki (stanowią one część przykładowej aplikacji Cairo/Zanzibar, o głównym programie tutaj: http://www.spokentech.org/openivr/index.html): Parrot.java i parrot.vxml. Zrobiłem ich upload tutaj: http://www.speedyshare.com/files/20130100/parrot.rar . Rozmiar to 2kB. Całość zaś do pobrania tutaj: http://sourceforge.net/projects/openivr/
Generalnie to sprawa wygląda tak, że użytkownik dzwoni z telefonu komórkowego na serwer, który odbiera rozmowę przy pomocy programu o nazwie Asterisk. Ten Asterisk przekazuje ją do Cairo/Zanzibar, który ma w sobie zintegrowane dwa kolejne programy. Jeden służy do rozpoznawania mowy (Sphinx4), drugi zaś do generowania mowy (FreeTTS). Potrzebne jest mi rozpoznawanie mowy, ale nie potrzebuję generowania mowy z tekstu. Zobaczyłem, że jest przykładowa aplikacja Parrot, która to, co odbierze i rozpozna, powtarza. Jest w niej plik Parrot.wav, ale nigdzie nie widzę, żeby był on zawarty w kodzie. Czyli kwestia jest taka, że zamiast TTS czytającego odpowiedzi z pliku parrot.vxml chciałbym, żeby odtwarzał mi pliki wav.
Czy mógłby ktoś ściągnąć ten program, przejrzeć kod i zasugerować mi coś? Samemu go przejrzałem, do niewielu wniosków doszedłem, zadałem pytanie na ich liście mailingowej, ale odpowiedzi się nie doczekałem: http://old.nabble.com/using-other-acoustic-models-in-Cairo-Zanzibar-to26879547.html#a26998499 (pierwsze pytanie).
Z góry dzięki za pomoc,
pozdrawiam!
PS
Główna część kodu Parrot.java:
while (!stopFlag) {
_logger.debug("Calling play and Recognize...");
RecognitionResult r = sClient.playAndRecognizeBlocking(false, result + prompt,grammar,false);
if ((r != null) && (!r.isOutOfGrammar())) {
_logger.debug("Got a result: "+r.getText());
result = r.getText()+". ";
for (RuleMatch rule : r.getRuleMatches()) {
_logger.info(rule.getTag()+ ":"+rule.getRule());
if ((rule.getTag().equals("QUIT")) && (rule.getRule().equals("main"))) {
stopFlag = true;
try {
this.getContext().dialogCompleted();
} catch (InvalidContextException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
I część kodu parrot.vxml:
...
<field name="main">
<nomatch>
Your response was out of grammar. Would you like to hear the weather, get sports news or hear a stock quote? Say quit to exit.
</nomatch>
<noinput>
I could not hear you. Would you like to hear the weather, get sports news or hear a stock quote? Say quit to exit.
</noinput>
<prompt>
Would you like to hear the weather, get sports news or hear a stock quote? Say quit to exit.
</prompt>
...