SoulX Podcast TTS(Metal/CUDA 自動対応)日本語解説
概要
SoulX Podcast TTS は「SoulX-Podcast-1.7B-dialect」をローカルで動作させることを目的とした音声合成(TTS)サービスの実装例です。Apple Silicon(M1/M2/M3)の Metal(MPS)や NVIDIA の CUDA を自動検出して推論を高速化し、CPU のみでも動作します。Web ブラウザで操作できる UI と REST API を提供するため、コマンドラインに不慣れなユーザーでも利用しやすく、複数話者や多方言(普通話、四川話、河南話、粤語)対応、笑いやため息などの副言語制御、そして 3〜10 秒の音声サンプルから素早く声をクローンするゼロショット機能を備えています。ポッドキャスト制作やローカルでの音声合成研究・検証に便利な構成です。
リポジトリの統計情報
- スター数: 16
- フォーク数: 1
- ウォッチャー数: 16
- コミット数: 2
- ファイル数: 17
- メインの言語: Python
主な特徴
- Apple Silicon(MPS/Metal)と NVIDIA CUDA を自動検出して最適なハードウェアで推論
- Web UI と REST API を提供し、手軽に音声生成やスクリプト実行が可能
- マルチ話者・多方言対応、笑い・ため息などの副言語(感情)制御
- 3〜10 秒の参照音声で実行できるゼロショット音声クローン機能
技術的なポイント
本プロジェクトの核はローカル推論における「ハードウェア自動最適化」と「実用的なインターフェース提供」にあります。モデルとしては SoulX-Podcast-1.7B-dialect を用い、軽量化や最適化を行わずとも MPS(Apple の Metal Performance Shaders)や CUDA を使うことで現実的なレイテンシを達成します。自動検出ロジックによりユーザー側で加速方式を意識する必要がなく、Mac(M1/M2/M3)ではネイティブな MPS バックエンドを利用して GPU を活用、Linux/Windows の NVIDIA 環境では CUDA を使って GPU 推論を行い、どちらも利用不可な場合は CPU フォールバックで動作します。
エンドポイントは HTTP ベース(README にある Web UI と REST API)で、外部アプリケーションやワークフローと容易に連携可能です。特筆すべきは「ゼロショットクローン」機能で、3〜10 秒程度の参照音声から話者特徴を抽出して即座に音声合成に反映します。これはエンコーダー/条件付けの手法を使った few-shot(実質ゼロショット)ワークフローであり、ポッドキャスト等で複数キャストの声を短時間で再現する用途に最適です。
さらに複数のプリセット音色(話者)や方言の切り替え、笑い・息づかいなど副言語パラメータによる感情表現の制御が組み合わされ、対話形式の自動生成(多人播客)や台本の自動読み上げで自然な演出を実現します。開発面では Dockerfile を用意しており、ローカル環境に依存しないデプロイが可能。app.py をエントリポイントとしてサーバを起動する構成で、すぐに試せる点も魅力です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .dockerignore: file
- .gitignore: file
- Dockerfile: file
- README.md: file
- app.py: file
…他 12 ファイル
(app.py はサーバ起動や API エンドポイントの実装、Dockerfile によるコンテナ化、README はインストール/運用手順や機能説明を含む想定)
まとめ
ローカルで手軽に高品質なポッドキャスト向けTTSを試せる実用的なリポジトリ。
リポジトリ情報:
- 名前: soulx-tts-metal
- 説明: SoulX Podcast TTS Metal Test
- スター数: 16
- 言語: Python
- URL: https://github.com/jianyun8023/soulx-tts-metal
- オーナー: jianyun8023
- アバター: https://avatars.githubusercontent.com/u/18240360?v=4
READMEの抜粋:
SoulX Podcast TTS (Metal/CUDA Auto)
🎙️ 基于 SoulX-Podcast-1.7B-dialect 的本地高质量语音合成服务
支持 Apple Silicon (Metal) 和 NVIDIA CUDA 自动加速
✨ 特性
- 🌐 Web 界面: 用户友好的浏览器界面,无需命令行
- 🎯 REST API: 可供程序调用的 HTTP 接口
- 🎙️ 多人播客: 支持多角色对话,自动生成播客节目 ⭐ 新功能
- 🎭 多说话人: 支持多个预设音色
- 🗣️ 多方言: 支持普通话、四川话、河南话、粤语
- 🎨 副语言控制: 支持笑声、叹气、呼吸等情感表达
- 🚀 零样本克隆: 使用 3-10 秒参考音频即可克隆声音
- 🍎 Apple Silicon 优化: 原生支持 M1/M2/M3 芯片 (MPS)
- 💻 跨平台: 自动检测并使用最佳加速方案 (MPS/CUDA/CPU)
📋 系统要求
硬件要求
- **…