問題タブ [voicexml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - SRGS - Java でのテキスト入力による GRXML 解析
SRGS .grxml 文法ファイルを使用する既存の IVR 音声アプリケーションがあります。IVR では、音声認識エンジン (Nuance) がこれらの文法を使用して音声入力を受け取り、指定された特定の文法に基づいていくつかの値を返します。
これらと同じ文法ファイルを使用する Java ベースのツールを見つけようとしていますが、プレーン テキストを送信して文法の規則に従って解析することができます。
私は sphinx4 を見たことがありますが、それらには認識機能がありますが、それは私が知る限りのマイク入力のみを使用します。文法とサンプルテキストが文法の結果を出力するニュアンスの「parseTool」のようなものを本当に探していますが、Javaクラス内で必要です。
このようなツールを知っている人はいますか?
java - Rivr VoiceXML for Java の「ちょっと待って」メッセージ
インタラクションの直後に「ちょっと待って…」というメッセージを再生する必要があります。ユーザーに戻る前に、時間のかかるタスクを実行する必要があるため、これが必要です。アプリの流れは次のとおりです。
1) ウェルカム メッセージ (TTS) を再生します 2) ユーザーから音声を収集します (Rivr 音声レコードの対話) 3) 音声の処理と関連するビジネス プロセスに時間がかかるため、「ちょっと待ってください」TTS メッセージを再生します (数秒かかります) 4) [時間5) 処理の結果を再生 (TTS) し、さよならを言います。
すべてが正常に機能していますが、時間のかかるタスクの直後に、プロセスの合成結果とともに「ちょっと待ってください」というメッセージが再生されます (つまり、ユーザーが話し、待つ必要があります)。ダイアログ コードでは前に配置されています。 「時間のかかるタスク」。何らかの理由で、Rivr または VoiceXML エンジンのいずれかが両方のメッセージ (3 と 5) をバッファリングして、それらを一緒に再生しています。
手順 3 の Rivr を「フラッシュ」させ、レコーディング インタラクションの直後に「ちょっと待って」というメッセージを再生し、ユーザーが少し待つ必要があることを知らせるにはどうすればよいですか?
java - Rivr Java VoiceXML ライブラリの addPrompt() で言語を指定する方法
私の VoiceXML プロバイダーである Nexmo はxml:lang="es-ES"
、ルートの属性を処理していないようです (これは、私のダイアログでvxml
Rivr によって生成されます)。context.setLanguage("es-ES")
Nexmo でスペイン語の TTS エンジンを使用したいのですが、Rivr を使用しているため、「プロンプト」に含める場所を指定できる場所がわかりません。たとえば、 xml:lang="es-es-female"
VoiceXML を生成します。
interaction().addPrompt()
SpeechSynthesis
(私が見る限り)言語オプションを許可しないオブジェクトのみを受け入れます。
また、SpeechSynthesis オブジェクトに SSML を含めようとしましたが ( DocumentFragment
Rivr Javadoc にあるように a を使用)、うまくいきません。おそらく Nexmo は SSML をサポートしていません。
回避策はありますか?(より良い VoiceXML プロバイダーへの変更の一部) どうもありがとう!!!
voicexml - Nexmo VoiceXML が en-US 以外の言語で機能しない
Nexmo で問題なく動作する VoiceXML アプリケーションを実行しています。en-US 以外の言語を設定すると、通話に応答する必要があります。en xml:lang を次のように変更するだけです。
上記のvxmlとpromptタグで試しました。es-es、es-ES... en-UK などの言語を使用すると、vxml が Nexmo で機能しなくなります。en-us-male と en-us-female で en-US の女性と男性の声を変更できるので、スクリプトは問題ないと確信しています。それはうまくいきます。
何か不足していますか?
(違いはないと思いますが、vxml を生成するために優れた Rivr Java ライブラリを使用しています)
java - Rivr ダイアログのタイムアウト ログ
Rivr VoiceXML アプリケーションで、Dialogue リクエストごとにタイムアウト ログ エントリがあります。doTurn メソッドで com.nuecho.rivr.core.channel.Timeout を確認しましたが、問題ありませんが、これらのログを取得し続けています。これは私のコードから外れているため、ログ ファイルの取得をキャッチして防止する方法がわかりません。それらの完全な:
おそらく、それらを防ぐために、ダイアログコードでキャッチした com.nuecho.rivr.core.channel.Timeout で何らかのアクションを実行する必要があります(現在、私は
助けてくれてありがとう
voicexml - Rivr VoiceXML で異なるダイアログに 1 つの DialogueFactory を使用する方法
VoiceXmlDialogueFactory を使用していくつかのダイアログを作成しています。ダイアログ(web.xml)で構成されたクラス名をどのように確認できるので、すべてのダイアログに対して DialogueFactory クラスを作成する必要がなく、create メソッドで if/then を実行できます。私はその方法をチェックしました:
しかし、com.nuecho.rivr.voicexml.dialogue.class パラメーターを取得する場所が見つかりませんでした。他の方法で読み取ることができる特定のパラメーターもうまくいくかもしれません。
アドバイスをありがとう。
voicexml - ダイアログの発信者番号
私が使用していたRivrアプリケーションで
firstTurn.getParameter("nexmo_caller_id");
Nexmo からパラメーターが渡されたので、発信者 ID を取得しましたが、Voxeo に変更したところ、明らかに機能しなくなりました。Rivr には、ダイアログで発信者 ID (リモート発信者番号) を取得するための標準的な方法はありますか?
ありがとう
voicexml - Rivr VoiceXML に例外が記録されましたが、誤動作はありません
ダイアログが終了すると、Rivr アプリに例外がログに記録されます (ユーザーのハングアップなど)。実際には問題は発生していませんが、ログには多くの問題が発生します。それらを処理/アドレス指定/停止する方法はありますか?
(WAS Liberty Profile 8.5.5.7 を使用)
ありがとう