Tammy は、深層学習モデルを使用してオリジナルのミュージック ビデオを生成する、Python/Pytorch ベースのオープンソース プロジェクトです。これにより、ユーザーは、BPM やピアノ パターンなど、曲のさまざまな側面と同期したテキスト プロンプト トランジションに基づいてビデオを自動的に生成できます。このプロジェクトでは、LSTM による音源分離、GAN によるフレーム生成、超解像度モデルによる空間アップスケーリング、フレーム補間モデルによる時間アップサンプリングなど、ビデオ生成プロセスのさまざまな段階で深層学習モデルを利用しています。このプロジェクトの目的は、カスタム モデル パイプラインを構築してユニークなミュージック ビデオを作成するための使いやすいフレームワークを提供することです。
特徴
クイックスタート
データフローとコード構造
生成設定
他の例
貢献する
簡単に始めるには:
sudo apt-get install ffmpeg libsndfile1
と git-lfs を実行してください。pip install .
python run_tammy.py
を実行すると、 settingssettings_cpu.yaml
のデフォルト設定とデフォルトの Song thoughtsarebeings_clip.wav
が使用されます。 tammy
パッケージは、独自のスクリプトまたは他の設定ファイルで簡単に使用でき、 python run_tammy.py --settings_file
を実行することで、既存のrun_tammy.py
スクリプトでオーディオ ファイルを使用できます。 python run_tammy.py --settings_file
。
tammy.prompthandler
生成設定のより簡潔な説明に基づいて、生成されるすべてのフレームの設定 (翻訳やテキスト プロンプトなど) を生成します。tammy.sequence_maker
には、テキスト プロンプトに基づいて画像シーケンスを生成するgenerator
があります。現在サポートされているモデルはVQGAN-CLIPとStable-Diffusionです。tammy.upscaling
生成された画像を超解像度でスケールアップします。現在サポートされているモデルはSwinIRのみです。tammy.superslowmo
sequence_maker
ですべてのフレームを生成する必要なく、生成された (オプションでアップスケールされた) 画像を補間して FPS を向上させます。現在サポートされているモデルはSuperSloMoのみです。 ビデオ生成には、
ファイルで指定される多くの構成設定があります。主にテストに使用されるいくつかの設定ファイルの例がsettings
フォルダーにあります。ほとんどの設定名 ( settings.yaml
内のキー) は一目瞭然です。わかりやすくするために、いくつかの設定について以下に説明します。
インストゥルメントは、特に、Animation_2d モードでのズームや Interpolation モードでのプロンプト遷移速度など、フレーム遷移を制御するために使用されます。 tammy
機器を提供する 2 つのオプションがあります。
do_spleet: True
を設定し、 instrument:
を指定します。zoom_instrument:
として指定し、ファイル名をfile_name_fps.txt
として手動で指定します。ここで、 fps
sequence_settings.initial_fps
のfps
値に対応する必要があります。キーフレームは、https://www.chigozie.co.uk/audio-keyframe-generator/ などを使用して手動で生成できます。設定sequence_settings.initial_fps
は、オーディオ クリップの長さを考慮して、生成されるフレームの数を決定します。フレーム補間を使用すると、 do_slowmo: True
を設定し、 initial_fps
の倍数であるtarget_fps
指定することで、フレーム レートを目標まで上げることができます。これにより、 generator
を使用してすべてのフレームを最初から生成するよりも速く、高フレーム レートのビデオを作成できます。
必要に応じて、 sequence_settings.max_frames
を指定することで、生成されるフレームの数を制限できます。この場合、生成されるビデオの長さは提供されたオーディオ クリップよりも短くなり、 max_frames
/ initial_fps
になります。
tammy
の VQGAN-CLIP とAnimation_2d モードを使用して生成されたビデオ。
フルビデオ (最高の体験を得るには 4K でご覧ください!: https://www.youtube.com/watch?v=T_bii9VLDk0
tammy
の安定拡散および補間モードを使用して生成されたビデオ。
という新しいブランチに機能と付随するテストを追加します。pytest
実行して、すべてのテストが成功することを確認します。pre-commit install
。