モデル / データセット
modelscope/FunClip avatar
modelscope/FunClip

FunClip レビュー: FunASR と LLM で字幕付き切り抜きを作る Gradio ツール

FunASR-powered video transcription, subtitle generation, and LLM-assisted clipping tool with a local Gradio UI.

スター 6,315フォーク 752PythonMIT

ひと目でわかる

これは何?
FunClip は FunASR の音声認識結果からテキストや話者を選んで動画を切り出す、ローカル完結型の Gradio アプリだ。中国語 ASR に強く、モデル選択の自由度が高い一方で、依存関係の更新とモデル重みの別途ダウンロードが運用上の負担になる。
誰に向いている?
FunClip は、中国語動画の字幕起こしと話者単位の切り抜きを、外部 API に音声を送らずにローカルで完結させたい編集者やエンジニアに向く。逆に、英語のみの素材を大量にバッチ処理したい場合や、GPU を持たない環境で長尺動画を扱いたい場合には向かない。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 5 日前です。
何の言語で書かれている?
主に Python です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

FunClip が埋めるのは「文字起こしの後」の空白

動画編集の現場で時間を食うのは、カットそのものより「どの発言を残すか」を決める作業だ。FunClip はこの工程を、音声認識の結果をテキストとして提示し、そのテキストを選ばせて切り出すという形に置き換える。README によれば、FunASR の Paraformer 系モデルで動画の音声を認識し、ユーザーが認識結果からテキスト区間または話者を選んでクリップボタンを押すと、該当する動画断片が得られる。対象は中国語のコンテンツ制作者と、字幕付き素材を扱うエンジニアだ。多区間の自由な切り出しに対応し、動画全体の SRT と対象区間の SRT を自動で返すと README は説明している。ポイントは、音声を外部サービスに送らずローカルで処理が完結する点で、未公開の素材や社内映像を扱う用途ではこれが採用理由になる。

認識モデルを差し替えられる設計と、その代償

FunClip の中心は FunASR で、既定は Paraformer-Large だ。README はこれを中国語 ASR の高性能なオープンモデルの一つと位置づけ、タイムスタンプ予測も統合して行うとしている。加えて SeACo-Paraformer のホットワード機能を使い、人名や固有のエンティティを認識時に指定して精度を上げられる。話者認識には CAM++ を統合し、自動認識された話者 ID を切り出し対象にできる。v2.2.0 では OpenMOSS の MOSS-Transcribe-Diarize 経由の長尺 ASR と匿名話者ラベル、タイムスタンプの経路が追加され、外部 VAD や話者モデルを必要としないと release notes は述べている。ここで注意したいのは、モデルを増やすほど起動時のダウンロードとメモリ要件が増えることだ。README はモデル重みが起動時に別途ダウンロードされ、ソースアーカイブには含まれないと明記している。配布物を検証しても、重みの同一性は別途確認できない。

起動までの手順と、見落としやすいバージョン制約

基本機能は Python 環境だけで動く。README の手順は git clone https://github.com/modelscope/FunClip.git、cd FunClip、pip install -r ./requirements.txt の 3 段階だ。起動は python funclip/launch.py で、オプションとして -m fun-asr-nano(北京語、英語、日本語、中国語 7 方言群、26 の地域アクセント)、-m sensevoice(多言語 ASR と感情、音声イベント検出)、--model moss(長尺 ASR と匿名話者ラベル、タイムスタンプ)、-l en(英語音声)、-p でポート番号、-s True で外部公開サービスが指定できる。バージョン固定のスナップショットが必要なら FunClip-2.2.1.tar.gz か .zip を取得し、公開されている SHA256SUMS で検証する。ここで実務上いちばん引っかかりやすいのが funasr の下限で、README は funasr>=1.4.9 を要求し、MOSS の vLLM アダプタ、長音声生成の制御、正規化された sentence_info の話者区間がこの版に含まれると説明している。古い環境では pip install -U "funasr>=1.4.9" を先に実行する必要がある。ImageMagick は v2.2.1 では標準の字幕処理に不要で、legacy な funclip/test/imagemagick_test.py や自前の MoviePy TextClip を使う場合のみ入れる。

字幕の色が残るようになった v2.2.1 の変更点

v2.2.1 の変更は地味だが、運用中の環境には影響する。release notes によれば、選択した字幕色を保持するために Pillow ベースのレンダラへ切り替え、動画エンコード後も前景色が残るようにした。これは MoviePy の TextClip 経由で色が落ちる問題への対処と読める。同時に MOSS の話者ラベル境界をチェックサム保護付きのソースアーカイブで公開している。既存インストールに対して README が求めているのは pip install -U -r requirements.txt を実行してから再起動することだけで、特別な移行スクリプトには触れていない。ただし Pillow レンダラは同梱フォントを使うため、任意のフォントを指定したい場合の挙動は README からは読み取れない。ここは導入前に自分の素材で確認する価値がある。

LLM による切り抜き支援はまだ発展途上

FunClip は LLM を使った AI 切り抜きを打ち出しており、README の On Going には「large language model based AI clipping をさらに探求する」とあり、プロンプト設定の tips を募集している。つまり現時点でこの機能は完成形ではなく、フィードバックを前提とした段階だ。同じリストには逆方向の区間選択と無音区間の除去が未チェックで残っており、切り抜きの細かい制御は今後追加される予定である。テキスト選択ベースの切り出しと話者指定は動く範囲として説明されているが、LLM に「どこを切るべきか」を判断させたいなら、現状は自分でプロンプトを調整する前提で臨むことになる。この点は、完成した自動編集機能を期待して導入すると肩透かしを食う部分だ。

Whisper 系ツールとの違いは中国語と話者分離に寄っていること

代替として最も比較されるのは Whisper 系の文字起こしツールだ。FunClip 自身の topics に whisper-alternative が入っており、README も英語ユーザー向けの Whisper 対応を On Going の完了項目として挙げている。ただしそこで述べられているのは、タイムスタンプ付きの Whisper ASR が大量の GPU メモリを要求するという制約で、その回避策として FunASR の vanilla Paraformer にタイムスタンプ予測を実装したという経緯だ。アプローチの差はここにある。Whisper は多言語の認識精度を広くカバーするが、話者分離は別途 diarization を組み合わせる必要がある。FunClip は CAM++ による話者認識を最初から統合し、認識された話者 ID をそのまま切り出し条件にできる。中国語素材で「この人の発言だけを切り出したい」という要件なら、FunClip の構成のほうが手数が少ない。逆に英語のみで、既に Whisper ベースのパイプラインが動いているなら、置き換える理由は薄い。

向かないケースと、導入前に確認すべきこと

FunClip が適さないのは、まず GPU を持たない環境で長尺動画を処理したい場合だ。モデル重みを起動時にダウンロードする設計で、認識モデルを切り替えるほど要件は上がる。次に、英語のみの素材を大量にバッチ処理する用途。既定の想定は中国語で、英語は -l en の指定と Whisper 対応の経緯を見る限り、主経路ではない。三つ目に、字幕の見た目を細かく作り込みたい場合。v2.2.1 の Pillow レンダラは同梱フォント前提で、フォント指定の自由度は README からは確認できない。ライセンスは MIT で、ソースアーカイブの再配布や改変は比較的自由だが、モデル重みは別配布であり、それぞれのモデルページの条件を確認する必要がある。ここは法的助言ではないので、配布物を同梱する場合は各モデルのライセンスを自分で確認してほしい。導入の第一歩は、funasr>=1.4.9 が入った Python 環境で python funclip/launch.py を実行し、自分の素材で字幕色と話者ラベルが意図どおり出るかを確認することだ。

編集部の結論

FunClip は、中国語動画の字幕起こしと話者単位の切り抜きを、外部 API に音声を送らずにローカルで完結させたい編集者やエンジニアに向く。逆に、英語のみの素材を大量にバッチ処理したい場合や、GPU を持たない環境で長尺動画を扱いたい場合には向かない。導入前に確認すべきは、funasr>=1.4.9 が入っているか、Gradio 4 が動く Python 環境か、そしてモデル重みのダウンロードに耐えるディスクと回線があるかだ。特に v2.2.1 では字幕描画が Pillow に切り替わったため、既存環境は pip install -U -r requirements.txt を実行してから再起動する必要がある。

公式情報源

  1. License: MIT
  2. modelscope/FunClip on GitHub
  3. Project website
  4. README
  5. Releases
コミュニティノート

コミュニティノート