VOICEVOXにでかめの文字列を投げたら音声を書き出してくれなかった


円周率10万桁をずんだもんが読み上げる動画を作成しようとしていろいろしてみたけどうまくいかなかったのでわかる範囲でメモ

投げた文字列

円周率10万桁を100桁区切りにしたもの(100文字×1000テキスト欄)
円周率10万桁を50桁区切りにしたもの(50文字×2000テキスト欄)

結果

どちらも連続書き出しを行ったがうまく出力されなかった。
100桁の方は500桁分は音声になって出てきた。別のソフトで合成したものでした。
50桁の方は.wavファイルすら出力されていなかった。

Log

100×1000の方

[23:16:41.622] [error] RangeError: Invalid string length
at JSON.stringify (<anonymous>)
at iU.createFetchParams (app://./assets/index-1f2df8b4.js:14:375720)
at async iU.request (app://./assets/index-1f2df8b4.js:14:374986)
at async iU.connectWavesConnectWavesPostRaw (app://./assets/index-1f2df8b4.js:14:389548)
at async iU.connectWavesConnectWavesPost (app://./assets/index-1f2df8b4.js:14:389715)

50×2000の方

[00:50:04.259] [error] RangeError: Invalid string length
at JSON.stringify (<anonymous>)
at iU.createFetchParams (app://./assets/index-1f2df8b4.js:14:375720)
at async iU.request (app://./assets/index-1f2df8b4.js:14:374986)
at async iU.connectWavesConnectWavesPostRaw (app://./assets/index-1f2df8b4.js:14:389548)
at async iU.connectWavesConnectWavesPost (app://./assets/index-1f2df8b4.js:14:389715)

voicevox/logs/

どちらも同じエラーが出ていた。
RangeEerrorが出ているので大きすぎた?

その他

1万文字にして10ファイル音声データ作成して全部繋げるとかになりそう。
なんかもっとかしこいやり方あるのかな。
50桁/テキスト欄だとテキスト欄の下に「区切ってください」みたいな警告文が表示されなかった。100はされた。でも出力されたのは100の方だった。
50×100か50×200でまたやってみたい。

この記事が気に入ったらサポートをしてみませんか?