Perkenalan
Versi Google Colab (komputasi awan gratis dalam browser)
Instalasi Lokal
Mendukung
Praktik Terbaik
Penyiapan dan eksekusi sederhana - secara lokal dan melalui colab.
tidak perlu repot mengunduh dan menginstal prasyarat secara manual
Google Colab hanya memiliki 2 sel untuk dieksekusi
Pengguna Windows hanya memerlukan satu file untuk diinstal, diperbarui, dan dijalankan.
Opsi yang didokumentasikan dengan baik di bawah.
Tidak perlu lagi bertanya-tanya apa fungsinya!
Untuk klip pengujian 720p 60fps 9 detik saya melalui Colab T4:
Wav2Lip Asli | Mudah-Wav2Lip |
---|---|
Waktu eksekusi: 6m 53s | Waktu eksekusi: 56 detik |
Itu bukan salah ketik! Klip saya berubah dari hampir 7 menit menjadi kurang dari 1 menit!
Data pelacakan disimpan antargenerasi video yang sama, sehingga menghemat lebih banyak waktu:
Easy-Wav2Lip pada video yang sama lagi |
---|
Waktu eksekusi: 25 detik |
Easy-Wav2Lip memperbaiki bug visual di bibir:
3 Pilihan Kualitas:
Cepat: Wav2Lip
Peningkatan: Wav2Lip dengan masker berbulu di sekitar mulut untuk mengembalikan resolusi asli pada seluruh wajah
Ditingkatkan: Wav2Lip + masker + peningkatan GFPGAN dilakukan pada wajah
https://colab.research.google.com/github/anothermartz/Easy-Wav2Lip/blob/v8.3/Easy_Wav2Lip_v8.3.ipynb
Persyaratan: Kartu Nvidia yang mendukung cuda 12.2 Atau perangkat MacOS yang mendukung mps melalui silikon Apple atau GPU AMD
Unduh Easy-Wav2Lip.bat
Tempatkan di folder di PC Anda (Misalnya: di Dokumen)
Jalankan dan ikuti instruksinya. Ini akan membuat folder bernama Easy-Wav2Lip di dalam folder mana pun Anda menjalankannya.
Jalankan file ini kapan pun Anda ingin menggunakan Easy-Wav2Lip
Ini harus menangani instalasi semua komponen yang diperlukan.
Pastikan yang berikut ini diinstal dan dapat diakses melalui terminal Anda:
Python 3.10 (Saya baru menguji 3.10.11 - versi lain mungkin tidak berfungsi!)
Git
Windows & Linux: Cuda (Hanya memiliki driver Nvidia terbaru sudah cukup, saya baru menguji 12.2)
Jalankan yang berikut ini di terminal Anda setelah Anda menavigasi ke folder yang ingin Anda instal Easy-Wav2Lip:
Siapkan venv, instal ffmpeg ke dalamnya, lalu instal Easy-Wav2Lip:
Buka cmd dan arahkan ke folder yang ingin Anda instal EasyWav2Lip menggunakan cd EG: cd Documents
Copy dan paste kode berikut ke jendela cmd Anda: Catatan: 2 folder akan dibuat di lokasi ini: Easy-Wav2Lip dan Easy-Wav2Lip-venv (instalasi python terisolasi)
py -3.10 -m venv Easy-Wav2Lip-venv Easy-Wav2Lip-venvScriptsactivate python -m pip install --upgrade pip python -m pip install requests set url=https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip python -c "import requests; r = requests.get('%url%', stream=True); open('ffmpeg.zip', 'wb').write(r.content)" powershell -Command "Expand-Archive -Path .\ffmpeg.zip -DestinationPath .\" xcopy /e /i /y "ffmpeg-master-latest-win64-gplbin*" .Easy-Wav2Lip-venvScripts del ffmpeg.zip rmdir /s /q ffmpeg-master-latest-win64-gpl git clone https://github.com/anothermartz/Easy-Wav2Lip.git cd Easy-Wav2Lip pip install -r requirements.txt python install.py
Sekarang untuk menjalankan Easy-Wav2Lip:
3. Tutup dan buka kembali cmd lalu cd ke direktori yang sama seperti pada Langkah 1.
4. Tempelkan kode berikut:
Easy-Wav2Lip-venvScriptsactivate cd Easy-Wav2Lip call run_loop.bat
Lihat Penggunaan untuk instruksi lebih lanjut.
Siapkan venv, instal ffmpeg ke dalamnya, lalu instal Easy-Wav2Lip:
Buka Terminal dan arahkan ke folder yang ingin Anda instal Easy0Wav2Kip menggunakan cd EG: cd ~/Documents
Salin dan tempel kode berikut ke jendela terminal Anda: Catatan: 2 folder akan dibuat di lokasi ini: Easy-Wav2Lip dan Easy-Wav2Lip-venv (instalasi python terisolasi)
python3.10 -m venv Easy-Wav2Lip-venv source EW2Lvenv/bin/activate python -m pip install --upgrade pip python -m pip install requests for file in ffmpeg ffprobe ffplay; do curl -O "https://evermeet.cx/ffmpeg/${file}-6.1.1.zip" unzip "${file}-6.1.1.zip" done mv -f ffmpeg ffprobe ffplay /Easy-Wav2Lip-venv/bin/ rm -f ffmpeg-6.1.1.zip ffprobe-6.1.1.zip ffplay-6.1.1.zip source EW2Lvenv/bin/activate git clone https://github.com/anothermartz/Easy-Wav2Lip.git cd Easy-Wav2Lip pip install -r requirements.txt python install.py
Sekarang untuk menjalankan Easy-Wav2Lip:
3. Tutup dan buka kembali terminal lalu cd ke direktori yang sama seperti pada Langkah 1.
4. Tempelkan kode berikut:
source Easy-Wav2Lip-venv/bin/activate cd Easy-Wav2Lip ./run_loop.sh
Setelah semuanya terinstal, file bernama config.ini akan muncul.
Tambahkan jalur ke file video dan audio Anda di sini dan konfigurasikan pengaturan sesuai keinginan Anda.
Kiat Pro:
Pada Windows Tahan shift ketika mengklik kanan pada file yang ingin Anda gunakan, lalu tekan "a" atau klik "copy as path" dan itu akan mendapatkan path yang dapat Anda tempel sebagai video_file atau vocal_file.
MacOS: Klik kanan pada file, tahan tombol Option (Alt) dan pilih “Salin [nama file] sebagai Nama Jalur” dari menu konteks.
Simpan config.ini dan tutup, ini akan memulai proses Wav2Lip dan file Anda akan disimpan di direktori yang sama dengan file video_path Anda.
config.ini akan terbuka kembali dan Anda dapat mengubah input dan pengaturan.
Lihat Praktik Terbaik di bawah untuk mengetahui tips tentang cara memulai.
Lihat Advanced Tweaking di bawah untuk penjelasan setting yang belum dijelaskan di config.ini
Tentu saja Wav2Lip Asli.
Peningkatan kecepatan yang sangat besar dan peningkatan kualitas dasar berasal dari cog-Wav2Lip.
Kode untuk meningkatkan GFPGAN sebagian besar berasal dari wav2lip-hq-updated-ESRGAN.
Saya tidak dapat melakukan ini tanpa bantuan AI; Sebelum membuat ini, saya memiliki pengalaman python yang sangat minim! LLM pilihan: Bing Chat (sekarang disebut 'Copilot').
Terima kasih kepada JustinJohn karena telah membuat colab Wav2Lip_simple yang menginspirasi saya untuk membuat versi saya sendiri yang lebih sederhana.
Jika Anda mengalami masalah saat menjalankan ini, silakan lihat tab masalah untuk melihat apakah ada yang menulis tentang hal ini. Jika tidak, buatlah thread baru tetapi pastikan Anda menyertakan yang berikut ini:
Jika kolab:
Nomor versi colab Easy-Wav2Lip
Info tentang file yang digunakan.
Jika instalasi lokal:
EasyWav2Lip.bat atau instalasi manual
Sistem operasi (windows 11, linux dll.)
model GPU
Versi driver GPU
versi piton
Info tentang file yang digunakan dan apakah file lain berfungsi
Tanpa info ini, saya hanya akan menanyakannya saja sehingga respons mengenai masalah tersebut akan memakan waktu lebih lama.
Kemungkinannya adalah jika ada yang berbeda dari persyaratan maka itulah alasannya tidak berfungsi dan Anda mungkin harus menggunakan versi colab jika belum.
Untuk obrolan umum tentang ini dan pembicaraan lipsync lainnya, saya akan ikut dalam perselisihan ini:
Tautan undangan: https://discord.gg/FNZR9ETwKY
Saluran Wav2Lip: https://discord.com/channels/667279414681272320/1076077584330280991
Hasil terbaik diperoleh dengan menyelaraskan pidato dengan tindakan dan ekspresi pembicara sebelum Anda mengirimkannya melalui wav2lip!
File video:
Harus memiliki wajah di semua frame atau Wav2Lip akan gagal
Pangkas atau tutupi wajah yang tidak ingin Anda lipsync atau wajah tersebut akan dipilih secara acak.
Gunakan h264 .mp4 - jenis file lain mungkin didukung tetapi ini adalah keluarannya
Gambar saat ini belum diuji.
Gunakan file kecil dalam segala hal (coba <720p, <30 detik, 30fps, dll. - File yang lebih besar mungkin berfungsi tetapi biasanya menjadi penyebab kegagalannya)
Untuk percobaan pertama Anda, gunakan klip yang sangat kecil agar terbiasa dengan prosesnya, hanya setelah Anda terbiasa, Anda dapat mencoba file yang lebih besar untuk melihat apakah berhasil.
File audio:
Simpan sebagai .wav dan durasinya sama dengan video masukan Anda.
CATATAN: Saya memperhatikan bahwa sekitar 80 ms terpotong dari video/audio yang diproses dan saya tidak yakin bagaimana cara memperbaikinya, jadi pastikan Anda memiliki sedikit tambahan dari yang sebenarnya Anda butuhkan!
Anda cukup menyandikannya ke dalam file video Anda dan membiarkan vocal_path kosong, tetapi ini akan menambah beberapa detik waktu pemrosesan karena audio dipisahkan dari video
ATAU
Pilih file audio Anda secara terpisah
Saya tidak yakin jenis file apa yang didukung, setidaknya .wav dan .mp3 berfungsi.
Pilihan | Kelebihan | Kontra |
---|---|---|
Wav2Bibir | + Sinkronisasi bibir yang lebih akurat + Berusaha menutup mulut saat tidak ada suara | - Terkadang menghasilkan gigi yang hilang (jarang) |
Wav2Bibir_GAN | + Terlihat lebih bagus + Lebih menjaga ekspresi asli pembicara | - Kurang pandai menutupi gerakan asli bibir, apalagi saat tidak ada suara |
Saya sarankan untuk mencoba Wav2Lip terlebih dahulu dan beralih ke versi GAN jika Anda mengalami efek yang sepertinya speaker memiliki celah besar di giginya.
Jika diaktifkan, wav2lip akan memotong wajah pada setiap frame secara terpisah.
Cocok untuk gerakan cepat atau pemotongan video.
Dapat menyebabkan kedutan jika wajah berada pada sudut yang aneh.
Jika dinonaktifkan, wav2lip akan memadukan posisi wajah yang terdeteksi di antara 5 frame.
Cocok untuk gerakan lambat, terutama untuk wajah dengan sudut yang tidak biasa.
Mulut dapat diimbangi ketika wajah bergerak dalam bingkai dengan cepat, terlihat mengerikan di antara potongan.
Opsi ini mengontrol berapa banyak piksel yang ditambahkan atau dihapus dari pemotongan wajah di setiap arah.
Nilai | Contoh | Memengaruhi |
---|---|---|
kamu | kamu = -5 | Menghapus 5 piksel dari bagian atas wajah |
D | D = 10 | Menambahkan 10 piksel ke bagian bawah wajah |
L | aku = 0 | Tidak ada perubahan di sisi kiri wajah |
R | R = 15 | Menambahkan 15 piksel di sebelah kanan wajah |
Bantalan dapat membantu menghilangkan garis-garis keras di dagu atau tepi wajah lainnya, namun bantalan yang terlalu banyak atau terlalu sedikit dapat mengubah ukuran atau posisi mulut. Menambahkan 10 piksel ke bagian bawah merupakan praktik umum, namun Anda harus bereksperimen dengan nilai yang berbeda untuk menemukan keseimbangan terbaik untuk klip Anda.
Opsi ini mengontrol bagaimana wajah yang diproses dipadukan dengan wajah asli. Ini tidak berpengaruh pada opsi kualitas "Cepat".
size akan menambah ukuran area yang dicakup oleh masker.
bulu-bulu menentukan jumlah pencampuran antara bagian tengah topeng dan tepinya.
mouth_tracking akan memperbarui posisi topeng ke posisi mulut di setiap frame (lebih lambat)
Catatan: Posisi mulut sudah mendekati dengan baik karena bingkai dipotong menghadap wajah, aktifkan ini hanya jika Anda menemukan video yang maskernya tampak tidak mengikuti mulut.
debug_mask akan membuat latar belakang menjadi abu-abu dan topeng berwarna sehingga Anda dapat dengan mudah melihat di mana topeng berada di dalam bingkai.
Opsi ini memungkinkan Anda memproses beberapa file video dan/atau audio secara otomatis.
Beri nama file Anda dengan nomor di akhir, misalnya. Video1.mp4, Video2.mp4, dll. dan letakkan semuanya di folder yang sama.
File akan diproses dalam urutan numerik mulai dari yang Anda pilih. Misalnya, jika Anda memilih Video3.mp4, maka akan memproses Video3.mp4, Video4.mp4, dan seterusnya.
Jika Anda memilih file video bernomor dan file audio tidak bernomor, maka setiap video akan diproses dengan file audio yang sama. Berguna untuk membuat gambar/video berbeda mengucapkan baris yang sama.
Demikian pula, jika Anda memilih file video tidak bernomor dan file audio bernomor, video yang sama akan digunakan untuk setiap file audio. Berguna untuk membuat gambar/video yang sama mengungkapkan hal yang berbeda.
Ini menambahkan akhiran ke file keluaran Anda sehingga tidak menimpa file asli Anda.
Menambahkan pengaturan apa yang digunakan - bagus untuk membandingkan pengaturan yang berbeda karena Anda akan mengetahui apa yang Anda gunakan untuk setiap render. Akan menambahkan: Qualty_solving_nosmooth_pads-UDLR MISALNYA: _Enhanced_720_nosmooth1_pads-U15D10L-15R30 pads_UDLR tidak akan disertakan jika disetel ke 0. resolusi tidak akan disertakan jika output_height disetel ke resolusi penuh
Menampilkan video/audio masukan sebelum diproses sehingga Anda dapat memeriksa untuk memastikan Anda memilih file yang benar. Ini mungkin hanya berfungsi dengan .mp4, saya hanya tahu itu tidak berfungsi pada .avi yang saya coba. Menonaktifkan ini akan menghemat beberapa detik waktu pemrosesan untuk setiap video.
Ini hanya akan merender 1 frame video Anda dan menampilkannya dalam ukuran penuh, sehingga Anda dapat mengubah pengaturan tanpa harus merender seluruh video setiap saat. frame_to_preview adalah untuk memilih bingkai tertentu yang ingin Anda periksa - mungkin tidak sepenuhnya akurat dengan bingkai sebenarnya.