世界を動かす技術を、日本語で。

Show HN: MoonshineオープンウェイトSTTモデル - WhisperLargev3より高い精度

概要

  • Moonshine Voice はリアルタイム音声アプリ向けのオープンソースAIツールキット
  • 全てオンデバイス動作 で高速・プライベート・アカウント不要
  • Whisperよりも低遅延・高精度 なストリーミング音声認識を実現
  • 多言語・多プラットフォーム 対応、簡単なAPIで開発可能
  • ライブ音声インターフェース 構築に最適な選択肢

Moonshine Voiceとは

  • Moonshine Voice は開発者向けの オープンソースAI音声認識ツールキット
  • オンデバイス処理 による高速応答・プライバシー保護・APIキー不要
  • ライブストリーミング最適化 でユーザー発話中に処理を進行
  • 独自研究・ゼロから学習したモデル により、Whisper Large V3以上の精度も実現
  • 26MBの超小型モデル から高精度モデルまでラインナップ
  • Python・iOS・Android・MacOS・Linux・Windows・Raspberry Pi・IoT・ウェアラブル に対応
  • 音声認識・話者識別・コマンド認識 など高レベルAPIを提供、専門知識不要
  • 英語・スペイン語・中国語・日本語・韓国語・ベトナム語・ウクライナ語・アラビア語 対応

クイックスタートガイド

  • Discordコミュニティ でライブサポート
  • Python
    • pip install moonshine-voiceでインストール
    • マイク入力の逐次文字起こし: python -m moonshine_voice.mic_transcriber --language en
    • コマンド認識: python -m moonshine_voice.intent_recognizer
  • iOS
    • GitHubからサンプルをダウンロードしXcodeでTranscriberプロジェクトを開く
  • Android
    • GitHubからサンプルをダウンロードしAndroid StudioでTranscriberを開く
  • Linux
    • リポジトリをダウンロードし、CMakeでビルド・実行
  • MacOS
    • サンプルをダウンロードしXcodeでMicTranscriptionプロジェクトを開く
  • Windows
    • サンプルをダウンロードしVisual Studioでcli-transcriberプロジェクトを開く
    • Pythonでモデルダウンロード、ビルド後に実行
  • Raspberry Pi
    • USBマイク必須、sudo pip install --break-system-packages moonshine-voiceでインストール
    • 逐次文字起こし実行コマンドあり
    • YouTubeチュートリアル・Pi専用サンプルも提供

MoonshineをWhisperより選ぶべきタイミング

  • ライブ音声処理 が必要な場合に最適
  • 低遅延 (200ms以下)での応答が重要なアプリケーション向け
  • Whisper は常に30秒ウィンドウで処理、これが遅延・無駄な計算の原因
  • Whisperはキャッシュ非対応、逐次処理で毎回全入力を再計算
  • Whisperの多言語対応は限定的、特にアジア言語で精度不足
  • エッジデバイスでのサポートが断片的、Moonshineは一貫したクロスプラットフォーム対応

Moonshineモデルの特長

  • 任意長入力 対応、ゼロパディング不要で遅延削減
  • ストリーミングキャッシュ で逐次追加音声も高速処理
  • 言語特化型モデル で同サイズ・計算量でも高精度
  • クロスプラットフォームライブラリ (C++コア+各言語バインディング)
  • Whisper Large V3より高精度 (OpenASR leaderboardで上位)

Moonshine APIの使い方

  • 高レベルAPI でライブ音声のキャプチャ・文字起こしを簡単実装
  • TranscriberIntentRecognizer オブジェクトを作成
  • イベントリスナー で重要なイベント時にコールバック処理
  • Python・Swift・Java・C++ など主要言語で同一インターフェース
  • デバッグ・ログ・モデルダウンロード・ベンチマーク 機能も充実

Moonshine開発チームからのメッセージ

  • Moonshine Voice は小規模スタートアップ(6人、月間GPU予算10万ドル未満)による開発
  • Whisper Large V3 を超える低ワードエラー率・ストリーミングSTTモデルを実現
  • OpenASR leaderboard でも上位、Nvidia Parakeetにも匹敵
  • フィードバック・活用事例 を募集中

Moonshine Voice はライブ音声インターフェースのための最適なAI音声認識フレームワーク。 Whisperより低遅延・高精度・多言語・クロスプラットフォーム を求める開発者におすすめ。

Hackerたちの意見

これすごい!みんなお疲れ様、ローカルの音声アシスタントに使うASRコンポーネントとして試してみるよ。リンク先のストリーミング遅延はマジでヤバいね。

なんで「sudo pip install --break-system-packages moonshine-voice」がraspiのインストール推奨方法なのか全然わからないんだけど、作者たちもそれを認めてて、uvを使った例プロジェクトでちょっと複雑な方法を紹介してるね(ちなみに、uv runを使うならソースする必要はないよ)。

OpenASRリーダーボードによると、Parakeet V2/V3とCanary-Qwen(Qwenのファインチューニング)がMoonshineを楽々と抜いてるみたい。3つのモデルは全部オープンだけど、Parakeetが一番小さいんだ。私はParakeet V3をHandyと一緒に使ってて、ローカルではすごくうまく動いてるよ。

Parakeet V3はMoonshine Mediumのパラメータ数の2倍以上(600m対245m)だから、単純な比較にはならないね。モデルサイズがそのチャートに追加されてないのはちょっと驚きだな。

ちなみに、私はWhisperモデル、特にWhisperXを使って仕事をしてるんだけど、なぜかHandyアプリには全然詳しくなかったんだ。今ダウンロードして使ってみたら、すごくいい提案だね。ここに載せてくれてありがとう、リーダーボードへの直接リンクも助かるよ。これからは間違いなく、私のクライアントでのメインモデルとアプリになると思う。

パラキートはどれくらいのVRAMを使う?なんか、オニキスバージョンだと600Mパラメータなのに4GB以上使ってるんだよね。

V2よりV3を選ぶ理由は何?(英語だけを前提にすると)

Handyはすごいね。超高品質のアプリだよ。

うーん、コスト/パフォーマンスの面では、まだAssemblyAIが無敵な気がするけど、間違ってたらごめん。追記:パラキートはすごいな…ムーンシャインも印象的だし、パラメータは半分だね。もしパラキートv3と同じくらい速いTTSがあれば、もう一日中Codexと話せるのに!!!

ブラウザでのJavaScriptサポートについて何か計画ある?デモに問題があったけど、今はなくなってるね。確かではないけど、私もローカルで動かしたことがあると思うんだけど、突然壊れちゃって、理由がわからなかったんだ。

精度はよく英語だと仮定されるけど、それはいいとしても、「高い」と言うのは曖昧だよね。英語だけで高いの?それとも特定の言語のサブセットで高いの?どれなの?この手のデータには、言語 | WERの小さな表が最低限必要だと思う。

多くのTwitchストリーマーがhttps://github.com/royshil/obs-localvocalを使って、ドイツ語の音声を英語の字幕に変換する設定を手伝ってきたよ。Whisperよりも速くて正確なオプションが欲しいけど、ストリーマーはパイプラインにインストールできるオフ・ザ・シェルフのものが必要なんだ。OBSプラグインみたいに、OBSの音声ソースから音声をキャッチできるものが理想。いくつか明らかな問題があるね:これ、翻訳をサポートしてないみたいで残念。これ、使い方的にかなり重要だよね。それに、一度に一つの言語しかサポートしてないのも問題。ストリーマーはチャットやDiscordでゲームパートナーと話すときに、よく言語を切り替えるからね。もしかしたら、そんなプラグインが話されている言語を検出して、必要に応じてモデルを切り替えられるかもしれないね。

Whisper Large v3より高い精度を主張するのは大胆なスタートだね。評価は、Whisperの有名なハルシネーションループ(「ご覧いただきありがとうございます!」みたいな)を考慮してるの?それとも、クリーンなデータセットのWERだけに基づいてるの?それと、エッジデプロイメントのVRAMの必要量はどれくらい?標準の8GBのMacに量子化なしで収まるなら、これはすごいことだよ。

いい仕事だね。ストリーミングの用途に関しては、最終的なWERだけじゃなくて部分的な安定性も見たいな。ボイスエージェントの場合、数百ミリ秒ごとに部分が書き換えられるのが辛い失敗モードなんだ。もし共有できるなら、中央値の最初のトークンのレイテンシー、リアルタイムファクター、ノイズのある遠方音声での「1秒後/3秒後に修正された部分トークンの割合」みたいなメトリクスがあれば、比較がもっと実用的になると思う。これらの数字が良さそうなら、ローカルアシスタントパイプラインにとって非常に期待できるね。

他の言語のモデルはMoonshine Community Licenseの下でリリースされていて、これは非商業ライセンスだよ。英語だけをオープンウェイトでリリースするのは変だね。

とてもワクワクするね!人々がこれを使って何を作るのか聞きたいな。私のスタートアップは、消防士がミッション中にタブレットで使うソフトウェアを作ってるんだ。これをデバイスのキーボードの代わりに使えるか、時間ができたら試してみるのが楽しみ。ここでは「もたつかない」ことが重要なんだ。業界の特性上、できるだけクラウドに頼らず、デバイス上で動かすか、自己ホスティング/オンプレミスの可能性を考えてる。あなたの会社がこの方向に進んでいるのがすごくいいと思う。カスタムトレーニングが必要になるかもしれないけど、ノルウェー語が必要で、例えば「bravo one two」は「B-1.2」になるべきなんだ。これは単純なポストプロセッシングルールでもできるかもしれないけど、認識を改善するためにトレーニングにそういう例も欲しいかも。VCの資金はないけど、収入を得られるのを楽しみにしてるよ。それをあなたの方に回せるようにしたいな :)