直ってなかった
一週間前にパコリタ・ナラ・ズイルベー Zeroという名のRaspberry Pi Zeroを使ったなんちゃってデジタル・アシスタントを直した話を書きましたけど。
[ 謎である ]
何が変だったのかというと、喋る機能を使う二つのスクリプトが同時に動き出すと、同時に再生されてしまうというやつ。
スクリプトを修正して直ったつもりだったのですが、実は原因はそこではなかったとかもあって、全然直ってなかったのです。
その前に、再生する音声が変になっていたのは二つが同時に再生されているからではなくて、音声を生成する段階で間違っていたのです。
Raspberry Pi で喋らせるのに使うソフトは一度音声ファイルを書き出してから、それを再生するという感じなのですが。
ウッカリしてて、書き出す音声ファイルのファイル名が全部同じになるような仕組みにしていたのです。
なので、同時にスクリプトが動き出すと、一つのファイルに二つのスクリプトが書き込んでしまって、台詞がゴチャゴチャに混ざった気持ち悪い内容になってしまっていたのです。
<!-- ちょっと興味深い感じではありますが、故意にやって壊れたらアレなのでやりません。-->
ついでに、前回修正したプロセスをチェックして、すで他のスクリプトで再生中だったら、しばらく待つというのも、ミスがあって。
音声を書き出すのに数秒かかるのですが、その前にプロセスをチェックしていたので、書き出し中に別のスクリプトで再生が始まっても、気づけないという感じになっていたのです。
たまにしかやらないと、あとでスクリプトを見直したに何が書いてあるか解らないので、変なところを間違えてしまいますが。
恐らく今回の修正でしばらくは大丈夫になっているはずです。
コメントする