コメントが届いてから喋り出すまでを短くしました
長い文章でも、全部の合成を待たずに喋り始めるようにしました。最初の一区切りができた時点で再生を始め、続きは喋りながら作ります。
コメントが届いてから読み上げが始まるまでの間を短くしました。9 月 21 日の更新で入っています。
長い文章ほど効きます。体感で変わるので、気づいた方もいるかもしれません。
何が遅かったのか
これまでは、文章全体の音声を作り終えてから再生を始めていました。
短い一言ならすぐ終わります。しかし長いコメントだと、合成に時間がかかるぶんだけ沈黙が伸びます。文章が長いほど待たされるので、ちょうど「読み応えのあるコメントほど遅れて届く」という、いちばん困る形になっていました。
Space は音声が一本の流れなので、この沈黙のあいだホストは待つことになります。会話のテンポを削る原因でした。
喋りながら作る
いまは、文章を短い最初のかたまりと、それに続くかたまりに分けています。
最初のかたまりができた時点で再生を始め、残りは喋っているあいだに作ります。 再生が進むうちに次のかたまりが仕上がるので、つなぎ目で止まりません。
さらに、再生中に次に待っているコメントの合成も進めます。 順番待ちの列があるときほど、詰まりにくくなります。
つなぎ目を目立たせない工夫
分割して再生すると、素朴に作ればかたまりの境目で不自然な間が空きます。
そこで、続きのかたまりについては会話待ちの判定と、再生直後のエコー対策を通さないようにしました。どちらも「新しく喋り始めるとき」のための仕組みで、途中のかたまりに適用すると、そこで一拍止まってしまうためです。
結果として、分割していることはほとんど分からないはずです。
会話待ちとの関係
会話待ちを入れている場合、喋り始めるタイミングは会話が途切れるまで待ちます。これは変わりません。
変わったのは、喋り始めると決まってから実際に声が出るまでです。待つ判断と、待ったあとの速さは別の話です。
会話が途切れた瞬間に間髪入れず読み始められるようになったので、せっかくの切れ目を合成の待ち時間で潰すことがなくなりました。
速さの設定とも別です
!speed で変えられるのは読む速さで、これは声のテンポの話です。今回速くなったのは、喋り出すまでの待ち時間です。
「読み上げが遅い」と感じたとき、原因が待ち時間なのかテンポなのかで、触る場所が変わります。設定については読み上げの設定にまとめています。