Apakah PSOLA atau WSOLA lebih baik untuk peregangan / retuning vokal?

Aug 16 2020

Saya ingin mengimplementasikan algoritme modifikasi pitch domain waktu seperti PSOLA (Pitch Synchronous Overlap and Add) atau WSOLA (Waveform Similarity Overlap and Add).

Saat ini saya menggunakan PSOLA, tetapi menurut saya WSOLA akan lebih kuat untuk sinyal polifonik dengan bentuk gelombang yang kompleks, sedangkan PSOLA bekerja lebih baik dengan sinyal monofonik seperti vokal. Saya merasa akan lebih baik untuk membuktikan masa depan dengan menggunakan WSOLA, meskipun saya hanya tertarik pada sinyal monofonik untuk saat ini.

Saya bertanya-tanya apakah ada kerugian menggunakan WSOLA dibandingkan dengan PSOLA.

Tampaknya kedua teknik bekerja dengan cara yang sama, keduanya mengidentifikasi pengulangan dalam bentuk gelombang, meskipun WSOLA tidak selalu mengunci fundamental. Apakah penguncian fundamental membuat PSOLA lebih unggul untuk vokal?

Lebih tepatnya, saya mencoba mencari keuntungan dan kerugian dari WSOLA vs PSOLA untuk tugas-tugas berikut:

  1. Koreksi pitch
  2. Koreksi waktu
  3. Koreksi forman

Jawaban

2 ederwander Aug 17 2020 at 01:23

Lebih tepatnya, saya mencoba mencari keuntungan dan kerugian dari WSOLA vs PSOLA untuk tugas-tugas berikut:

Koreksi pitch:

  • PSOLA - Keuntungan Anda dapat mengubah nada secara langsung berdasarkan ruang laju antar butir, menjaga forman tetap utuh ... untuk mengubah nada Anda tidak perlu skala waktu dan sampel ulang setelahnya.
  • PSOLA - Kekurangannya adalah Anda membutuhkan detektor nada kekuatan super
  • WSOLA - Kekurangan WSOLA bukanlah salah satu algoritma Pitch Shift, WSOLA adalah salah satu algoritma Time Scale, untuk merubah pitch membutuhkan skala waktu dan mereka mengambil sampel ulang, forman akan hilang, jadi Anda mungkin hanya perlu satu jenis autokorelasi untuk menemukan tempat yang bagus untuk mengiris, sehingga tidak sama dengan informasi Pitch, jika Anda membuat Koreksi Pitch Otomatis, satu autokorelasi dasar tidak akan memberi Anda Informasi Pitch yang benar.
  • WSOLA - satu keuntungan di sini adalah tidak bergantung pada Pitch pada slice, cukup iris pada kesamaan kecocokan terbaik, ingat ini hanya algoritma skala waktu, Anda perlu mengambil sampel ulang untuk mengubah pitch

Koreksi waktu:

Untuk skala waktu, saya pikir WSOLA memiliki keunggulan terbaik di sini atau beberapa TDHSalgortihm berbasis, ya Anda dapat menggunakan PSOLA untuk skala waktu dan menerapkan pergeseran nada bersama-sama, hanya pergeseran nada atau hanya skala waktu, tetapi jika Anda hanya skala waktu, WSOLA adalah salah satu yang cerdas pilihan, tidak perlu membangun Ultra Pitch Detector di WSOLA, hanya satu bentuk gelombang yang akan menyelesaikan masalah Anda (AutoCorrelation dapat menyelesaikan ...)

Koreksi forman:

  • PSOLA - secara default forman tidak akan tersentuh, tetapi Anda juga dapat membengkokkan forman, sungguh menakjubkan di PSOLA ...
  • WSOLA - setelah skala waktu dan sampel ulang forman Anda akan hilang dan untuk mendapatkan forman asli Anda perlu mendapatkan forman dalam amplop spektral dari sinyal asli dan menerapkannya dalam sinyal Pitch Shifted, Anda dapat melakukannya menggunakan filter lolos rendah di spektral, gunakan pengambilan puncak dan interpolasi atau gunakan cepstrum untuk mendapatkan amplop ...

Saya tahu bahwa PSOLA jauh lebih kompleks, tetapi saya menganggap algoritme ini sangat hebat, jika Anda memiliki PitchTrack yang layak, ini akan memberi Anda keserbagunaan yang luar biasa

1 robertbristow-johnson Aug 16 2020 at 17:26

Saya pikir Anda benar bahwa WSOLA lebih baik untuk polifonik, tetapi masih ada gangguan dalam metode itu. Alasan mengapa ini sedikit lebih baik adalah karena algoritma pendeteksian nada hanya mencari perpindahan sambungan yang baik. Jika satu oktaf tidak aktif, itu tidak terlalu menyakitkan bagi Anda karena sambungannya masih bagus. Namun, jika pitch menggeser akor non-harmonik (misalnya akor yang berkurang), maka tidak akan ada perpindahan sambatan yang baik, jadi Anda akhirnya memilih nada yang paling tidak buruk.

Sekarang PSOLA membutuhkan pengetahuan pasti tentang kesalahan nada dan oktaf akan terdengar seperti kesalahan oktaf. Tapi itu adalah metode perubahan nada yang Anda inginkan untuk vokal dan makalah yang saya tunjukkan menjelaskan alasannya.

Tapi penskalaan waktu tidak sepenuhnya mengubah nada. Saat mengatur skala apa pun, termasuk vokal, jangan gunakan PSOLA. Gunakan WSOLA atau metode domain frekuensi seperti fase vocoder.