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>
...