FastRTCを日本語対応に!リアルタイム音声処理拡張パッケージ fastrtc-jp
を作りました
この記事では、私が開発したオープンソースプロジェクト fastrtc-jp
を紹介します。
FastRTCって何?
FastRTCは、Hugging Faceが公開したリアルタイム通信に特化したPythonフレームワークです。
マイク音声を取得 → 音声認識 → AI応答生成 → 音声合成してスピーカーに出力
という「対話型AIアプリ」に必要な処理を、簡単に実装できます。
特徴:
- LLMとの対話を前提にしたストリーム処理設計
- 音声や動画のリアルタイム入出力に対応 (WebRTCベース)
- GradioによるUI統合
- Hugging FaceのHubと統合されていて便利
ただし...
FastRTCの課題:日本語が不十分!
FastRTC自体は非常に便利なのですが、FastRTCで標準の moonshine
Kokoro-TTS
は日本語がうまく扱えません
💡 そこで fastrtc-jp
fastrtc-jp
は、FastRTCを 日本語音声処理対応に拡張するPythonパッケージです。
FastRTCの構成にそのまま組み込めるよう、TTS/STT処理をプラグイン形式で追加できます。
FastRTCを使いたいけど、日本語対応がないなら作るしかないな...と思ってこのプロジェクトを始めました。
fastrtc-jp
で使える音声処理モデル
✅ 音声合成(TTS)
モデル | 概要 |
---|---|
VOICEVOX | 無料で高品質、キャラ豊富、感情表現も可 |
Style-Bert-VITS2 | Hugging Face対応。自然で滑らかな発声 |
gTTS | Google TTS API。手軽でナチュラル |
✅ 音声認識(STT)
モデル | 概要 |
---|---|
Vosk | 軽量・オフライン対応・高速 |
mlx-whisper | Apple Silicon最適化。超高速 |
Google STT | APIベースで高精度。日本語対応可 |
WebRTCの音声対話アプリをさくっとPythonで
fastrtc-jp
を使えば、たとえばこんな構成がPythonだけで実現できます:
🎤マイク入力
↓
🧠 音声認識 (STT)
↓
🤖 AI応答生成 (LLM)
↓
🕺 音声合成 (TTS)
↓
🔊 スピーカー出力
UIはGradioですぐに触って確認できるのもポイントです!
インストール方法
pip install fastrtc-jp
️オプション機能(使用するラリブラリによって)
pip install fastrtc-jp[vosk]
pip install fastrtc-jp[sbv2]
pip install fastrtc-jp[gtts]
🧳 GitHubはこちら!
- プロジェクト: https://github.com/route250/fastrtc-jp
- ライセンス: MIT
- 動作環境: Python 3.12+, Ubuntu 24.04, macOS Sonoma 15.4
おわりに
FastRTCは「音声×AI」の世界を誰でも扱えるものにするための素晴らしいフレームワークです。
でも、日本語ユーザーにとってはまだ「素のまま」では使いにくい部分もあります。
そのギャップを埋めるために fastrtc-jp
を作りました。
興味を持ってくださった方、GitHubにスター頂けるととても嬉しいです!
Issue・PRも大歓迎です!