立ち話

興味があることを書いてます。正確な内容は公式ドキュメントや参考文献を確認してください。ブログに示された意見はすべて個人の見解であり、所属する組織の公式見解ではありません。

ボイスロイドと擬似的な会話をしたいと思った人間が2日くらいでそれっぽいのを作った話

はじめに

なんかふとボイスロイドと擬似的な会話をしたくなったので、それっぽいのを作ってみました。

今回は、作ったものについて簡単に紹介しようと思います。作ったものはGitHubリポジトリで公開しました。

実現したいことと必要な機能

今回は、『自分の声で話しかけたら反応を返してくれる』ことを実現しようと考えた。具体的には以下の5つの機能が必要だと考えた。

  • (1) PCに接続したマイクに入力した音声をテキストに変換する(音声認識
  • (2) テキストをOpenAIのAPIに入力
  • (3) ChatGPT等の出力を取得
  • (4) 出力されたテキストデータをVOICEROIDに入力
  • (5) VOICEROIDが音声を出力

必要と考えた機能

実現方法

(1)

(1) については、Python音声認識ライブラリ SpeechRecognition がかなり精度よく音声認識をしてくれることが分かったので、このライブラリを使うことにしました。

(2), (3)

(2) と (3) については、OpenAI のライブラリ を使って実装可能。

(4), (5)

(4) と (5) については、AssistantSeika で実現可能。Pythonsubprocess モジュールを使う。

実装

いつも使っている Python で実装しました。3/22 の仕事後に思いついて、3/23 の仕事後にできたので、3~4時間くらいで実装できた気がします。

動作確認


www.youtube.com

自分の声が入っていて恐縮ですが、動作確認のために短めの対話をしました。制約を設けることで、ある程度『それっぽい』会話になっているのではないでしょうか。

まとめ

たまにうまく音声を認識してくれなかったり、認識した文章がおかしいときは挙動がおかしくなったりしますが、ある程度うまく機能するものができた気がします。

無料期間が終わったら使えなくなりそうなので、今のうちに楽しみたいです。