柏原 昭博
2019.10.23
TextToSpeechSample.javaの音声生成におけるエラー
eclipseを用いて開発を行っています.
csvファイルによる音声生成を行わせようとするときに以下のようなエラーがでます.
[Error][TextToSpeechSota]Response is null
java.lang.NullPointerException
        at jp.vstone.RobotLib.CPlayWave.PlayWave_wait(CPlayWave.java:585)
        at jp.vstone.RobotLib.CPlayWave.PlayWave(CPlayWave.java:73)
        at jp.vstone.sotasample.TextToSpeechSample.main(TextToSpeechSample.java:

また,何度か試したところ,与えたcsvにテキストを複数行記述して与えたうち
最初の行のテキストでのみこのエラーが出ました.
なのでテキスト・音程・速度・抑揚のパラメータの設定は問題ないと思われます.
なお,Sotaのクラウドライセンスは適用できています.
よろしくお願い致します.
回答
Sotaサポート
2019.10.25
柏原 昭博様

お世話になっております。Sotaサポートです。
ご質問の状況につきまして、クラウド上のTTSサーバからのレスポンスが得られていないネットワーク関連の問題である可能性が考えられます。
また、いくつかの発話のうち一つだけ問題が発生するのは、他の発話は本体内にキャッシュされている可能性があります。

まずは、現在時刻など、本体にキャッシュされていないと思われる発話が正常に行われるかご確認ください。
キャッシュされていない発話が正常に行われない場合、以下をご確認ください。


・ポート8080がブロックされていないか
音声合成にはポート8080を使用するため、ポートフィルタリングなどがかかっていると正しく通信できません。
お使いのネットワークにこういった制限が無いか、また、制限がないような別のネットワークで動作するかご確認ください。

 

・Sotaをproxyで接続している
Sotaはネットワークにproxyで接続できません(各種機能が正しく動作しない可能性があります)。
proxyを使用しない方法でネットワーク接続して改善するかご確認ください。



また、もし全くキャッシュされていない発話が正常に行われる場合は、発話させようとしている文章を、改行など含めずに単体で実行して正常に行われるか、また、文章中に特殊な文字コードと受け取られそうなものが含まれていないか等をご確認ください。
柏原 昭博
2019.10.30
ご返信ありがとうございます.
ご指摘いただいた点を試してみましたがいずれもエラーがでました.エラー文は以下の通りです.
[Error][TextToSpeechSota]Response is null
java.lang.NullPointerException
        at jp.vstone.RobotLib.CPlayWave.PlayWave_wait(CPlayWave.java:563)
        at jp.vstone.RobotLib.CPlayWave.PlayWave(CPlayWave.java:60)
        at jp.vstone.sotasample.TextToSpeechSample.main(TextToSpeechSample.java:39)

以下に.それぞれ試した結果を記述します.
・キャッシュが残っていないか,キャッシュされていないと思われる発話が正常に行われるか
 /var/sota/tts/ の中身をすべて削除し再度生成を行ってみました.
 いくつかcsvファイルを試した結果,csvファイルの上から三行がエラーが出て生成できませんでした.
 また,キャッシュありの状態では,先日の質問と同様に最初の行がエラーが出て生成できませんでした

・ポート8080がブロックされていないか
 https://pc-karuma.net/windows-10-firewall-open-port/
こちらのURLの情報に従ってTCPでの8080のポートの受信を許可しましたが同様のエラーが出て生成は出来ませんでした

・Proxyによる接続
 行っていないため問題ない

・単体で実行してうまく行くか
 キャッシュを消した状態で改行も特殊な文字も削除しましたがResponse is nullのエラーが出ました.

・文章中に特殊な文字コードと受け取られそうなものが含まれていないか
 *が含まれている文がありましたが先頭の行に記述しなければ正常に生成ができました

加えて以下のようなエラーも確認しました
・音声生成に詰まり,Sotaとの接続が切れたときがあった
 一度だけ,音声ファイルの生成中にSotaがフリーズしました.
 PCとの接続も切れたため再起動し再度接続を行いました.そのあとは正常に動作しています.

・音声生成できるとき,できない時がある
 キャッシュを消した状態でいくつかのcsvファイルで生成を試したのですが,ある時は生成でき,ある時はエラーが出る,という行が存在しました.

・ [Info][CplayWave]removeShutdownHook
 以下のようなエラーが音声生成中にでることがあります.removeShutdownHookが複数行存在することもあれば,一行の時もあります.
 エラーの出現理由や,行数が異なる理由が不明なためご教授いただきたいです.

例: 一行のみの場合
[Info][CplayWave]removeShutdownHook
[Info][CplayWave]Play /dev/shm/wavtemp0.wav
[Info][CplayWave]isEdison
[Info][CplayWave]play------- 2739

例: 複数行の場合
[Info][CplayWave]removeShutdownHook
[Info][CplayWave]removeShutdownHook
[Info][CplayWave]removeShutdownHook
[Info][CplayWave]removeShutdownHook
[Info][CplayWave]Play /dev/shm/wavtemp0.wav
[Info][CplayWave]isEdison
[Info][CplayWave]play------- 2739
Sotaサポート
2019.10.30
柏原 昭博様

お世話になっております。Sotaサポートです。
状況の整理のため、もし把握されていれば「CSVを用いた発話の場合のみ問題が発生する」及び「発話の方法に関係なく常時問題が発生する」のいずれの状況かを教えていただけますか?

例えば、csvの読み込みなども行わずに、目的の文言のみを発話させるだけのプログラムを実行し、問題が再現しなくなる場合は、音声合成自体には問題が無く、それ以外にそちらで実装している何らかの処理が影響を与えている可能性が高いと思われます。

また、本体のシリアル番号を頂くことは可能ですか?

お手数ですが、何卒宜しくお願いいたします。
柏原 昭博
2019.10.31

間違えてシリアル番号を載せてしまいました,質問の削除をお願いしたいです.

申し訳ございません.

よろしくお願いいたします.

Sotaサポート
2019.10.31
柏原 昭博様

お世話になっております。Sotaサポートです。
ご要望の通り、シリアル番号に関する投稿は削除いたしました。
この質問に回答する
 

Page Top