Skip to content

Latest commit

 

History

History
359 lines (248 loc) · 22.9 KB

README.ja.md

File metadata and controls

359 lines (248 loc) · 22.9 KB
VideoLingo Logo

VideoLingo: 世界をつなぐ一コマ一コマ

Python License GitHub stars Open In Colab

中文 | English日本語

QQグループ:875297969

🌟 プロジェクト紹介

VideoLingoは、Netflix品質の高品質な字幕を生成し、硬直した機械翻訳や多行字幕を排除し、高品質な吹き替えも追加することを目的としたオールインワンのビデオ翻訳ローカリゼーションツールです。これにより、世界中の知識が言語の壁を越えて共有されることが可能になります。直感的なStreamlitウェブインターフェースを通じて、ビデオリンクから高品質なバイリンガル字幕を埋め込んだり、吹き替えを追加したりするプロセスを数回のクリックで完了し、Netflix品質のローカライズビデオを簡単に作成できます。

主な特徴と機能:

  • 🎥 yt-dlpを使用してYouTubeリンクからビデオをダウンロード

  • 🎙️ WhisperXを使用して単語レベルのタイムライン字幕認識を行う

  • 📝 NLPとGPTを使用して文の意味に基づいて字幕を分割

  • 📚 GPTが用語知識ベースを要約し、文脈に基づいた翻訳を実現

  • 🔄 直訳、反省、意訳の三段階で、プロの字幕翻訳品質に匹敵

  • ✅ Netflix標準に従って単行の長さをチェックし、絶対に二行字幕はなし

  • 🗣️ GPT-SoVITSなどの方法を使用して高品質な吹き替えを行う

  • 🚀 ワンクリックで統合パッケージを起動し、Streamlitでワンクリックでビデオを作成

  • 📝 各操作ステップの詳細なログを記録し、いつでも中断と進行の再開をサポート

  • 🌐 包括的な多言語サポートにより、簡単にクロスランゲージビデオローカリゼーションを実現

同類のプロジェクトとの主な違い:絶対に多行字幕はなし、最高の翻訳品質

🎥 デモ

ロシア語翻訳


ru_demo.mp4

GPT-SoVITS


sovits.mp4

Fish TTS 丁真


fishttsdemo.mp4

OAITTS


OAITTS.mp4

言語サポート:

現在サポートされている入力言語と例:

入力言語 サポートレベル 翻訳デモ 吹き替えデモ
英語 🤩 英語から中国語 TODO
ロシア語 😊 ロシア語から中国語 TODO
フランス語 🤩 フランス語から日本語 TODO
ドイツ語 🤩 ドイツ語から中国語 TODO
イタリア語 🤩 イタリア語から中国語 TODO
スペイン語 🤩 スペイン語から中国語 TODO
日本語 😐 日本語から中国語 TODO
中国語* 🤩 中国語から英語 羅翔先生のトークショー

*中国語はwhisperXモデルの別途設定が必要です。詳細はソースコードのインストールを参照し、ウェブページのサイドバーで転写言語をzhに指定してください。

翻訳言語は大規模言語モデルが対応するすべての言語をサポートし、吹き替え言語は選択したTTS方法に依存します。

🚀 Windows用ワンクリック統合パッケージ

注意事項:

  1. 統合パッケージはCPUバージョンのtorchを使用しており、サイズは約2.6Gです。
  2. 吹き替えステップでUVR5を使用して音声分離を行う場合、CPUバージョンはGPU加速のtorchよりも著しく遅くなります。
  3. 統合パッケージはAPIを介してwhisperXapi ☁️を呼び出すことのみをサポートし、ローカルでwhisperXを実行することはサポートしていません💻。
  4. 統合パッケージで使用されるwhisperXapiは中国語の転写をサポートしていません。中国語を使用する必要がある場合は、ソースコードからインストールし、ローカルでwhisperXを実行してください💻。
  5. 統合パッケージは転写ステップでUVR5音声分離をまだ行っていないため、BGMが騒がしいビデオの使用は推奨されません。

以下の機能が必要な場合は、ソースコードからインストールしてください(Nvidia GPUと少なくとも20Gのディスクスペースが必要です):

  • 入力言語が中国語
  • ローカルでwhisperXを実行💻
  • GPU加速のUVR5を使用して音声分離
  • BGMが騒がしいビデオの転写

ダウンロードと使用方法

  1. v1.4ワンクリックパッケージ(800M)をダウンロード:直接ダウンロード | Baiduバックアップ

  2. 解凍後、フォルダ内の一键启动.batをダブルクリックして実行

  3. 開いたブラウザウィンドウで、サイドバーで必要な設定を行い、ワンクリックでビデオを作成! attention

💡 ヒント: 本プロジェクトは大規模言語モデル、WhisperX、TTSの設定が必要です。以下のAPI準備セクションを注意深くお読みください

📋 API準備

本プロジェクトは大規模言語モデル、WhisperX、TTSの使用が必要です。各コンポーネントには複数のオプションが提供されています。設定ガイドを注意深くお読みください😊

1. 大規模言語モデルのAPI_KEYを取得

推奨モデル 推奨プロバイダー base_url 価格 効果
claude-3-5-sonnet-20240620(デフォルト) 雲霧api https://yunwu.zeabur.app ¥15 / 1M tokens 🤩
deepseek-coder deepseek https://api.deepseek.com ¥2 / 1M tokens 😲

注:雲霧apiはopenaiのtts-1インターフェースもサポートしており、吹き替えステップで使用できます。

リマインダー:deepseekは翻訳中に非常に低い確率でエラーが発生する可能性があります。エラーが発生した場合は、claude 3.5 sonnetモデルに切り替えてください。

よくある質問

どのモデルを選ぶべきですか?
  • 🌟 デフォルトでClaude 3.5を使用し、翻訳品質が非常に優れており、連続性が非常に良く、AIの味がありません。
  • 🚀 deepseekを使用する場合、1時間のビデオの翻訳には約¥1がかかり、結果は平均的です。
APIキーを取得する方法は?
  1. 上記の推奨プロバイダーのリンクをクリック
  2. アカウントを登録し、チャージ
  3. APIキーのページで新しいAPIキーを作成
  4. 雲霧apiの場合、無制限のクォータをチェックし、claude-3-5-sonnet-20240620モデルを選択し、純AZ 1.5倍チャネルを選択することをお勧めします。
他のモデルを使用できますか?
  • ✅ OAI-Like APIインターフェースをサポートしていますが、Streamlitのサイドバーで自分で変更する必要があります。
  • ⚠️ ただし、他のモデル(特に小さなモデル)は指示に従う能力が弱く、翻訳中にエラーが発生する可能性が非常に高いため、強くお勧めしません。

2. Replicateのトークンを準備(whisperXapi ☁️を使用する場合のみ)

VideoLingoはWhisperXを使用して音声認識を行い、ローカルデプロイメントとクラウドAPIの両方をサポートしています。

オプションの比較:

オプション 欠点
whisperX 🖥️ • CUDAのインストール 🛠️
• モデルのダウンロード 📥
• 高いVRAM要件 💾
whisperXapi ☁️ • VPNが必要 🕵️‍♂️
• Visaカード 💳
中国語の効果が悪い 🚫

トークンの取得

  • Replicateに登録し、Visaカードの支払い方法をバインドしてトークンを取得
  • またはQQグループに参加し、グループのアナウンスから無料のテストトークンを取得

3. TTSのAPI

VideoLingoは複数のTTS統合方法を提供しています。以下は比較です(吹き替えを使用せず、翻訳のみの場合はスキップしてください):

TTSオプション 利点 欠点 中国語の効果 非中国語の効果
🎙️ OpenAI TTS 感情がリアル 中国語は外国人のように聞こえる 😕 🤩
🔊 Azure TTS (推奨) 自然な効果 チャージが不便 🤩 😃
🎤 Fish TTS 優れた効果 チャージが必要 時々不安定 😱 😱
🗣️ GPT-SoVITS (テスト) ローカルでの音声クローン 現在、英語入力中国語出力のみをサポートしており、Nカードでのモデル推論が必要で、明確なBGMのない単一人物のビデオに最適で、ベースモデルは元の声に近い必要があります 😂 🚫
  • OpenAI TTSの場合、雲霧apiを使用することをお勧めします。
  • Azure TTSの無料キーはQQグループのアナウンスで取得できます または公式サイトで自分で登録してチャージできます。
  • Fish TTSの無料キーはQQグループのアナウンスで取得できます または公式サイトで自分で登録してチャージできます。
OpenAIの声を選ぶ方法は?

声のリストは公式サイトで見つけることができます。例えば、alloyechonovafableなどです。config.pyOAI_VOICEを変更して声を変更します。

Azureの声を選ぶ方法は?

オンライン体験で聞いて選びたい声を選び、右側のコードでその声に対応するコードを見つけることをお勧めします。例えば、zh-CN-XiaoxiaoMultilingualNeuralです。

Fish TTSの声を選ぶ方法は?

公式サイトで聞いて選びたい声を選び、その声に対応するコードをURLで見つけます。例えば、丁真は54a5170264694bfc8e9ad98df7bd89c3です。人気のある声はconfig.pyに追加されており、FISH_TTS_CHARACTERを変更するだけです。他の声を使用する必要がある場合は、config.pyFISH_TTS_CHARACTER_ID_DICT辞書を変更してください。

GPT-SoVITS-v2の使用チュートリアル
  1. 公式のYuqueドキュメントにアクセスして、構成要件を確認し、統合パッケージをダウンロードします。

  2. GPT-SoVITS-v2-xxxVideoLingoと同じディレクトリレベルに配置します。注意:並列フォルダである必要があります。

  3. 次の方法のいずれかを選択してモデルを構成します:

    a. 自分でトレーニングしたモデル:

    • モデルをトレーニングした後、GPT-SoVITS-v2-xxx\GPT_SoVITS\configstts_infer.yamlに自動的にモデルアドレスが入力されます。それをコピーしてあなたの好きな英語のキャラクター名.yamlに名前を変更します。
    • yamlファイルと同じディレクトリに、後で使用する参照オーディオを配置し、あなたの好きな英語のキャラクター名_参照オーディオのテキスト内容.wavまたは.mp3と名前を付けます。例えば、Huanyuv2_こんにちは、これはテストオーディオです.wavです。
    • VideoLingoウェブページのサイドバーで、GPT-SoVITSキャラクターあなたの好きな英語のキャラクター名に設定します。

    b. 事前トレーニングされたモデルを使用:

    • ここから私のモデルをダウンロードし、解凍してGPT-SoVITS-v2-xxxに上書きします。
    • GPT-SoVITSキャラクターHuanyuv2に設定します。

    c. 他のトレーニング済みモデルを使用:

    • xxx.ckptモデルファイルをGPT_weights_v2フォルダに配置し、xxx.pthモデルファイルをSoVITS_weights_v2フォルダに配置します。

    • 方法aを参照して、tts_infer.yamlファイルの名前を変更し、ファイルのcustomセクションのt2s_weights_pathvits_weights_pathをあなたのモデルに指すように変更します。例えば:

      # 方法bの設定例:
      t2s_weights_path: GPT_weights_v2/Huanyu_v2-e10.ckpt
      version: v2
      vits_weights_path: SoVITS_weights_v2/Huanyu_v2_e10_s150.pth
    • 方法aを参照して、yamlファイルと同じディレクトリに、後で使用する参照オーディオを配置し、あなたの好きな英語のキャラクター名_参照オーディオのテキスト内容.wavまたは.mp3と名前を付けます。例えば、Huanyuv2_こんにちは、これはテストオーディオです.wavです。プログラムは自動的に認識して使用します。

    • ⚠️ 警告:キャラクター名を英語で命名してください。そうしないとエラーが発生します。参照オーディオのテキスト内容は中国語でもかまいません。現在はベータ版であり、エラーが発生する可能性があります。

    # 期待されるディレクトリ構造:
    .
    ├── VideoLingo
    │   └── ...
    └── GPT-SoVITS-v2-xxx
        ├── GPT_SoVITS
        │   └── configs
        │       ├── tts_infer.yaml
        │       ├── あなたの好きな英語のキャラクター名.yaml
        │       └── あなたの好きな英語のキャラクター名_参照オーディオのテキスト内容.wav
        ├── GPT_weights_v2
        │   └── [あなたのGPTモデルファイル]
        └── SoVITS_weights_v2
            └── [あなたのSoVITSモデルファイル]
    

構成が完了したら、ウェブページのサイドバーで参照オーディオモードを選択してください。VideoLingoは吹き替えステップ中にポップアップコマンドラインでGPT-SoVITSの推論APIポートを自動的に開きます。吹き替えが完了したら手動で閉じることができます。この方法はまだ非常に安定しておらず、単語や文が欠落する可能性や他のバグが発生する可能性があるため、注意して使用してください。

🛠️ ソースコードのインストール手順

Windowsの前提条件

VideoLingoのインストールを開始する前に、20Gの空きディスクスペースがあることを確認し、以下の手順を完了してください:

依存関係 whisperX 🖥️ whisperX ☁️
Anaconda 🐍 ダウンロード ダウンロード
Git 🌿 ダウンロード ダウンロード
Cuda Toolkit 12.6 🚀 ダウンロード -
Cudnn 9.3.0 🧠 ダウンロード -

注意:Anacondaをインストールする際に「システムパスに追加」をチェックし、インストール後にコンピュータを再起動してください🔄

インストール手順

ある程度のPythonの知識が必要です。Win、Mac、Linuxをサポートしています。問題が発生した場合は、公式サイトvideolingo.ioの右下のAIアシスタントに質問できます。

  1. Anaconda Promptを開き、デスクトップディレクトリに切り替えます:

    cd desktop
  2. プロジェクトをクローンし、プロジェクトディレクトリに切り替えます:

    git clone https://github.com/Huanshere/VideoLingo.git
    cd VideoLingo
  3. 仮想環境を作成してアクティブ化します(3.10.0である必要があります):

    conda create -n videolingo python=3.10.0 -y
    conda activate videolingo
  4. インストールスクリプトを実行します:

    python install.py

    プロンプトに従って必要なwhisper方法を選択し、スクリプトは対応するtorchとwhisperバージョンを自動的にインストールします

  5. 中国語の転写を使用する必要があるユーザーのみ

    Belle-whisper-large-v3-zh-punctモデルを手動でダウンロードし(Baiduリンク)、プロジェクトルートディレクトリの_model_cacheフォルダに上書きし、ウェブページのサイドバーで転写言語をzhに指定してください

  6. 🎉 コマンドを入力するか、一键启动.batをクリックしてStreamlitアプリケーションを起動します:

    streamlit run st.py
  7. ポップアップしたウェブページのサイドバーでキーを設定し、whisper方法を選択してください

    attention

  8. (オプション)config.pyで手動で詳細設定を行うことができます

⚠️ 注意事項

  1. UVR5はシステムリソースの要求が高く、処理速度が遅いです。この機能を使用する場合は、16GB以上のメモリと8GB以上のVRAMを持つデバイスでのみ選択することをお勧めします。

  2. 翻訳ステップで非常に低い確率で'phrase'エラーが発生する可能性があります。発生した場合はフィードバックをお願いします。

  3. 吹き替え機能の品質は不安定です。最高の品質を得るためには、元のビデオに適したTTS速度を選択することをお勧めします。例えば、OAITTSの速度は比較的速く、FishTTSの速度はサンプルを聞いてから選択してください。

📄 ライセンス

本プロジェクトはApache 2.0ライセンスの下でライセンスされています。本プロジェクトを使用する際には、以下の規定に従ってください:

  1. 作品を発表する際には、VideoLingoによって生成された字幕であることを示すことを推奨します(強制ではありません)
  2. 使用する大規模言語モデルとTTSの条約に従って注釈を付けてください。
  3. コードをコピーする場合は、Apache 2.0ライセンスの完全なコピーを含めてください。

以下のオープンソースプロジェクトの貢献に心から感謝します。これらはVideoLingoの開発に重要なサポートを提供しました:

📬 お問い合わせ

⭐ Star History

Star History Chart


VideoLingoが役に立ったと思ったら、ぜひ⭐️をお願いします!