4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

キャラクターと擬似会話してみた!

Last updated at Posted at 2026-01-21

はじめに

マイク入力による音声認識や、Discord上のメッセージに反応して、用意した音声データを再生するキャラクターBotを作ってみました。

詳細なセットアップ方法や実装については、以下GitHubリポジトリをご確認ください。

この記事では、本システムの主な機能や使い方の概要を紹介します。

本システムでは、以下のことは行っていません。

  • 生成AIによるテキスト生成
  • 用意した音声データの機械学習/音声合成への利用

あくまで「用意した音声データの再生・制御」にフォーカスしています。

購入したもの

Raspberry Pi 5は必須ではありません。
Windows PCでも同様に動作します。

準備

セットアップ手順は上記GitHubのREADMEにまとめているので、そちらに沿って進めてください。
ここではいくつか補足を記載します。

音声データについて

本記事に掲載している、実際に動かしている様子の動画では、「つくよみちゃん(COEIROINK)」の音声データを使用しています。

実際に試す場合は、任意の音声データを用意してください。

音声データの利用にあたっては、著作権・利用規約・二次利用可否などに十分注意してください。

Raspberry Pi 5(使用する場合)

以下記事の「6-2」までを参考に、Raspberry Pi 5のセットアップを行います。

開発や運用の都合上、IPアドレスを固定しておくと後々楽になります。
IPアドレス固定の方法については、以下の記事が参考になります。

また、以前Raspberry Pi 5で仮想環境へのPyTorchインストールがうまくいかなかったことがありました。
以下記事にその際の内容をまとめているので、Raspberry Pi 5を使用する場合は参考になるかもしれません。

Discord Botの作成

Discord Botの作成方法については、以下の記事が分かりやすいです。

BotのトークンやチャンネルIDは、.envの設定で使用します。

機能紹介

本システムでできることを簡単にまとめます。

音声認識による操作

  • マイクに向かってキャラクター名+発話をすると反応
  • 以下の特定ワードに対応
    • おやすみ:ミュート
    • おはよう:ミュート解除
    • 歌って:曲の再生
    • 止めて:再生中の音声/歌を停止
  • それ以外の発話についても、内容に近い音声データを選んで再生(擬似会話)

実際に動かしている様子(音声認識による操作)

※本動画では、Windows PC上で実行しています。

Discordメッセージによる操作

  • Discord上でテキストメッセージを送信しても、音声認識と同様に反応
  • コマンドの一覧表示
  • 歌える曲の一覧表示
  • 指定時刻に音声を再生するスケジュールの追加/削除/一覧表示
  • 音声データ再生履歴(ランキング)の確認
  • 音声データや楽曲データの更新

実際に動かしている様子(Discordメッセージによる操作)

※本動画では、Raspberry Pi 5上で実行しています。

擬似会話の仕組み

  • 発話内容/送信したメッセージをベクトル化
  • 事前に登録した音声データの説明文と類似度検索
  • 最も近いものを選んで音声を再生
    →決め打ちではなく、自然な反応に近い挙動になります

その他

  • 音声や楽曲の再生中は、Discordのアクティビティ表示が切り替わる
  • 再生回数を内部で記録

おわりに

音声データを増やすことで、キャラクターの反応のバリエーションがより豊かになります。
今回は実装しませんでしたが、人感センサーと組み合わせて「近づいたら話しかけてくる」ような仕組みにしても面白そうです。

課題としては、レスポンス速度や音声認識精度があります。
今回は無料で利用できる構成を選びましたが、OpenAI APIなどを利用することで、精度や体験面を改善できる可能性がありそうです。

興味がある方は、ぜひいろいろ試してみてください。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?