Repolode
nyosegawa

nyosegawa/speech.cpp

ggml上で動作するC++音声ツールキット。音声合成、音声認識、音声区間検出に対応し、Metal、Vulkan、CPUで実行できるOpenAI互換サーバーを備えています。

代替できる製品:OpenAI Whisper API

スター
371
フォーク
23
未解決の Issue
12
最終コミット
6 日前

これは何?

speech.cppは、単一の`speech`コマンドと共有ライブラリ`libspeech`を提供し、音声合成、音声認識、音声区間検出、話者ダイアライゼーションを1つのC APIで扱えます。ggmlを通じてCPU、Metal、Vulkanで動作します。モデルは名前を指定して取得でき、コーデックを含む単一のGGUFファイルとして提供されるため、PythonやCUDAのセットアップは不要です。

モデルカタログには、音声合成向けのQwen3-TTS、Irodori-TTS、Drama 3と、音声認識向けのQwen3-ASR、ReazonSpeech、parakeet、Haas、Nemotronが含まれています。音声区間検出と話者分離には、Silero VADとNemotronのダイアライゼーションを利用できます。`speech serve`コマンドは、OpenAIの音声生成・文字起こしエンドポイントとRealtime文字起こしをローカルHTTPで公開します。また、`speech asr --live`を使うと、マイク入力を話しているそばから文字起こしできます。

プログラムから利用する場合、`speech worker`はロード済みモデルを標準入力・標準出力のJSON Linesで提供し、C APIを使えばアプリケーションからライブラリを直接リンクできます。Apple silicon搭載のmacOS、Windows x64、Linux x86-64向けのインストーラーも用意されています。

主な機能

  • 01複数のモデル系列と名前付き音声に対応した音声合成。
  • 02言語検出、タイムスタンプ、話者ラベルに対応した音声認識。
  • 03`speech asr --live`によるマイク入力のリアルタイム文字起こし。
  • 04ローカルホストで利用できる、OpenAI互換の音声・Realtime文字起こしエンドポイント。
  • 05PythonやCUDAを使わず、Metal、Vulkan、CPUで実行可能。

ユースケース

  • OpenAIの音声APIを利用するアプリに、ローカルでの音声出力や文字起こしを追加する。
  • マイク入力をリアルタイムで文字起こしする音声アシスタントを構築する。
  • パソコン上で日本語または多言語の録音をオフラインで文字起こしする。
  • C APIまたはJSON Lines workerを通じて、別のプログラムに音声モデルを組み込む。

クイックスタート

  1. 1

    README にある公式インストールスクリプトで speech をインストールする

  2. 2

    Qwen3-TTS で文を合成する(モデルは初回実行時に取得されます)

    speech tts qwen3-tts-0.6b --voice ryan -o hello.wav "Hello. It will be sunny in Tokyo tomorrow."
  3. 3

    Qwen3-ASR で WAVE ファイルを書き起こす

    speech asr qwen3-asr-0.6b hello.wav
  4. 4

    ローカルの Web ページを開いて、モデルを選び、音声を生成して書き起こす

    speech serve --open

使う前に知っておきたいこと

  • インストールスクリプトは Apple silicon 搭載の macOS、x86-64 の Linux、Windows x64 でのみ利用できます。Intel Mac ではソースからビルドする必要があります。
  • サーバーは 127.0.0.1 でリッスンし、認証機能はありません。
  • drama-3(20.8 GB)や nemotron-3.5-transcribe(19.0 GB)など、非常に大きなモデルがあります。

収録されている特集

トピック

よくある質問

speech.cpp とは?
ggml上で動作するC++音声ツールキット。音声合成、音声認識、音声区間検出に対応し、Metal、Vulkan、CPUで実行できるOpenAI互換サーバーを備えています。 speech.cppは、単一の`speech`コマンドと共有ライブラリ`libspeech`を提供し、音声合成、音声認識、音声区間検出、話者ダイアライゼーションを1つのC APIで扱えます。ggmlを通じてCPU、Metal、Vulkanで動作します。モデルは名前を指定して取得でき、コーデックを含む単一のGGUFファイルとして提供されるため、PythonやCUDAのセットアップは不要です。
speech.cpp は無料で使えますか?ライセンスは?
speech.cpp は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
speech.cpp は今もメンテナンスされていますか?
活発にメンテナンス中。speech.cpp の最終コミットは 2026年11月1日 です。
speech.cpp は何に使えますか?
OpenAIの音声APIを利用するアプリに、ローカルでの音声出力や文字起こしを追加する。 マイク入力をリアルタイムで文字起こしする音声アシスタントを構築する。 パソコン上で日本語または多言語の録音をオフラインで文字起こしする。 C APIまたはJSON Lines workerを通じて、別のプログラムに音声モデルを組み込む。
speech.cpp のインストール方法は?
README にある公式インストールスクリプトで speech をインストールする Qwen3-TTS で文を合成する(モデルは初回実行時に取得されます): speech tts qwen3-tts-0.6b --voice ryan -o hello.wav "Hello. It will be sunny in Tokyo tomorrow." Qwen3-ASR で WAVE ファイルを書き起こす: speech asr qwen3-asr-0.6b hello.wav ローカルの Web ページを開いて、モデルを選び、音声を生成して書き起こす: speech serve --open
speech.cpp はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/nyosegawa/speech.cpp

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト