VOICEVOXはとても高品質な音声合成エンジンです。
この動画を見てもらうとわかるのですが、人間とほぼ変わらないですよね。こんなに高品質なら使用したい人も多いでしょう。しかし、標準の状態ではVOICEVOX ENGINEから音声を取得することしかできません。
https://voicevox.github.io/voicevox_engine/api/
棒読みちゃんやコメビュと連携させるとなると、かなりの技術が必要になります。そこで、今回はSAPI5にVOICEVOXを対応させることで棒読みちゃんに対応させたり、C# .NETから呼び出してみようと思います。
ダウンロードするファイル
VOICEVOX | 無料で使える中品質なテキスト読み上げソフトウェア (hiroshiba.jp)
VOICEVOX本体をダウンロードします。
Releases · shigobu/SAPIForVOICEVOX (github.com)
また、VOICEVOXをSAPI5に対応させるSAPIForVOICEVOXをGitHubからダウンロードします。
手順
VOICEVOX本体のインストール
VOICEVOXをインストールしなければ始まりません。インストールしましょう。
SAPIForVOICEVOXをインストール
次に、SPAIForVOICEVOXをインストールします。※棒読みちゃんは32Bit版、やります!アンコちゃんは64Bit版が必要です。両方インストールすることをお勧めします。
インストール先をProgramFilesに設定すると不具合が起こるので、極力触らないようにしましょう。
話者とスタイルの登録では、全ての話者とスタイルを登録を選択します。ほかの選択肢でもよいですが、すべての話者とスタイルを登録することで後々の手間が省けます。
これでインストールは終了です。
あとから話者の設定をする場合は、アプリ一覧からSAPI For VOICEVOXを選択すればOKです。
ここで一回再起動させます。
これで、インストールは完了です。ここまでくれば、棒読みちゃんでVOICEVOXを選択できるようになります。
C# .NETで使ってみる
C#でSAPI5を使うにはSystem.Speech.Synthesisを使います。
using System.Collections.ObjectModel;
using System.Speech.Synthesis;
namespace SAPI5Test
{
class Program
{
public static void Main(string[] args)
{
SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer();
ReadOnlyCollection<InstalledVoice> voices = speechSynthesizer.GetInstalledVoices();
foreach (var item in voices)
{
Console.WriteLine(item.VoiceInfo.Name);
}
Console.WriteLine("音声を選択してください。");
InstalledVoice voice = voices[Convert.ToInt32(Console.ReadLine())];
speechSynthesizer.SelectVoice(voice.VoiceInfo.Name);
string text = "SAPI5による音声合成のテストです。";
speechSynthesizer.Speak(text);
}
}
}
このようにすることで音声合成を利用することができます。
最後までご覧いただき、ありがとうございました。
コメント