qwen-tts2api — Qwen TTS を OpenAI Speech API 互換で提供

AI/ML

概要

qwen-tts2api は「Qwen TTS」をバックエンドに、OpenAI の Speech API 互換インターフェースを提供するアダプタプロジェクトです。Python ベースで実装されており、公式リポジトリには Docker イメージ(ghcr.io/aahl/qwen-tts2api:main)および docker-compose.yml を使った簡単な導入手順が用意されています。Home Assistant 用アドオンとしてのインストール手順もREADMEに記載されており、ローカル環境やホームサーバー上で音声合成APIを素早く立ち上げたいケースに向きます。基本は HTTP で受けた音声合成リクエストを内部の Qwen TTS に渡し、OpenAI Speech API と互換のレスポンスを返すブリッジの役割を果たします(約300字)。

GitHub

リポジトリの統計情報

  • スター数: 7
  • フォーク数: 0
  • ウォッチャー数: 7
  • コミット数: 7
  • ファイル数: 10
  • メインの言語: Python

主な特徴

  • OpenAI Speech API 互換のエンドポイントを提供する軽量アダプタ実装
  • Docker / docker-compose で即時デプロイ可能、GHCR にイメージを公開
  • Home Assistant の Add-on としての導入方法をサポート
  • シンプルな構成でローカルやホームネットワーク内での運用に向く

技術的なポイント

本プロジェクトは Python 製の小さなウェブサービスとして設計され、外部からの OpenAI 形式の音声合成リクエストを受けて内部的に Qwen 系の TTS 実装へ変換・送信し、生成された音声を OpenAI の Speech API と同等のレスポンス形式で返すことを目指しています。実運用を想定して Dockerfile と docker-compose.yml が同梱されており、コンテナ化によるデプロイの容易さと環境分離を重視しています。README からはポートマッピング(例: ホスト8825 -> コンテナ80)や再起動ポリシー(—restart=unless-stopped) の例が確認でき、継続運用や Home Assistant への組み込みを意識した作りです。設計上の注目点は API 互換性の確保(既存の OpenAI クライアント/統合を大きく変えずに利用可能)と、ローカル環境での軽量運用に適したシンプルさです。実装では音声のエンコーディング形式(wav/mp3 など)の取り扱いや、並列リクエスト制御・リソース管理(GPU/CPU の利用設定や同時合成数制限)を組み込むことが運用性を高める重要な要素になります。また、GHCR にビルド済イメージがあるため、CI/CD でイメージ更新を自動化すれば本番環境への展開も容易です(約800〜1000字相当)。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .github: dir
  • .gitignore: file
  • .python-version: file
  • Dockerfile: file
  • LICENSE: file
  • docker-compose.yml: file(README に記載された導入用)
  • README.md: file(インストールと Home Assistant 向け手順を含む)
  • app/ または main.py 相当: file(Python サービス本体がここに存在する想定)
  • requirements.txt または pyproject.toml: file(依存管理)
  • その他 1-2 ファイル(設定や軽量スクリプト)

各ファイルの役割(想定):

  • Dockerfile: コンテナイメージを構築するための定義。軽量な Python ベースイメージからアプリを立ち上げる。
  • docker-compose.yml: 複数コンテナ構成や簡易起動のための設定。README の手順で直接ダウンロードして使える。
  • README.md: インストール手順(docker run / docker compose)、Home Assistant への追加方法、基本的な使い方が記載。
  • app/ と依存ファイル: HTTP サーバ(Flask/FastAPI 等)を通じてリクエストを受け、Qwen TTS に橋渡しする実装が置かれる。環境変数でモデル指定や出力フォーマットを切替えられる構成が想定される。

ローカル運用時のポイント:

  • 必要に応じて音声保存先やログの永続化をボリュームでマウントする。
  • 高負荷時はコンテナのリソース制限(CPU, メモリ)やレート制御を導入する。
  • Home Assistant での利用では Add-on 化に伴う設定UIやセキュリティの確認が必要。

まとめ

OpenAI 互換の音声APIを簡潔にローカルで立ち上げられる実用的なアダプタ(約50字)。

リポジトリ情報:

READMEの抜粋:

🗣️ Qwen TTS

Install / 安装

🐳 Docker compose

mkdir /opt/qwen-tts
cd /opt/qwen-tts
wget https://raw.githubusercontent.com/aahl/qwen-tts2api/refs/heads/main/docker-compose.yml
docker compose up -d

🐳 Docker run

docker run -d \
  --name qwen-tts \
  --restart=unless-stopped \
  -p 8825:80 \
  ghcr.io/aahl/qwen-tts2api:main

🏠 Home Assistant OS Apps (Add-on)

  1. 添加加载项仓库
    • 打开 HomeAssistant,点击左侧菜单的 配置 (Settings) -> 加载项 (Add-ons)
    • 点击右下角的 **加载项…