😎

全部のせ音声合成ソフトVoiceSpeechMakerの話

に公開

自己紹介

休暇亭 向日葵/WariHima
OSS日本最大規模の形態素解析辞書を持つ音声合成ソフトVoiceSpeechMakaerの作者です。

普段はAI声づくり技術研究会にいます。
https://discord.gg/CU96Jd5Hau

VoiceSpeechMakerとは

VoiceSpeechMakerとは、voicevox、AivisSpeechから派生した音声合成ソフトです。
Aivis-project公式とAivisSpeechとは関係ないです。(個人的にAivisSopeechのプログラマーさんとは交流があります。)

AivisSpeech派生ソフトなのでAivisSpeechでも一部同様の機能が使えます。
企業向けののービス(組み込み向けのサービス、音声合成モデル作成代行、web-api)などはAivisSpeechを使用することをお勧めします。

基本オープンソースで開発をしています。
キャラクターの音声合成モデルと一緒にsteamで販売する予定の物でしたが、自分に向いていないと思ったので寄付制度の販売方式にしようと思ったものです。

ダウンロード

無料でダウンロードもしくは500円寄付できます。
https://warihima-soft.booth.pm/items/7090520

オープンソース版は、
VoiceSpeechMaker-core
VoiceSpeechMaker-Engine
VoiceSpeechMaker-GUI
pyopenjtalk-mod
の4つで構成されています。

アピールポイント

VoiceSpeechMakerはOSSで世界最大規模の日本語アクセント付き形態素解析辞書を持つ音声合成ソフトです。
簡単に説明するとossで(たぶん)世界一日本語の語彙が豊富な音声合成ソフトです。
これにより文章が正しく区切れて、文章が比較的正しいアクセントで読めるようになります。

今のところAivisSpeechと互換性があります。

VoiceSpeechMaker-core

まず一つ目のVoiceSpeechMaker-coreはオープンソース音声合成ソフトウェアのStyle-Bert-VITS2を改良したものになります。

詳しい解説はこちらに
https://zenn.dev/warihima/articles/30e46c70d05d4e

元となったStyleBertVITS2に関してはStyleBertVITS2の作者litaginさんの解説記事がわかりやすいです。
https://zenn.dev/litagin/articles/8c6edcf6b6fcd6
https://zenn.dev/litagin/articles/034819a5256ff4

VoiceSpeechMakerで使っているStyle-Bert-VITS2の改良バージョンという事が分かるように名前を変えただけなので、ライブラリ名は変えていません。

ライセンスがagpl-3なのもあり、機能追加は、pyopenjtalk-modに追加する事が多いです。
基本的にはpyopenjtalk-modの機能に対応する形で開発する方針です。

VoiceSpeechMaker-Engine

2つ目、VoiceSpeechMaker-Engineについてです。

今のところ独自機能の追加に伴うapi周りの整備、保守作業がメインのリポジトリです。

VoiceSpeechMaker-GUI

VoiceSpeechMaker-GUIは基本的にはVoicevox、AivisSpeechのエディターのリブランドになります。

pyopenjtalk-mod

注意 : 現時点ではVoiceSpeech-GUI側が対応していないため、VoiceSpeechMakerで方言は使えません

VoiceSpeechMaker関連ソフトウェアで特に力をいれているリポジトリになります。
pyopenjtalkという文章からアクセントと文章の読みを得るソフトウェアの改良版です。

pyopenjtalkは、主にVoicevoxの派生ソフトウェアなどでつかわれています。

pyopenjtalkのもととなったopenjtalk自体は15年くらい前からありますが、その頃からアクセントと読みの語彙が増えていません。
また、標準語にしか対応しておらず、方言や赤ちゃん言葉、ろれつの回らない発音など表現できないものがありました。

音声合成ソフトウェアで扱うしゃべり方の表現には一般的に2種類あります。

一つは、pyopenjtalkなどから読み、アクセント、方言の特徴などを得てから音声を生成する方法。

もう一つは、多くのデータから音声合成モデルを学習させて文章から直接音声を生成する方法があります。

多くのデータから音声合成モデルを学習させて文章から直接音声を生成する方法では、方言なども学習させればそのままつかえます。

しかし、学習データに無い記号を入力すると音声が劣化したり、読みを正確にするのに膨大な量の学習データが必要で、Googleなどの大企業でない限り学習が難しいです。

最近ではpyopenjtalkのような文章から読み、アクセント、方言の特徴などを得てから音声を生成する方法はあまり使われていません。

理由としては、日本語の読み、アクセントを得るオープンソースソフトウェアがopenjtalkから発展していないこと。
特に大規模な文章の読みとアクセントのデータがないこと。

関西弁などの方言の特徴を得るソフトウェアがクローズドソースの有償ソフトウェアにしかないことでした。

そこで、pyopenjtalkの機能に方言を追加する事、辞書を拡張する事に着目しました。

pyopenjtalk-modでは2倍以上の語彙の追加と、
関西弁風のしゃべり方など様々な話し方の特徴を追加し、音声合成ソフトウェアでの表現の幅が広がりました。

辞書の語彙は大体voiceovxが50万語ほど、VoiceSpeechMakerは150万語ほどです。

ソースコードのリンク

https://github.com/WariHima/VoiceSpeechMaker-core
https://github.com/WariHima/VoiceSpeechMaker-Engine
https://github.com/WariHima/VoiceSpeechMaker-GUI
https://github.com/WariHima/pyopenjtalk-mod

Discussion