DUICUO

優れたオープンソース音声認識エンジン13選

自動音声認識(ASR)は、人間とコンピュータのインタラクションにおいて重要な役割を果たしており、文字起こし、翻訳、ディクテーション、音声合成、キーワードローカリゼーション、音声日記、言語強化といった用途に活用できます。音声認識の基本的なプロセスは、一般的に音声分析、音声分解、フォーマット変換、テキストマッチングなどから構成されます。しかし、現実世界の音声認識システムはより複雑であり、ノイズ抑制、音響モデル、言語モデル、信頼性評価といった追加のステップや機能コンポーネントが含まれる場合があります。

音声認識技術は長年にわたり目覚ましい進歩を遂げてきました。音声認識は、スマートホームの実現、自動運転を実現する自動車の制御、ChatGPTなどの大規模対話モデルとのインタラクション、スマートスピーカー、家庭用ロボットなど、様々な分野で活用されています。自然言語処理と音声認識技術の発展は、iFlytekをはじめとする多くの優れた企業を生み出してきました。

AI技術の発展に伴い、音声認識関連の研究に投資する個人や組織が増えており、この分野におけるオープンソースプロジェクトの活発な開発も促進されています。オープンソースプロジェクトは、カスタマイズが容易で、利用コストが低く、透明性が高く、データセキュリティを制御可能なプライベートな環境で展開できるという利点があります。そのため、オープンソースの音声認識エンジンは、アプリケーション開発に携わる技術者の間でますます人気が高まっています。

2024年が始まりました。AIブームはまだまだ続いています。ここでは、現在までにリリースされている優れたオープンソース音声認識エンジンをいくつかご紹介します。

1. ささやき

ソースコード: https://github.com/openai/whisper

公式サイト: https://openai.com/research/whisper

Whisperは、OpenAIが開発した革新的なツールで、文字起こしと翻訳サービスを提供しています。2022年9月にリリースされたこのAIツールは、最も精度の高い自動音声認識モデルの一つです。インターネット上の68万時間分の音声ファイルという膨大なデータセットを用いて学習されているため、市場の他のツールとは一線を画しています。この多様なデータにより、ツールの堅牢性が向上しています。

Whisper を使った文字起こしには、まず Python またはコマンドラインインターフェースをインストールする必要があります。Whisper には、Micro、Basic、Small、Medium、Large の 5 種類のモデルが用意されており、それぞれサイズと機能が異なります。モデルが大きいほど文字起こしは高速になりますが、パフォーマンスを最大限に引き出すには、高性能な CPU と GPU が必要です。

このモデルは、LibriSpeech (最も一般的な音声認識ベンチマークの 1 つ) に熟達したモデルと比べるとまだ遅れをとっていますが、ゼロショット パフォーマンスでは優れており、同じモデルよりも API エラーが 50% 少なくなっています。

アドバンテージ:

  • MP3、MP4、M4A、MPEG、MPGA、WEBM、WAV などのコンテンツ形式をサポートします。
  • 99の言語を書き起こし、すべてを英語に翻訳できます。
  • このツールは無料でご利用いただけます。

欠点:

  • モデルが大きくなるほど、消費される GPU リソースも多くなり、コストが非常に高くなる可能性があります。
  • ツールをインストールして使用するには、時間とリソースがかかります。
  • リアルタイムの音声文字変換機能は提供されません。

2. プロジェクトDeepSpeech

ソースコード: https://github.com/mozilla/DeepSpeech

Project DeepSearchは、Mozillaが提供するオープンソースの音声テキスト変換エンジンです。この音声テキスト変換コマンドとライブラリは、Mozilla Public License(MPL)に基づいて公開されています。モデルはBaiduのディープラーニング研究論文に基づいており、エンドツーエンドの学習機能を備え、複数言語の音声の書き起こしをサポートしています。学習と実装にはGoogleのTensorFlowが使用されています。

GitHubからソースコードをダウンロードし、Pythonインストール環境にインストールしてご利用ください。このツールは英語モデルで事前学習済みですが、ご自身のデータを使用してモデルを学習することも可能です。また、事前学習済みモデルを入手し、カスタムデータを使用して改良することも可能です。

アドバンテージ:

  • DeepSpeech はネイティブ コード ソリューションなのでカスタマイズが簡単です。
  • Python、C、.NET Framework、JavaScript の開発パッケージを提供しているため、ユーザーはプログラミング言語に関係なくツールを使用できます。
  • Raspberry Pi デバイスを含むさまざまな小型デバイスで実行できます。
  • 文字あたりのエラー率は 7.5% と非常に低いです。
  • Mozilla はプライバシーの問題を非常に真剣に受け止めています。

欠点:

  • 報道によると、MozillaはDeepSpeechの開発を中止するとのこと。これは、バグや実装上の問題が発生した場合のサポートが縮小されることを意味します。

3. カルディ

ソースコード: https://github.com/kaldi-asr/kaldi

Kaldiは、音声認識研究者向けに特別に開発された音声認識ツールです。C++で記述され、最小限の制限が課されたオープンソースライセンスであるApache 2.0ライセンスの下でリリースされています。WhisperやDeepSpeechといったディープラーニングに特化したツールとは異なり、Kaldiは主に古くからある信頼性の高いツールを用いた音声認識モデルに焦点を当てています。これらのモデルには、隠れマルコフモデル、ガウス混合モデル、有限状態トランスデューサなどが含まれます。

アドバンテージ:

  • Kaldiは非常に信頼性が高く、コードは徹底的に検証されています。
  • ディープラーニングに重点を置いているわけではありませんが、文字起こしサービスを実行できるモデルがいくつかあります。
  • これは学術的および業界関連の研究に最適であり、ユーザーはモデルやテクノロジーをテストできます。
  • 十分なサポートを提供するアクティブなフォーラムがあります。
  • ユーザーが問題を解決するのに役立つリソースとドキュメントも用意されています。
  • オープンソースなので、プライバシーやセキュリティに懸念があるユーザーは、コードを調べて動作の仕組みを理解することができます。

欠点:

  • 従来のモデリング手法を使用すると、精度が制限される可能性があります。
  • Kaldi はコマンドラインインターフェースでのみ実行されるため、ユーザーフレンドリーではありません。
  • 使い方は非常に複雑で、技術的な経験を持つユーザーに適しています。
  • このツールキットを使用するには、大量の計算能力が必要です。

4. スピーチブレイン

ソースコード: https://github.com/speechbrain/speechbrain

SpeechBrainは、音声関連技術の研究開発を促進するオープンソースツールキットです。音声認識、強調、分離、音声ロギング、マイク信号処理など、幅広いタスクをサポートしています。SpeechBrainは開発フレームワークとしてPyTorchを採用しています。開発者や研究者は、PyTorchエコシステムとニューラルネットワークの構築および学習サポートの恩恵を受けることができます。

アドバンテージ:

  • ユーザーは、従来の ASR モデルまたはディープラーニング ベースの ASR モデルを選択できます。
  • ニーズに合わせてモデルを簡単にカスタマイズできます。
  • PyTorch との統合により、使いやすくなります。
  • ユーザーは事前トレーニング済みのモデルを使用して、音声テキスト変換タスクを開発できます。

欠点:

  • SpeechBrain のドキュメントは Kaldi ほど充実していません。
  • 事前トレーニング済みのモデルには制限があります。
  • このツールを使用するには専門知識が必要になる場合があります。専門知識がない場合、習得にかなりの時間がかかる可能性があります。

5. コキ

ソースコード: https://github.com/coqui-ai/STT

Coquiは、STTモデルの学習と展開に最適な高度なディープラーニングツールキットです。Mozilla Public License 2.0に基づいてライセンスされており、信頼度スコア付きの複数のトランスクリプトを生成できます。エンジンのテストやさらなる微調整に使用できる、学習済みモデルとサンプル音声ファイルも提供されています。さらに、使用方法や問題が発生した場合のトラブルシューティングに役立つ、非常に詳細なドキュメントとリソースも用意されています。

アドバンテージ:

  • 提供される STT モデルは、高品質のデータに基づいて高度にトレーニングされています。
  • このモデルは複数の言語をサポートしています。
  • フレンドリーなサポート コミュニティがあり、そこで質問したり、STT に関する詳細情報を入手したりできます。
  • 数秒単位の極めて低い遅延でリアルタイムの文字起こしをサポートします。
  • 開発者は、文字起こしから音声アシスタントとしての動作まで、さまざまなユースケースに合わせてモデルをカスタマイズできます。

欠点:

CoquiはSTTプロジェクトを中止し、テキスト読み上げツールキットに注力しています。そのため、問題が発生した場合はご自身でトラブルシューティングを行う必要がある場合があります。

6. ジュリアス

ソースコード: https://github.com/julius-speech/julius

Juliusは、1997年に日本で始まった、古くからある音声テキスト変換プロジェクトです。BSD-3ライセンスの下でリリースされています。主に日本語の音声認識をサポートしていますが、言語非依存プログラムであるため、英語、スロベニア語、フランス語、タイ語など、複数の言語を理解して処理することができます。文字起こしの精度は、適切な言語と音響モデルの使用に大きく依存します。このプロジェクトはC言語で記述されており、Windows、Linux、Android、macOSシステムで動作します。

アドバンテージ:

  • Julius は、メモリ使用量を抑えながら、リアルタイムの音声テキスト変換を実行できます。
  • ASR の問題解決に役立つアクティブなコミュニティがあります。
  • 英語でトレーニングされたモデルはオンラインでダウンロードできます。
  • 音声認識にはインターネット接続は必要ないため、プライバシーを重視するユーザーに適しています。

欠点:

  • 他のオープンソース プログラムと同様に、これを動作させるには技術的な経験を持つユーザーが必要です。
  • 学習曲線が非常に大きいです。

7. 懐中電灯ASR

ソースコード: https://github.com/flashlight/wav2letter

Flashlight ASRは、FacebookのAI研究チームによって設計されたオープンソースの音声認識ツールキットです。大規模なデータセットを優れた速度と効率で処理する能力を誇ります。その高速性は、言語モデル、機械翻訳、音声合成に畳み込みニューラルネットワークのみを使用していることに起因しています。

理想的には、ほとんどの音声認識エンジンは、畳み込みニューラルネットワークと再帰型ニューラルネットワークを使用して言語を理解し、モデル化します。しかし、再帰型ネットワークは高い計算能力を必要とするため、エンジンの速度に影響を与える可能性があります。

Flashlight ASR は C++ でコンパイルされており、CPU と GPU の両方での実行をサポートします。

アドバンテージ:

  • これは最も高速な音声テキスト変換システムの 1 つです。
  • 様々な言語や方言でご利用いただけます。
  • このモデルは、GPU および CPU リソースを大量に消費しません。

欠点:

  • 英語を含め、事前トレーニング済みの言語モデルは提供されません。
  • このツールを操作するには、深いコーディングの専門知識が必要です。
  • 新しいユーザーにとっては、学習曲線が急です。

8. パドルスピーチ

ソースコード: https://github.com/PaddlePaddle/Paddle

PaddleSpeechは、PaddlePaddleプラットフォームで利用可能なオープンソースの音声テキスト変換ツールキットであり、Apache 2.0ライセンスの下でオープンソースとして提供されています。PaddleSpeechは、音声認識、音声テキスト変換、キーワードローカリゼーション、翻訳、音声分類など、最も機能豊富なツールキットの一つです。その文字起こし品質は優れており、NAACL 2022でベストデモ賞を受賞しました。

この音声テキスト変換エンジンは複数の言語モデルをサポートしていますが、中国語と英語のモデルを優先しています。特に中国語モデルは、テキストと発音が比較的標準化されているため、中国語の言語規則との互換性があります。

アドバンテージ:

  • このキットには、市場最高のテクノロジーを活用したハイエンドモデルと超軽量モデルの両方が用意されています。
  • 音声テキスト変換エンジンはコマンドラインとサーバーオプションの両方を提供しているため、簡単に使用できます。
  • これは開発者や研究者にとって非常に便利です。
  • ソースコードは、最も一般的に使用されている言語の 1 つである Python で書かれています。

欠点:

  • 中国語のリソースに重点を置いているため、他の言語のサポートにはいくつかの制限があります。
  • 学習曲線は急です。
  • このツールを統合して使用するには、ある程度の専門知識が必要です。

9. OpenSeq2Seq

ソースコード: https://github.com/NVIDIA/OpenSeq2Seq

OpenSeq2Seqは、その名の通り、オープンソースの音声テキスト変換ツールキットで、様々な種類のシーケンスツーシーケンスモデルの学習に役立ちます。Nvidiaによって開発され、Apache 2.0ライセンスの下でリリースされており、誰でも無料で利用できます。言語モデルを学習し、文字起こし、翻訳、自動音声認識、感情分析などのタスクを実行できます。

ニーズに応じて、デフォルトの事前学習済みモデルを使用することも、独自のモデルを学習することもできます。OpenSeq2Seqは、複数のグラフィックカードと複数のコンピューターを使用することで最適なパフォーマンスを発揮します。Nvidia搭載デバイスで最も効果的に動作します。

アドバンテージ:

  • このツールはさまざまな機能を備えているため、非常に用途が広くなっています。
  • Python、TensorFlow、CUDA の最新バージョンで使用できます。
  • 開発者と研究者は、このツールにアクセスして共同作業や革新を行うことができます。
  • これは、Nvidia 搭載デバイスのユーザーにとって有益です。

欠点:

  • 並列処理機能があるため、大量のコンピュータ リソースを消費する可能性があります。
  • Nvidia がプロジェクト開発を中断したため、コミュニティのサポートは徐々に減少しました。
  • これは、Nvidia ハードウェアを持っていないユーザーにとってはあまり有利ではないかもしれません。

10. ヴォスク

ソースコード: https://github.com/alphacep/vosk-api

公式サイト:https://alphacephei.com/vosk/

Voskは、最もコンパクトで軽量な音声テキスト変換エンジンの一つです。このオープンソースツールキットは、Android、iOS、Raspberry Piなど、様々なデバイスでオフラインで実行できます。英語、中国語、ポルトガル語、ポーランド語、ドイツ語など、20以上の言語と方言をサポートしています。

Voskは、50MB程度という理想的なサイズで、あまり容量を取らない小型言語モデルを提供しています。ただし、一部の大型モデルは最大1.4GBの容量を占有することもあります。このツールは高速で、音声を継続的にテキストに変換できます。

アドバンテージ:

  • Java、Python、C++、Kotlyn、Shell など、さまざまなプログラミング言語での開発をサポートしています。
  • データ転送からチャットボットや仮想アシスタントの開発まで、さまざまなユースケースがあります。
  • 応答時間が速いです。

欠点:

  • エンジンの精度は言語やアクセントによって異なる場合があります。
  • このツールを統合して使用するには専門知識を身につける必要があります。

11. アテナ

ソースコード: https://github.com/athena-team/athena

Athenaは、Apache 2.0オープンソースライセンスに基づいてリリースされた、シーケンスツーシーケンス方式のオープンソース音声テキスト変換エンジンです。このツールキットは、研究者や開発者のエンドツーエンドの音声処理ニーズに最適です。モデルが処理できるタスクには、自動音声認識(ASR)、音声合成、音声検出、キーワードローカリゼーションなどがあります。すべての言語モデルはTensorFlowを使用して実装されているため、より幅広い開発者がツールキットを利用できます。

アドバンテージ:

  • Athena には、文字起こしサービスから音声合成まで、幅広い用途があります。
  • 独自の Python 機能抽出機能を備えているため、Kaldi に依存しません。
  • このツールは適切にメンテナンスされ、定期的に更新されます。
  • オープンソースで無料で使用でき、あらゆるユーザーが利用できます。

短所のデメリット:

  • 新規ユーザーにとっては、学習曲線が比較的急です。
  • コミュニティサポート用のWeChatグループがありますが、プラットフォームにアクセスできるユーザーのみにアクセスを制限しています。

12.ESPネット

ソースコード: https://github.com/espnet/espnet

ESPnetは、Apache 2.0ライセンスに基づいてリリースされたオープンソースの音声テキスト変換ソフトウェアです。音声認識、翻訳、音声合成、音声強調、ロギングなどのタスクをカバーする、エンドツーエンドの音声処理機能を提供します。このツールキットは、深層学習フレームワークとしてPyTorchを使用し、Kaldiデータ処理スタイルに準拠しています。そのため、様々な言語処理タスクに対応する包括的なレシピを入手できます。このツールは複数の言語をサポートしています。既製の学習済みモデルを使用することも、必要に応じて独自のモデルを作成することもできます。

アドバンテージ:

  • このツールキットは、他の音声テキスト変換ソフトウェアに比べて優れたパフォーマンスを誇ります。
  • 音声をリアルタイムで処理できるため、現場での音声文字変換に適しています。
  • 研究者や開発者に適しています。
  • これは、さまざまな音声処理タスクに使用できる最も汎用性の高いツールの 1 つです。

欠点:

  • 新しいユーザーにとっては、統合と使用が複雑になる可能性があります。
  • このツールキットを実行するには、PyTorch と Python に精通している必要があります。

13. Tensorflow ASR

ソースコード: https://github.com/TensorSpeech/TensorFlowASR

Tensorflow ASRは、Tensorflow 2.0をディープラーニングフレームワークとして利用し、様々な音声処理機能を実装したオープンソースの音声テキスト変換エンジンです。このプロジェクトはApache 2.0ライセンスの下でリリースされています。

Tensorflowの最大の強みはその精度です。開発者たちは、Tensorflowはほぼ「最先端」のモデルだと主張しています。また、最もメンテナンスが行き届いているツールの一つであり、定期的にアップデートが行われ、機能が向上しています。例えば、このツールキットは現在、TPU(特殊なハードウェア)での言語学習をサポートしています。

Tensorflowは、Conformer、ContextNet、DeepSpeech2、Jasperといった特定のモデルの使用もサポートしています。選択はタスクによって異なります。例えば、一般的なタスクにはDeepSpeech2を検討し、より高い精度が求められるタスクにはConformerを使用するといった具合です。

アドバンテージ:

  • 言語モデルは、音声テキスト変換処理において高い精度と効率性を発揮します。
  • モデルは TFLite 形式に変換できるため、軽量で簡単にデプロイできます。
  • 音声テキスト変換関連のさまざまなタスクを提供できます。
  • 複数の言語をサポートしており、英語、ベトナム語、ドイツ語などの言語の事前トレーニング済み言語モデルを提供します。

欠点:

  • インストールプロセスは初心者にとっては非常に複雑です。ユーザーにはある程度の専門知識が必要です。
  • 高度なモデルを使用すると、学習曲線が比較的急になります。
  • TPU ではテストが許可されていないため、ツールの機能が制限されます。

選択

上記で推奨したオープンソースの音声認識エンジンにはそれぞれ長所と短所があります。選択は、具体的なアプリケーションの要件と利用可能なリソースによって異なります。

様々なデバイスに対応した軽量ツールキットが必要な場合は、VoskとJuliusが最適です。Android、iOS、Raspberry Piで動作し、リソースをあまり消費しません。

モデルを自分でトレーニングする必要がある場合は、Whisper、OpenSeq2Seq、Flashlight ASR、Athena などのツールキットを使用できます。