<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>音声合成モデル on Xainome Blog</title><link>https://xainome-blog.beeskynohito.workers.dev/tags/%E9%9F%B3%E5%A3%B0%E5%90%88%E6%88%90%E3%83%A2%E3%83%87%E3%83%AB/</link><description>Recent content in 音声合成モデル on Xainome Blog</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Sun, 15 Dec 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://xainome-blog.beeskynohito.workers.dev/tags/%E9%9F%B3%E5%A3%B0%E5%90%88%E6%88%90%E3%83%A2%E3%83%87%E3%83%AB/index.xml" rel="self" type="application/rss+xml"/><item><title>音声合成モデルをStyle-Bert-VITS2を使って作ってみたよ</title><link>https://xainome-blog.beeskynohito.workers.dev/posts/2024/12/voice-synthesis-style-bert-vits2-tutorial/</link><pubDate>Sun, 15 Dec 2024 00:00:00 +0000</pubDate><guid>https://xainome-blog.beeskynohito.workers.dev/posts/2024/12/voice-synthesis-style-bert-vits2-tutorial/</guid><description>&lt;h2 id="音声合成モデルの作成">音声合成モデルの作成&lt;/h2>
&lt;p>&lt;a href="https://xainome-blog.beeskynohito.workers.dev/posts/2024/12/stylebertvits2-tutorial/">前回&lt;/a>Style-Bert-VITS2を試しに使ってみることをやってみました。今回は実際にモデルを作ることをやろうと思います。&lt;/p>
&lt;p>まずは音声の収録ですね。こちらに関しては自身でいろいろ試してみるしかないですね。とりあえずノイズキャンセリング付きや単一指向性マイクなどがいいかもしれません。後は収録時に詰まったり、変な発声になったりせず滑らかに読むことですね。無音は多少なっても大丈夫なので。&lt;/p>
&lt;p>次に音声データセットの作成です。こちらは前回やったので飛ばします。収録した音声を勝手に10秒程度に切り分けてくれますので。&lt;/p>
&lt;h3 id="文字おこし時のエラー対処">文字おこし時のエラー対処&lt;/h3>
&lt;p>私は文字おこしで以下のエラーが出たので&amp;quot;pip install tf-keras&amp;quot;で対処しました。&lt;/p>
&lt;pre tabindex="0">&lt;code>RuntimeError: Failed to import transformers.models.whisper.modeling_tf_whisper because of the following error (look up to see its traceback):
Your currently installed version of Keras is Keras 3, but this is not yet supported in Transformers. Please install the backwards-compatible tf-keras package with `pip install tf-keras`.
. エラーメッセージが空の場合、何も問題がない可能性があるので、書き起こしファイルをチェックして問題なければ無視してください。
&lt;/code>&lt;/pre>&lt;p>その次はこのようなエラーが出ました。&lt;/p>
&lt;pre tabindex="0">&lt;code>site-packages\transformers\pipelines\audio_utils.py&amp;#34;, line 37, in ffmpeg_read
raise ValueError(&amp;#34;ffmpeg was not found but is required to load audio files from filename&amp;#34;) from error
ValueError: ffmpeg was not found but is required to load audio files from filename
&lt;/code>&lt;/pre>&lt;p>その場合は以下の手順で対応しました。私はwindowsかつVS Codeなのでmacとかは別になります。Gitでクローンする方法でも大丈夫です。&lt;/p></description></item><item><title>StyleBertVITS2を使って自身のデータセットを作成してみるよ</title><link>https://xainome-blog.beeskynohito.workers.dev/posts/2024/12/stylebertvits2-tutorial/</link><pubDate>Mon, 02 Dec 2024 00:00:00 +0000</pubDate><guid>https://xainome-blog.beeskynohito.workers.dev/posts/2024/12/stylebertvits2-tutorial/</guid><description>&lt;p>&lt;a href="https://xainome-blog.beeskynohito.workers.dev/posts/2024/11/ai-voice-synthesis-aivisspeech-review/">前回&lt;/a>Aivis Speechを触ってみたので自身の音声合成モデルを作ってみたいなと思い調べてみました！StyleBertVITS2は音声合成がメインになると思います。他にも学習やデータセットの作成もできます。というわけでStyleBertVITS2を使っていきます！&lt;/p>
&lt;h2 id="stylebertvits2のインストール">StyleBertVITS2のインストール&lt;/h2>
&lt;p>というわけでまずはStyleBertVITS2のインストールからですね。基本的には&lt;a href="https://github.com/litagin02/Style-Bert-VITS2">Github&lt;/a>に載ってますのでその通りで問題ないと思います。&lt;/p>
&lt;p>ただ、私は仮想環境作るのが面倒なタイプでpythonのversion別(3.10と3.12)でしか管理してないのでそれに合わせたコマンド使用しています。プロジェクトが複数存在しないのであれば、使わなくていいかなと思う派です。思想は人それぞれなので。&lt;/p>
&lt;pre tabindex="0">&lt;code># 各種ライブラリのインストール
git clone https://github.com/litagin02/Style-Bert-VITS2.git
cd Style-Bert-VITS2
py -3.10 -m pip install &amp;#34;torch&amp;lt;2.4&amp;#34; &amp;#34;torchaudio&amp;lt;2.4&amp;#34; --index-url https://download.pytorch.org/whl/cu118
py -3.10 -m pip install -r requirements.txt
# モデルのダウンロード
py -3.10 initialize.py
# エディター画面の表示
py -3.10 server_editor.py --inbrowser
または
py -3.10 app.py
&lt;/code>&lt;/pre>&lt;h3 id="stylebertvits2_server_editorpyの実行">StyleBertVITS2_server_editor.pyの実行&lt;/h3>
&lt;p>server_editor.pyを実行した場合は以下のような画面になります。その前に利用規約に同意しましょう。特に性的や政治的、フェイク系はやめましょうという感じですね。&lt;/p>
&lt;p>&lt;img alt="StyleBertVITS2_server_editor.py" loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/12/stylebertvits2-tutorial/images/image-1024x618.png">&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/12/stylebertvits2-tutorial/images/image-1-1024x716.png">&lt;/p>
&lt;p>この辺は音声合成モデルを使用するという感じですね。やってることはAivis Speechと同じような感じだと思います。&lt;/p>
&lt;h3 id="stylebertvits2_apppyの実行">StyleBertVITS2_app.pyの実行&lt;/h3>
&lt;p>こちらではモデルの作成などは出来なさそうなので、もう一方のプログラムを実行してみます。app.pyのほうですね。&lt;/p>
&lt;p>&lt;img alt="StyleBertVITS2_app.py" loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/12/stylebertvits2-tutorial/images/image-2-643x1024.png">&lt;/p>
&lt;p>こちらであればデータセット作成、モデルの学習、マージもできそうなのでこっちを使ってみます。&lt;/p>
&lt;h3 id="スタイルの作成方法">スタイルの作成方法&lt;/h3>
&lt;p>まずはスタイルの作成をする必要がありますがデータが必要になります。必要なデータは1時間ほどあれば十分だと思いますが、数十分でもできそうな気はしています。試してないので何とも言えませんが…&lt;/p>
&lt;p>もし10秒程度のwavファイルが360個ほどあれば十分なのでその時はスタイルの作成を行ってください。説明にもありますが、Dataフォルダとは別で配置しておくとスタイルの管理も楽なので別フォルダを作っておくと良いかもしれません。1スタイルなら適当な配置でもよさそうです。&lt;/p>
&lt;p>&lt;img alt="StyleBertVITS2_スタイル作成" loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/12/stylebertvits2-tutorial/images/image-4-1024x705.png">&lt;/p>
&lt;h3 id="wavファイルの準備">wavファイルの準備&lt;/h3>
&lt;p>次はデータセットがない場合ですね。もし自身の声を使用しない場合はどこからかwavファイルをダウンロードする必要があります。状況によっては環境音や音楽を削除するなどの対応も必要かと思います。ただ、今回は自身の声で作成する想定なのでこの工程は省きます。&lt;/p>
&lt;p>もし、細かい音声データを大量には持ってないけど、数十分~1時間のwavファイルがある場合はデータセットの作成を行いましょう。&lt;/p>
&lt;p>&lt;img alt="StyleBertVITS2_データセット作成" loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/12/stylebertvits2-tutorial/images/image-5-930x1024.png">&lt;/p>
&lt;h3 id="データセットの作成">データセットの作成&lt;/h3>
&lt;p>まずはinputフォルダにデータを入れます。録音などの環境がまだ整ってないので一旦前回使用したwavファイルを使ってみます。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/12/stylebertvits2-tutorial/images/image-6.png">&lt;/p>
&lt;p>次はモデル名を決めましょう。私はまだ本格的にやらないので適当に&amp;quot;test&amp;quot;にしました。秒数の設定などは一旦デフォルトにしています。この辺は好きなように設定すると良いです。&amp;ldquo;成功すればスライスが完了しました。&amp;ldquo;というメッセージが出て所定のフォルダに出力されます。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/12/stylebertvits2-tutorial/images/image-7-1024x434.png">&lt;/p>
&lt;p>大体10秒近くの音声ファイルが出力されます。これでスタイル作成の準備が整ったのでスタイル作成をして学習という流れになります。&lt;/p>
&lt;p>&lt;img loading="lazy" src="https://xainome-blog.beeskynohito.workers.dev/posts/2024/12/stylebertvits2-tutorial/images/image-8.png">&lt;/p>
&lt;h3 id="終わりに">終わりに&lt;/h3>
&lt;p>ここまで書いてきましたが、私の方でまだデータの準備ができていません。&lt;/p>
&lt;p>一人で話して録音する分には問題ないです。ただ、マイクがゴミだったのでまともなマイクを使って収録したいと思います。&lt;/p></description></item></channel></rss>