rany2/edge-tts

Use Microsoft Edge's online text-to-speech service from Python WITHOUT needing Microsoft Edge

edge‑tts – Microsoft Edge のクラウド TTS の Python ラッパー

概要 – Microsoft Edge ブラウザが使用するテキスト読み上げサービスを呼び出せる小さな Python パッケージです。コード内のライブラリとして、または 2 つのコマンドライン ツールとして使用できます。

  • edge-tts – プレーン テキストからオーディオ(およびオプションの字幕ファイル)を生成します。
  • edge‑playback – mpv プレーヤーを使用して音声を生成し、すぐに再生します(Windows では組み込みプレーヤーを使用)。

重要性 – Azure の資格情報を必要とせず、無料で高品質なニューラル音声(数百の言語/アクセント)を提供します。このパッケージは、HTTP 呼び出し、音声選択、レート、音量、ピッチなどのオプション調整を処理します。

インストール

# ライブラリ + CLI
pip install edge-tts
# または、CLI ツールのみが必要で分離したい場合
pipx install edge-tts

一般的なコマンドライン使用法

# MP3 と SRT 字幕ファイルを保存
edge-tts --text "Hello, world!" \
          --write-media hello.mp3 \
          --write-subtitles hello.srt

# すぐに再生(Linux/macOS では mpv が必要)
edge-playback --text "Hello, world!"

edge-tts --list-voices で利用可能なすべての音声を一覧表示し、--voice <voice-id> で選択できます。

音声制御 – このサービスは多数の音声(例: ar-EG-SalmaNeural)を提供します。README には、音声名、性別、コンテンツ カテゴリ、パーソナリティ タグの表が示されています。

オーディオ調整 – CLI から直接音声特性を調整します。

  • --rate <pct> – 速度(例: --rate=-50%)。
  • --volume <pct> – 音量。
  • --pitch <Hz> – ピッチ シフト。 負の値は、フラグとして解析されないように --rate=-50% のように引用符で囲む必要があります。

進行状況フィードバック – 対話型ターミナルで実行すると、tqdm スタイルのプログレス バーが受信したオーディオ量を表示します。抑制するには --no-progress を使用します。

ライブラリとしての使用 – Python で edge_tts をインポートし、非同期 API を呼び出します。リポジトリの examples/ フォルダと src/edge_tts/util.py ヘルパーにサンプル エントリ ポイントが用意されています。

実際の採用例 – このパッケージは以下で使用されています。

  • Home Assistant の hass-edge-tts 統合。
  • ポッドキャストのナレーション生成のための Podcastfy プロジェクト。
  • 音声選択用の MP3 サンプル集である tts-samples。

結論 – edge‑tts は、Azure の認証を扱うことなく音声出力を必要とするスクリプト、ボット、ホーム オートメーション、または任意の Python プロジェクトに役立つ、実用的でゼロコストの Microsoft ニューラル TTS へのブリッジです。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト