🎤

リアルタイムで字幕表示するアプリをOSS公開

に公開

はじめに

オンライン会議や外国語の動画視聴など、リアルタイムな文字起こし(ライブキャプション)の需要が高まっています。Windows 11には標準で素晴らしいライブキャプション機能がありますが、「英語以外のモデルが重い」「特定のハードウェア(NPU等)に依存する機能がある」といった課題も感じていました。

また、ローカルで動く高精度な文字起こしといえばOpenAIの「Whisper」が有名ですが、常駐アプリとして動かすには少しPCのリソース(メモリやGPU)を食いすぎる傾向があります。

そこで今回、Whisperよりも圧倒的に軽量で高速な音声認識モデル 「Moonshine(Useful Sensors社)」 を採用し、Windows 11標準のライブキャプションUIを完全再現したクローンアプリをオープンソースで開発しました!

GitHub Copilotを用いたので2時間で開発できました。会議やオンライン研修の文字起こしなどで使ってみてください。

アプリを起動すると自動で文字起こしが開始され、実行ファイルと同じディレクトリに録音データと文字起こしのテキストが作成されます。

🔗 GitHubリポジトリはこちら
yukkes/moon-live-captions
(※よろしければ Star ⭐ をいただけると励みになります!)

  • 画面の動作例(日本語)
    image.png

  • 画面の動作例(英語)
    image.png


アプリの特徴 (moon-live-captions)

本アプリは、PC上で再生されるあらゆるシステム音声(またはマイク入力)をリアルタイムでテキスト化し、デスクトップ上に表示するデスクトップアプリケーションです。

1. ⚡ 圧倒的な軽さとスピード(Moonshineモデルの恩恵)

文字起こしのコアエンジンには、Useful Sensors社が開発したMoonshine ASRを使用しています。
Moonshineは、従来のモデル(Whisper等)と比べてメモリ使用量が非常に少なく、推論レイテンシ(遅延)が極めて低いのが特徴です。バックグラウンドで常に起動していても、PCの動作を重くしません。

2. 🔒 完全オフライン・プライバシー保護

音声データは一切クラウド(外部サーバー)に送信されません。100%ローカルのデバイス上で処理が完結するため、社外秘のWeb会議やプライベートな通話でも安心して利用できます。

3. 🎨 Windows 11 ネイティブライクなUI/UX

UIはWindows 11標準のライブキャプションの見た目や操作感を徹底的に模倣(クローン)しました。

  • 画面へのドッキング: 「画面の上」「画面の下」への固定表示
  • フローティング: ドラッグ&ドロップで自由に移動・サイズ変更できる「画面に重ねて表示」モード
  • カスタマイズ可能な文字サイズ、色、背景の透明度設定

4. 🌐 英語・日本語など多言語対応

英語モデルだけでなく、日本語を含む他言語モデルもダウンロードして利用することが可能です。


⚠️ ご利用にあたってのライセンス(重要)

本アプリをダウンロードして利用・改変・再配布するにあたり、「アプリのソースコード」と「AIモデル」でライセンスが異なる点にご注意ください。

1. アプリ本体のソースコード

本リポジトリ(yukkes/moon-live-captions)のソースコード自体は MIT License で公開しています。商用利用、改変、再配布など、どなたでも自由にご利用いただけます。

2. Moonshine AI モデルのライセンス

アプリ内でダウンロード・実行される「Moonshineモデル」は、言語によってUseful Sensors社のライセンスが異なります。

  • 英語モデル (moonshine-tiny, moonshine-base): MIT License
  • 日本語など、英語以外のモデル: Moonshine AI Community License
    • 【利用条件】: 研究者、開発者、クリエイター、および年間売上高が100万ドル(約1.5億円)未満の中小企業であれば、無償で商用利用が可能です。
    • この基準を超える大企業等が利用する場合は、Useful Sensors社との商用ライセンス契約が必要となります。

非英語モデルを利用する場合は、自動的に上記の「Moonshine AI Community License」に同意したものとみなされますので、組み込み用途や企業で利用される方はご留意ください。


おわりに

「PCの音声をサクッとリアルタイムで文字にしたいけれど、クラウドにデータを送りたくないし、重いアプリも入れたくない」というニッチな(しかし確実にある)需要を満たすために作りました。

UIの改善、新しい機能の追加、バグ報告など、GitHubでの Issue や Pull Request を大歓迎しております!

🔗 リポジトリ:https://github.com/yukkes/moon-live-captions

Discussion