見出し画像

ずんだもんにAIを搭載してみた。ローカルPCで音声会話できる3パターンを紹介。

はじめに

今回は、導入方法が難しい部分もあるので、パソコン初心者の方は注意してください。 まずはパターン2から試せば、動くと思います。

ずんだもんとAIを合体させて、音声会話ができるようになりました。
マイクに向かって普通に話しかけるだけで、ずんだもんが「〜なのだ」「〜なのだよ」口調で返事をしてくれます。

会話の流れとして、
・人間がマイクで喋る
・AIがテキストを出す
・10秒後に音声が流れる
という感じでやります。

※ 音声が出るまで待つのは、すべて自分のPCで処理しているためです。
すべてローカルPC上で完結 → クラウド料金ゼロ、プライバシー完全保護!

この記事では、導入しやすい順に3パターンを紹介します。

パターン1 ずんだもん音声
パターン2 日本語音声(Windows標準音声)
パターン3 英語音声

動作環境
OS:Windows 11
GPU:NVIDIA RTX 3060以上(8GB以上)
RAM:16GB以上(20GB以上推奨)
Python:3.10 〜 3.11
CUDA:12.1 〜 12.4(GPUを使う場合)

※ CPUだけでも動きますが、応答速度が大幅に落ちます
(特にWhisperとLLM)

最初から完璧に動かなくても普通です。
エラーが出たら、そのままエラーメッセージをChatGPTやGrokなどのAIに貼り付けて聞いてみてください。
この手の環境構築は 試行錯誤が前提 です。


共通の事前準備(全パターン共通)

1.Pythonのインストール
Python 3.10〜3.11を公式サイトからインストール
https://www.python.org/downloads/
インストール時に「Add Python to PATH」にチェックを入れる

2.基本ライブラリのインストール(PowerShellで実行)
Windowsキーで「PowerShell」と検索 → 右クリックで管理者として実行 以下をコピペして実行
pip install --upgrade pip
pip install numpy sounddevice webrtcvad requests torch

3.Ollamaのインストール(ローカルAIの頭脳部分)
https://ollama.com/download

Windowsの場合:exeをダウンロードしてダブルクリックでインストール
インストール後、PowerShellで以下を実行(モデルダウンロード)
ollama pull llama3.1:8b-instruct-q5_K_M

Ollamaはインストール後、自動的にバックグラウンドでサーバーが起動します。動作確認のため、ブラウザで http://localhost:11434 にアクセスし、「Ollama is running」と表示されれば正常です。

応答がない場合のみ、PowerShellで ollama serve を実行してください。

※ 応答が重い場合は、Ollamaのモデルをより軽量なものに変更すると改善します。

pip install webrtcvad
が入らない場合は、Visual C++ Build toolsを入れてください。
C++によるDesktop開発とMSVC v143 VS C++ビルドなどを入れればいいと思います。

エラーによっては、
pip install soundfile
が必要になるかもしれません。

個人的には、パターン2を最初に試してみて、うまくいったら、パターン1を試すほうが、いいかもしれません。

パターン2は
・外部アプリ不要
・モデル容量が小さい
・失敗しにくい
という理由で、最初の動作確認に最適です。



パターン1(ずんだもん音声)

語尾に「〜なのだ」「〜なのだよ」が自然に入る
可愛いずんだもんの声(VOICEVOX使用)

VOICEVOXをインストール
https://voicevox.hiroshiba.jp/

インストール後、アプリを起動し、右上の「エンジン起動」ボタンをクリックして常駐させてください。

追加ライブラリ:
pip install faster-whisper

※GPUで高速化する場合、事前にCUDA 12.xと対応ドライバをインストールしてください。実行時に「CUDA」デバイスが使用されているか確認できます。

「GPUがある方は、ダウンロード時に「GPU/CUDA版」または「GPU/DirectML版」を選ぶと速くなります(CPU版でもOK)」

以下のソースコードをダウンロードする。
上側はGPU版(NvidiaのCUDA用)
下側はCPU版(ノートパソコンなど)

ファイル名は半角数字に変更してもOKです。

起動方法
VOICEVOXを起動した状態で、PowerShellから
python ずんだもん音声会話.py
を実行してください。

「こんにちはなのだ。ずんだもんとお話しするのだ。」と音声が再生されれば成功です。

起動は結構時間がかかります。


会話の途中でエラーが出る人は、
ターミナルの1個目を起動し、
ollama serve
と入力して、Enterキーを押して実行します。
そうすると、たくさん文字が出てくると思います。

次に、ターミナルの2個目を起動し、
python ずんだもん音声会話.py
を実行します。

要するに、
VOICEVOXを起動して、
さらに、ターミナルを2個同時に使用します。

1個目のターミナル画面とVOICEVOXを起動中
2個目のターミナル画面でPythonファイルを実行


ノートパソコンで動かす場合のソースコード変更

ここは、ちょっと微妙なので、cpuやint8に書き換えるのではなく、CPU版のソースコードを使ったほうがいいかもしれません。

Nvidiaのグラフィックボードがある場合
whisper = WhisperModel(
WHISPER_MODEL,
device="cuda",
compute_type="float16"
)

ノートパソコンでグラボない場合
whisper = WhisperModel(
WHISPER_MODEL,
device="cpu",
compute_type="int8"
)

ノートパソコンなどの場合、
cudaからcpuに変更し、
float16からint8に変更します。




パターン2(日本語音声)

特徴
VOICEVOX不要、Windowsの標準日本語音声を使う
すぐに試せる軽量版

追加準備
pip install pyttsx3

以下のソースコードをダウンロードする。

ファイル名は半角数字に変更してもOKです。

起動方法
PowerShellから
python 日本語音声会話.py
を実行してください。

Windows標準声で「こんにちは。日本語で会話しましょう。」と挨拶が再生されれば成功です。

音声変更Tips
好みの声(Microsoft Nanamiなど)が欲しい場合:Windows設定 → 「時刻と言語」 → 「音声」 → 追加ダウンロード



パターン3(英語音声)

特徴
英語認識+自然な英語音声(Coqui XTTS v2使用)
会話履歴を保持して文脈を覚える

追加準備
pip install openai-whisper TTS pydub

※ 環境によっては以下も必要になる場合があります
(エラーが出た場合のみ実行)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install TTS==0.22.0 # または最新版

初回実行時にXTTSモデル(数GB)が自動ダウンロードされます。

以下のソースコードをダウンロードする。

ファイル名は半角数字に変更してもOKです。

起動方法
PowerShellから
python 英語音声会話.py
を実行してください。

「Hello! Let's practice English conversation.」と英語音声が再生されれば成功です。

初回はモデルダウンロードで数分待つことがあります。

よくあるエラーと対処法
Ollamaが動かない → ブラウザで http://localhost:11434 にアクセスして確認
マイクが反応しない → SAMPLE_RATE = 44100 に変更してみる
音が出ない → スピーカー設定確認、または管理者権限でPython実行
モデルダウンロードが遅い → VPNオフ、または有線LAN推奨
CUDAエラー → NVIDIAドライバ最新版 + CUDA 12.x を確認

詰まりやすいのが、RTX50系だと、PyTorchでsm120エラーがどうのこうの言われるかもしれません。そこは、公式サイトなどを見て、確認してもらえると幸いです。パソコン環境が壊れないように注意してください。

ここ、難しいんですよね・・・


エラーによっては、
pip install scipy
pip install simpleaudio
が必要な場合もあります。

TTSに関しては、
python3.13だと動かないと思うので、Python3.10かPython3.11などを入れるしかないと思います。

英語音声の導入は、ちょっと面倒かもしれません。

起動しているのにAIが英語を喋らないパターンだと、ffmpegが入ってない可能性があるので、以下のサイトからダウンロードしてください。
https://www.gyan.dev/ffmpeg/builds/
ffmpeg-git-essentials.7zをダウンロードして、Cドライブに移動し、展開します。そして、環境変数にPathを通します。
Windows11の場合は、スタートメニュー、設定、システム、バージョン情報、システムの詳細設定、環境変数の順で開くと出てくるので、そこにPathを入力すればいいです。



感想

今回は割と導入が難しいので、ChatGPTやGrokなどのAIと一緒にやったほうが成功する可能性が高いと思います。

ローカルパソコンでやると、高性能のグラボが付いている場合は比較的応答が早いけど、CPUオンリーだとAIモデルが小さめを選んだほうがいいです。
CPUだと1Bから3Bモデルぐらいがいいと思います。


モデルを変更した場合は、ソースコードの中身を書き換えることになります。

この場合は、gpt-oss:20bが動作することになります。
OLLAMA_MODEL = "gpt-oss:20b"
#OLLAMA_MODEL = "llama3.1:8b-instruct-q5_K_M"

この場合は、llama3.1:8b-instruct-q5_K_Mが動作することになります。
#OLLAMA_MODEL = "gpt-oss:20b"
OLLAMA_MODEL = "llama3.1:8b-instruct-q5_K_M"

先頭に#を付けると、その行の機能がOFFになります。


英語音声の場合は、llama3.1 8Bの量子化モデルを使えば、十分な性能で英会話できると思います。めちゃくちゃ英語が得意な人には物足りないかもしれないけど、英語初心者の方にはちょうどいい感じだと思います。

これ言ったらアレなんだけど、英会話の場合は、Geminiとかのオンラインでやったほうがいいとは思います。

人間が喋らずに無音の場合は、謎の言葉が書き込まれることがあるので、そこは注意してください。


最初、デスクトップパソコンにNvidiaのグラボを入れてプログラムを作りました。そのあと、Ryzen3のノートパソコンでプログラムを動かしてみたら、ずんだもんでエラーが発生したので、CPU版を作ってみました。どっちのパソコンでも動いているので、何とか導入できると思います。

ノートパソコンはスペックの関係上、gemma3:1bを入れましたが、ちゃんと受け答えできたので、CPU版でも問題ないかなと思います。


いいなと思ったら応援しよう!