自分の分身AIと音声会話できるアプリ
自分の分身AIと音声会話できるアプリの開発経緯を紹介します。
このアプリを作ろうと思ったきっかけ
アプリを作ろうと思ったきっかけは、彼女との何気ない会話でした。
「万が一、自分に何かあったときでも、いつものように話せるAIがあったらいいよね」
その言葉を聞いて、自分にもしものことがあったとき、残された恋人が感じる寂しさについて考えました。自分の話し方や考え方を再現した分身AIがあれば、完全に悲しみをなくすことはできなくても、心の支えの一つにはなれるかもしれません。
音声で会話できる分身AIには、大切な人との記憶やつながりを残すという、一つの課題を解決できる可能性があると感じました。そこで、時間に余裕のある今だからこそ、このアイデアを形にする個人開発へ挑戦しようと決めました。
なぜ自分で開発するのか
分身AIやAIとの会話を手軽に体験できるクラウドサービスは、すでにいくつも存在します。既存サービスを使えば、短期間で高品質な体験を実現できることは大きな魅力です。
一方で今回は、自分の声・性格・記憶をどのように組み合わせれば「自分らしさ」を再現できるのか、試行錯誤しながら確かめたいと考えました。自分らしい声や受け答えを細かく調整する自由度、会話や記憶データの扱い、運用コストを自分で管理できることを重視し、自作することにしました。月額料金や利用量に応じた料金を抑えながら、納得できるまで検証と改善を続けられることも、個人開発では大切なポイントです。
また、各技術がどのように連携して分身AIが動くのかを理解し、自分の手で少しずつ改善していくことも、この個人開発で大切にしたいことの一つです。
使用技術と選定理由
今回の開発では、普段の仕事とのつながり、導入のしやすさ、個人開発として無理なく運用できるコストを基準に、使用する技術を選びました。
| 技術 | 選定理由 |
|---|---|
| Next.js | 仕事でも使用するため、実際にアプリを作りながら最新の機能や開発手法をキャッチアップするためです。 |
| Vercel | Next.jsで作成したアプリを簡単にデプロイできるためです。 |
| Whisper | 利用料金をかけず、自宅PC上で音声認識を実行できるためです。 |
| LM Studio | 利用料金をかけず、自宅PC上でLLMを動かして返答を生成できるためです。 |
| GPT-SoVITS | 利用料金をかけず、自宅PC上で自分の声を使った音声合成を試せるためです。 |
| Cloudflare Tunnel | ドメインの管理と、自宅PCへ接続するためのTunnelの設定をCloudflare上でまとめて管理できるためです。 |
構成
Phase 1のゴールは、スマートフォンへ話しかけると、自分らしい内容と声で分身AIから返事が返ってくる、一連の音声会話を実現することです。
個人開発のため、まずはできるだけコストを抑えることを優先しました。常時稼働するクラウドサーバーは利用せず、AIに関する処理を自宅PCで実行するため、利用できるのは自宅PCを起動している間に限られます。現在かかっている費用は、Tunnelで使用するドメイン代のみです。
自宅PCでは、Whisperによる音声認識、LM Studioによる返答の生成、GPT-SoVITSによる音声合成を行います。Vercelで公開するアプリと自宅PCをTunnelで接続し、次の流れで音声を処理します。
スマートフォン(音声を入力)
↓
Vercel(アプリの画面とAPIを提供)
↓
Tunnel(Vercelから自宅PCへの通信を中継)
↓
自宅PC
↓
Whisper(音声をテキストへ変換)
↓
LM Studio(テキストから応答文を生成)
↓
GPT-SoVITS(応答文から音声を合成)
↓
Tunnel → Vercel → スマートフォン(応答音声を再生)
次回予告
次回の記事では、Whisper、LM Studio、GPT-SoVITSを自宅PCへ導入し、それぞれが単体で動作するところまでの環境構築を紹介します。
「自分の分身AIと音声会話できるアプリ」全6回
- 開発のきっかけ・全体構成(この記事)
- Whisperの環境構築
- LM Studioの導入
- GPT-SoVITSで自分の声を再現
- Cloudflare Tunnelの設定
- persona.mdで性格・話し方を設定