VideoLingoは、Netflix品質の高品質な字幕を生成し、硬直した機械翻訳や多行字幕を排除し、高品質な吹き替えも追加することを目的としたオールインワンのビデオ翻訳ローカリゼーションツールです。これにより、世界中の知識が言語の壁を越えて共有されることが可能になります。直感的なStreamlitウェブインターフェースを通じて、ビデオリンクから高品質なバイリンガル字幕を埋め込んだり、吹き替えを追加したりするプロセスを数回のクリックで完了し、Netflix品質のローカライズビデオを簡単に作成できます。
主な特徴と機能:
-
🎥 yt-dlpを使用してYouTubeリンクからビデオをダウンロード
-
🎙️ WhisperXを使用して単語レベルのタイムライン字幕認識を行う
-
📝 NLPとGPTを使用して文の意味に基づいて字幕を分割
-
📚 GPTが用語知識ベースを要約し、文脈に基づいた翻訳を実現
-
🔄 直訳、反省、意訳の三段階で、プロの字幕翻訳品質に匹敵
-
✅ Netflix標準に従って単行の長さをチェックし、絶対に二行字幕はなし
-
🗣️ GPT-SoVITSなどの方法を使用して高品質な吹き替えを行う
-
🚀 ワンクリックで統合パッケージを起動し、Streamlitでワンクリックでビデオを作成
-
📝 各操作ステップの詳細なログを記録し、いつでも中断と進行の再開をサポート
-
🌐 包括的な多言語サポートにより、簡単にクロスランゲージビデオローカリゼーションを実現
同類のプロジェクトとの主な違い:絶対に多行字幕はなし、最高の翻訳品質
ru_demo.mp4 |
sovits.mp4 |
fishttsdemo.mp4 |
OAITTS.mp4 |
現在サポートされている入力言語と例:
入力言語 | サポートレベル | 翻訳デモ | 吹き替えデモ |
---|---|---|---|
英語 | 🤩 | 英語から中国語 | TODO |
ロシア語 | 😊 | ロシア語から中国語 | TODO |
フランス語 | 🤩 | フランス語から日本語 | TODO |
ドイツ語 | 🤩 | ドイツ語から中国語 | TODO |
イタリア語 | 🤩 | イタリア語から中国語 | TODO |
スペイン語 | 🤩 | スペイン語から中国語 | TODO |
日本語 | 😐 | 日本語から中国語 | TODO |
中国語* | 🤩 | 中国語から英語 | 羅翔先生のトークショー |
*中国語はwhisperXモデルの別途設定が必要です。詳細はソースコードのインストールを参照し、ウェブページのサイドバーで転写言語をzhに指定してください。
翻訳言語は大規模言語モデルが対応するすべての言語をサポートし、吹き替え言語は選択したTTS方法に依存します。
- 統合パッケージはCPUバージョンのtorchを使用しており、サイズは約2.6Gです。
- 吹き替えステップでUVR5を使用して音声分離を行う場合、CPUバージョンはGPU加速のtorchよりも著しく遅くなります。
- 統合パッケージはAPIを介してwhisperXapi ☁️を呼び出すことのみをサポートし、ローカルでwhisperXを実行することはサポートしていません💻。
- 統合パッケージで使用されるwhisperXapiは中国語の転写をサポートしていません。中国語を使用する必要がある場合は、ソースコードからインストールし、ローカルでwhisperXを実行してください💻。
- 統合パッケージは転写ステップでUVR5音声分離をまだ行っていないため、BGMが騒がしいビデオの使用は推奨されません。
以下の機能が必要な場合は、ソースコードからインストールしてください(Nvidia GPUと少なくとも20Gのディスクスペースが必要です):
- 入力言語が中国語
- ローカルでwhisperXを実行💻
- GPU加速のUVR5を使用して音声分離
- BGMが騒がしいビデオの転写
-
v1.4
ワンクリックパッケージ(800M)をダウンロード:直接ダウンロード | Baiduバックアップ -
解凍後、フォルダ内の
一键启动.bat
をダブルクリックして実行
💡 ヒント: 本プロジェクトは大規模言語モデル、WhisperX、TTSの設定が必要です。以下のAPI準備セクションを注意深くお読みください
本プロジェクトは大規模言語モデル、WhisperX、TTSの使用が必要です。各コンポーネントには複数のオプションが提供されています。設定ガイドを注意深くお読みください😊
推奨モデル | 推奨プロバイダー | 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キーを取得する方法は?
- 上記の推奨プロバイダーのリンクをクリック
- アカウントを登録し、チャージ
- APIキーのページで新しいAPIキーを作成
- 雲霧apiの場合、
無制限のクォータ
をチェックし、claude-3-5-sonnet-20240620
モデルを選択し、純AZ 1.5倍
チャネルを選択することをお勧めします。
他のモデルを使用できますか?
- ✅ OAI-Like APIインターフェースをサポートしていますが、Streamlitのサイドバーで自分で変更する必要があります。
⚠️ ただし、他のモデル(特に小さなモデル)は指示に従う能力が弱く、翻訳中にエラーが発生する可能性が非常に高いため、強くお勧めしません。
VideoLingoはWhisperXを使用して音声認識を行い、ローカルデプロイメントとクラウドAPIの両方をサポートしています。
オプション | 欠点 |
---|---|
whisperX 🖥️ | • CUDAのインストール 🛠️ • モデルのダウンロード 📥 • 高いVRAM要件 💾 |
whisperXapi ☁️ | • VPNが必要 🕵️♂️ • Visaカード 💳 • 中国語の効果が悪い 🚫 |
- Replicateに登録し、Visaカードの支払い方法をバインドしてトークンを取得
- またはQQグループに参加し、グループのアナウンスから無料のテストトークンを取得
VideoLingoは複数のTTS統合方法を提供しています。以下は比較です(吹き替えを使用せず、翻訳のみの場合はスキップしてください):
TTSオプション | 利点 | 欠点 | 中国語の効果 | 非中国語の効果 |
---|---|---|---|---|
🎙️ OpenAI TTS | 感情がリアル | 中国語は外国人のように聞こえる | 😕 | 🤩 |
🔊 Azure TTS (推奨) | 自然な効果 | チャージが不便 | 🤩 | 😃 |
🎤 Fish TTS | 優れた効果 | チャージが必要 時々不安定 | 😱 | 😱 |
🗣️ GPT-SoVITS (テスト) | ローカルでの音声クローン | 現在、英語入力中国語出力のみをサポートしており、Nカードでのモデル推論が必要で、明確なBGMのない単一人物のビデオに最適で、ベースモデルは元の声に近い必要があります | 😂 | 🚫 |
- OpenAI TTSの場合、雲霧apiを使用することをお勧めします。
- Azure TTSの無料キーはQQグループのアナウンスで取得できます または公式サイトで自分で登録してチャージできます。
- Fish TTSの無料キーはQQグループのアナウンスで取得できます または公式サイトで自分で登録してチャージできます。
OpenAIの声を選ぶ方法は?
声のリストは公式サイトで見つけることができます。例えば、alloy
、echo
、nova
、fable
などです。config.py
でOAI_VOICE
を変更して声を変更します。
Azureの声を選ぶ方法は?
オンライン体験で聞いて選びたい声を選び、右側のコードでその声に対応するコードを見つけることをお勧めします。例えば、zh-CN-XiaoxiaoMultilingualNeural
です。
Fish TTSの声を選ぶ方法は?
公式サイトで聞いて選びたい声を選び、その声に対応するコードをURLで見つけます。例えば、丁真は54a5170264694bfc8e9ad98df7bd89c3
です。人気のある声はconfig.py
に追加されており、FISH_TTS_CHARACTER
を変更するだけです。他の声を使用する必要がある場合は、config.py
でFISH_TTS_CHARACTER_ID_DICT
辞書を変更してください。
GPT-SoVITS-v2の使用チュートリアル
-
公式のYuqueドキュメントにアクセスして、構成要件を確認し、統合パッケージをダウンロードします。
-
GPT-SoVITS-v2-xxx
をVideoLingo
と同じディレクトリレベルに配置します。注意:並列フォルダである必要があります。 -
次の方法のいずれかを選択してモデルを構成します:
a. 自分でトレーニングしたモデル:
- モデルをトレーニングした後、
GPT-SoVITS-v2-xxx\GPT_SoVITS\configs
のtts_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_path
とvits_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ポートを自動的に開きます。吹き替えが完了したら手動で閉じることができます。この方法はまだ非常に安定しておらず、単語や文が欠落する可能性や他のバグが発生する可能性があるため、注意して使用してください。
VideoLingoのインストールを開始する前に、20Gの空きディスクスペースがあることを確認し、以下の手順を完了してください:
依存関係 | whisperX 🖥️ | whisperX ☁️ |
---|---|---|
Anaconda 🐍 | ダウンロード | ダウンロード |
Git 🌿 | ダウンロード | ダウンロード |
Cuda Toolkit 12.6 🚀 | ダウンロード | - |
Cudnn 9.3.0 🧠 | ダウンロード | - |
注意:Anacondaをインストールする際に「システムパスに追加」をチェックし、インストール後にコンピュータを再起動してください🔄
ある程度のPythonの知識が必要です。Win、Mac、Linuxをサポートしています。問題が発生した場合は、公式サイトvideolingo.ioの右下のAIアシスタントに質問できます。
-
Anaconda Promptを開き、デスクトップディレクトリに切り替えます:
cd desktop
-
プロジェクトをクローンし、プロジェクトディレクトリに切り替えます:
git clone https://github.com/Huanshere/VideoLingo.git cd VideoLingo
-
仮想環境を作成してアクティブ化します(3.10.0である必要があります):
conda create -n videolingo python=3.10.0 -y conda activate videolingo
-
インストールスクリプトを実行します:
python install.py
プロンプトに従って必要なwhisper方法を選択し、スクリプトは対応するtorchとwhisperバージョンを自動的にインストールします
-
中国語の転写を使用する必要があるユーザーのみ:
Belle-whisper-large-v3-zh-punctモデルを手動でダウンロードし(Baiduリンク)、プロジェクトルートディレクトリの
_model_cache
フォルダに上書きし、ウェブページのサイドバーで転写言語をzhに指定してください -
🎉 コマンドを入力するか、
一键启动.bat
をクリックしてStreamlitアプリケーションを起動します:streamlit run st.py
-
ポップアップしたウェブページのサイドバーでキーを設定し、whisper方法を選択してください
-
(オプション)
config.py
で手動で詳細設定を行うことができます
-
UVR5はシステムリソースの要求が高く、処理速度が遅いです。この機能を使用する場合は、16GB以上のメモリと8GB以上のVRAMを持つデバイスでのみ選択することをお勧めします。
-
翻訳ステップで非常に低い確率で'phrase'エラーが発生する可能性があります。発生した場合はフィードバックをお願いします。
-
吹き替え機能の品質は不安定です。最高の品質を得るためには、元のビデオに適したTTS速度を選択することをお勧めします。例えば、OAITTSの速度は比較的速く、FishTTSの速度はサンプルを聞いてから選択してください。
本プロジェクトはApache 2.0ライセンスの下でライセンスされています。本プロジェクトを使用する際には、以下の規定に従ってください:
- 作品を発表する際には、VideoLingoによって生成された字幕であることを示すことを推奨します(強制ではありません)。
- 使用する大規模言語モデルとTTSの条約に従って注釈を付けてください。
- コードをコピーする場合は、Apache 2.0ライセンスの完全なコピーを含めてください。
以下のオープンソースプロジェクトの貢献に心から感謝します。これらはVideoLingoの開発に重要なサポートを提供しました:
- QQグループに参加:875297969
- GitHubでIssuesまたはPull Requestsを提出
- 私のTwitterをフォロー:@Huanshere
- 公式サイトを訪問:videolingo.io
VideoLingoが役に立ったと思ったら、ぜひ⭐️をお願いします!