当サイトにはアフィリエイト広告が含まれます。なおレビューは私の感想を書いており、内容を指示するご依頼はお断りしています

【初心者向け】VoicepeakをSAPIで喋らせる方法に挑戦してみた(途中経過)

Windows用の高品質音声合成ソフト「Voicepeak」を、自作スクリプトから喋らせたい。
そんな願いを叶えるために、「SAPI(Speech API)」経由でVoicepeakを操作する方法にチャレンジ中です。

本記事では、未経験から .sln ファイルのビルドや .dll エラーに直面した体験を、備忘録的にまとめています。


✅ なぜSAPIで喋らせたいのか?

最初は pyautogui を使って、Voicepeakのウィンドウを自動操作する方法を試していました。

import pyautogui

pyautogui.click(x=300, y=300)
pyautogui.typewrite("こんにちは、テスト音声です")
pyautogui.hotkey("ctrl", "v")

この方法は簡単に見えますが、以下の問題点があります:

  • マウス・キーボードを奪われてPCが使えなくなる
  • UIが変わっただけでスクリプトが破綻する
  • 処理が重く、安定性に欠ける

よりシステマチックに音声を制御するには、Windowsの標準音声API「SAPI」を使う方が遥かにスマートです。

🧠 SAPIとは?

SAPI(Speech API)は、Microsoftが提供する音声合成インターフェースです。 PythonやC#などの言語から簡単に音声出力ができ、以下のように使います:

import win32com.client

voice = win32com.client.Dispatch("SAPI.SpVoice")
voice.Speak("SAPIを使えば簡単に喋らせられる")

SAPIに対応した音声エンジンであれば、UI操作不要で自動読み上げが可能になります。

🔧 VoicepeakをSAPI対応にする方法

VoicepeakはSAPIに直接は非対応。 しかし、以下のGitHubリポジトリを使えば、中継DLLを自作してSAPI経由でVoicepeakを使えるようになるそうです:

👉 azumyar/sapi-voicepeak

このリポジトリでは、Visual Studioでビルド可能な .sln ファイルが提供されており、 sapi-voicepeak-connect.dll や comhost.dll を作成することでVoicepeakをSAPI化できます。

🔨 ここまでの作業メモ

GitHubからソースコードを取得

git clone https://github.com/azumyar/sapi-voicepeak.git
regsvr32 sapi-voicepeak-connect-x64.comhost.dll
# → モジュールの読み込みに失敗しました

この時点でようやく「未ビルドだからDLLが無い」ことに気付きました。

.sln(ソリューションファイル)を開こうとするも、VSCodeでは開けず

Visual Studioをインストール(.NETデスクトップ開発を選択)

.sln ファイルをVisual Studioで開けるようになる

sapi-voicepeak-connect-x64.comhost.dll が存在しないため regsvr32 に失敗

💡 学んだことまとめ

  • .sln は Visual Studio のプロジェクトファイル(VSCodeじゃ開けない)
  • .dll は音声合成の「中身」。ビルドしないと生成されない
  • SAPIは非常に安定した音声出力方法
  • pyautoguiでのUI操作は冗長で不安定になりがち

📝 まとめと今後の展望

現在はまだDLLのビルド途中ですが、以下のようなゴールを目指しています:

  • Voicepeakの音声をSAPI経由で呼び出せるようにする
  • PythonやC#から自然な日本語音声を自動再生
  • 将来的には自作AI・ボイスアバターとの連携も視野に

「Voicepeak 自動化」「Voicepeak SAPI連携」「Python 音声合成」などのワードで調べている方の参考になれば嬉しいです。

続編では、Visual Studioでのビルド成功や、DLL登録、Pythonからの音声出力までを予定しています。