海外からのアクセス:www.kdjingpai.com
Ctrl + D このサイトをブックマークする

Simple Subtitling: ビデオ字幕と話者識別を自動生成するオープンソースツール

はじめに

Simple Subtitlingはオープンソースの音声字幕生成ツールで、動画や音声ファイルの字幕を自動生成し、話者をラベリングすることに重点を置いています。Jaesung Huhによって開発され、GitHubでホストされているこのプロジェクトは、シンプルで効率的な字幕生成ソリューションを提供することを目的としています。このツールは、機械学習モデルと組み合わせた音声処理技術を使用し、動画に素早く字幕を追加する必要がある人のために、タイムスタンプと話者を特定した字幕ファイルを生成します。このプロジェクトはPythonで開発され、モノラル16kHzの音声処理をサポートし、インストールも使用も簡単です。Simple SubtitlingはJaesung Huh博士の研究によるオープンソースプロジェクトの1つで、実用性とオープンソースコミュニティへの貢献に重点を置いています。

Simple Subtitling: ビデオ字幕の自動生成と話者識別のためのオープンソースツール-1

 

機能一覧

  • 自動字幕生成:オーディオファイルからテキストを抽出し、タイムスタンプ付きの字幕ファイルを生成します。
  • 話者ラベリング:音声分析によって異なる話者を区別し、字幕に話者ラベルを追加します。
  • SRTフォーマットのサポート:ほとんどのビデオプレーヤーと互換性のある標準のSRT字幕ファイルを生成します。
  • オーディオの前処理:処理効果を確実にするため、オーディオのモノラル16kHzフォーマットへの変換をサポート。
  • 設定ファイルのカスタマイズ:ユーザーは設定ファイルを通して字幕生成パラメータを調整できます。
  • オープンソースで無償:コードは公開されており、ユーザーは自由に機能を変更・拡張することができます。

 

ヘルプの使用

設置プロセス

Simple SubtitlingにはPythonが使える環境が必要で、Python 3.9以上を推奨します。詳しいインストール手順は以下の通りです:

  1. クローン倉庫
    ターミナルを開き、以下のコマンドを実行してプロジェクト・コードをクローンする:

    git clone https://github.com/JaesungHuh/simple-subtitling.git --recursive

利用する --recursive すべてのサブモジュールをクローンしてください。

  1. 仮想環境の構築
    依存関係の衝突を避けるために、Pythonの仮想環境を作成することをお勧めします:

    conda create -n simple python=3.9
    conda activate simple
    

    Condaを使用しない場合は、次のように使用することもできる。 venv 仮想環境を作る:

    python -m venv simple_env
    source simple_env/bin/activate  # Linux/Mac
    simple_env\Scripts\activate  # Windows
    
  2. 依存関係のインストール
    プロジェクト・ディレクトリに移動し、必要なPythonパッケージをインストールする:

    cd simple-subtitling
    pip install -r requirements.txt
    

    インターネット接続が機能していることを確認すると、依存パッケージが自動的にダウンロードされます。

  3. FFmpegをインストールする
    Simple Subtitlingでは、音声の前処理にFFmpegを使用しています。お使いのOSに合わせてFFmpegをインストールしてください:

    • Ubuntu/デビアン::
      sudo apt update && sudo apt install ffmpeg
      
    • マックオス(Homebrewを使用):
      brew install ffmpeg
      
    • ウィンドウズ(ショコラトリー使用):
      choco install ffmpeg
      

    インストール後 ffmpeg -version インストールが成功したことを確認する。

  4. 設定環境
    プロジェクトには config.yaml 音声処理と字幕生成のパラメータを設定するための設定ファイル。設定ファイルを開く config.yaml必要に応じて、以下のキー・フィールドを変更する:

    • audio_pathオーディオファイルのパスを入力します。
    • output_path字幕ファイルを保存するパス。
    • sample_rate設定が 16000(16kHz)。
      設定例:
    audio_path: "input_audio.wav"
    output_path: "output_subtitle.srt"
    sample_rate: 16000
    

使用方法

インストールが完了したら、コマンドラインからSimple Subtitlingを実行することができます:

  1. オーディオファイルの準備
    Simple Subtitlingは現在、モノラル、16kHz、PCM_16形式の音声のみをサポートしています。オーディオフォーマットが要件を満たしていない場合は、FFmpegを使って変換してください:

    ffmpeg -i input_audio.mp3 -acodec pcm_s16le -ac 1 -ar 16000 output_audio.wav
    

    相互互換性 input_audio.mp3 はオーディオファイルのパスで、出力は output_audio.wav.

  2. 字幕生成の実行
    プロジェクト・ディレクトリで、メイン・スクリプトを実行する:

    python main.py
    

    スクリプトは config.yaml での設定は、字幕を生成します。生成された字幕ファイルには、タイムスタンプ、話者識別子、テキスト・コンテンツが含まれます。 output_path 指定されたパス。

  3. 字幕ファイルを見る
    生成されたSRTファイルの例:

    1
    00:00:01,000 --> 00:00:03,000
    Speaker_1: 你好,欢迎使用 Simple Subtitling。
    2
    00:00:04,000 --> 00:00:06,000
    Speaker_2: 这是一个开源字幕工具。
    

    ユーザーは、SRTファイルをビデオ編集ソフトウェア(例:Adobe Premiere、DaVinci Resolve)やプレーヤー(例:VLC)にインポートすることができます。

注目の機能操作

  • スピーカーの識別
    Simple Subtitlingは、機械学習モデルを使用して音声を分析し、異なる話者を区別する。このモデルはECAPA-TDNNアーキテクチャーに基づいており、Jaesung Huhによって提供された事前学習の重みを使用しています。より高い精度が必要な場合は、Hugging Faceから事前学習済みモデルをダウンロードできます:

    model = ECAPA_gender.from_pretrained("JaesungHuh/voice-gender-classifier")
    

    ある config.yaml イネーブル speaker_diarization: true字幕にスピーカータグを追加することができます。

  • カスタム字幕スタイル
    ユーザーは config.yaml 正鵠を得る subtitle_style フィールドで字幕のフォントや色などを調整できます。現在、基本的なSRT形式のスタイルをサポートしており、将来的にはASS形式にも拡張される可能性があります。
  • バッチファイル
    複数のオーディオファイルを処理する必要がある場合は、呼び出しをループする簡単なスクリプトを書くことができます。 main.pyまたは修正 config.yaml 複数のファイル入力をサポート。コミュニティによって投稿されたバッチ処理スクリプトは、GitHubディスカッションフォーラムで見つけることができます。

ほら

  • 入力音声の品質がクリアであることを確認してください。背景のノイズが字幕の精度に影響する場合があります。
  • このモデルは英語音声で最高の性能を発揮しますが、他の言語では追加トレーニングが必要になる場合があります。
  • このプロジェクトは現在開発中なので、最新の機能や修正のアップデートについてはGitHubのリポジトリをフォローすることをお勧めする。

 

アプリケーションシナリオ

  1. 動画コンテンツ制作者
    YouTuberや短編動画制作者は、Simple Subtitlingを使って動画に字幕を自動生成し、視聴者の体験を向上させることができます。このツールの話者識別機能は、インタビューや複数人の会話に最適で、各話者の内容を明確に識別します。
  2. 教育コンテンツ制作
    SRTファイルは、国際化されたコースのための多言語プレーヤーをサポートしています。
  3. ポッドキャスト書き起こし
    ポッドキャスト制作者は、コンテンツのテキスト版を公開したり、ビデオクリップを作成したりするために、音声を発言者ロゴ入りの字幕に変換できます。
  4. 会議録
    ビジネスユーザーは、会議の録音に字幕を作成し、会議の議事録をすばやく整理できます。話者識別機能は、異なる話者を区別するのに役立ちます。

 

品質保証

  1. Simple Subtitlingはどのようなオーディオフォーマットに対応していますか?
    現在のところ、モノラル、16kHz、PCM_16フォーマットのWAVファイルのみがサポートされています。その他の形式はFFmpegで変換する必要があります。
  2. 字幕生成の精度を上げるには?
    クリアな音質を確保し、バックグラウンドノイズを低減します。には config.yaml イネーブル speaker_diarization で、事前に訓練されたモデルを使用する。
  3. 英語以外の音声にも対応できますか?
    モデルは英語の音声に最適ですが、他の言語では追加トレーニングやモデルのチューニングが必要になる場合があります。
  4. 生成された字幕ファイルを編集するには?
    SRTファイルは、テキストエディタ(メモ帳++など)や字幕編集ソフト(Aegisubなど)で開いて修正することができます。
  5. プロジェクトはリアルタイムの字幕生成をサポートしていますか?
    現在のバージョンはリアルタイム処理をサポートしておらず、オフラインのオーディオファイルのみサポートしています。リアルタイム機能は将来のアップデートで追加される可能性があります。

おすすめ

AIツールが見つからない?こちらをお試しください!

キーワードを入力する アクセシビリティこのサイトのAIツールセクションは、このサイトにあるすべてのAIツールを素早く簡単に見つける方法です。

コードをスキャンしてください

qrcode

お問い合わせ

トップに戻る

ja日本語