Czy PSOLA czy WSOLA są lepsze do rozciągania / ponownego strojenia wokalu?

Aug 16 2020

Chcę zaimplementować algorytm modyfikacji skoku w dziedzinie czasu, taki jak PSOLA (synchroniczne nakładanie i dodawanie wysokości tonu) lub WSOLA (nakładanie się i dodawanie podobieństwa fal).

W tej chwili używam PSOLA, ale wydaje mi się, że WSOLA byłaby bardziej odporna na sygnały polifoniczne o złożonych kształtach fal, podczas gdy PSOLA działa lepiej z sygnałami monofonicznymi, takimi jak wokale. Wydaje mi się, że lepiej byłoby przygotować się na przyszłość, używając WSOLA, chociaż na razie interesują mnie tylko sygnały monofoniczne.

Zastanawiam się, czy używanie WSOLA w przeciwieństwie do PSOLA ma jakąkolwiek wadę.

Wydaje się, że obie techniki działają w podobny sposób, obie identyfikując powtórzenia w przebiegu, chociaż WSOLA niekoniecznie trzyma się fundamentów. Czy fundamentalne blokowanie sprawia, że ​​PSOLA jest lepsza dla wokali?

Aby być bardziej precyzyjnym, próbuję ustalić zalety i wady WSOLA vs PSOLA dla następujących zadań:

  1. Korekta wysokości dźwięku
  2. Korekta czasu
  3. Formant korekta

Odpowiedzi

2 ederwander Aug 17 2020 at 01:23

Aby być bardziej precyzyjnym, próbuję ustalić zalety i wady WSOLA vs PSOLA dla następujących zadań:

Korekta wysokości:

  • PSOLA - Zalety: możesz zmienić wysokość dźwięku bezpośrednio w oparciu o odstępy między ziarnami, zachować nienaruszone formanty ... aby zmienić wysokość, nie potrzebujesz skali czasu i po ponownym próbkowaniu.
  • PSOLA - Wada, czy potrzebujesz super detektora tonu mocy
  • WSOLA - wada WSOLA to nie jeden algorytm zmiany wysokości tonu, WSOLA to jeden algorytm skali czasu, aby zmienić wysokość dźwięku, będzie potrzebna skala czasu i ich ponowne próbkowanie, formanty zostaną utracone, więc może potrzebujesz tylko jednego rodzaju autokorelacji, aby znaleźć ładne miejsca do cięcia, więc nie jest to to samo, co informacje o wysokości tonu, jeśli tworzysz automatyczną korektę wysokości tonu, jedna podstawowa autokorelacja nie da ci prawidłowych informacji o wysokości tonu.
  • WSOLA - jedną z zalet jest to, że nie zależy od wysokości tonu do cięcia, po prostu tnij w najlepszym dopasowaniu, pamiętaj, że jest to tylko jeden algorytm skali czasowej, będziesz potrzebować ponownego próbkowania, aby zmienić tonację

Korekta czasu:

Jeśli chodzi o skalę czasu, myślę, że WSOLA ma najlepszą przewagę tutaj lub niektóre TDHSoparte na algortihmach, tak, możesz użyć PSOLA do skalowania czasu i zastosować przesunięcie wysokości razem, po prostu przesunięcie tonu lub tylko skala czasu, ale jeśli jesteś tylko skalowaniem czasu, WSOLA jest jednym inteligentnym wybór, nie ma potrzeby budowania detektora Ultra Pitch w WSOLA, tylko jedna podobna forma fali rozwiąże Twój problem (Autokorelacja może rozwiązać ...)

Formant korekta:

  • PSOLA - domyślnie formanty będą nietykalne, ale możesz też wypaczać formanty, w PSOLA to niesamowite ...
  • WSOLA - po skalowaniu czasu i ponownym próbkowaniu, twoje formanty zostaną utracone i aby uzyskać oryginalne formanty, będziesz potrzebować formantów w obwiedni widmowej z oryginalnego sygnału i zastosować je w sygnale przesuniętym tonem, możesz to zrobić za pomocą filtra dolnoprzepustowego w widma, użyj pikowania i interpoluj lub użyj cepstrum, aby uzyskać obwiednię ...

Wiem, że PSOLA jest nieskończenie bardziej złożona, ale uważam ten algorytm za naprawdę świetny, jeśli masz przyzwoity PitchTrack to da Ci dużą wszechstronność

1 robertbristow-johnson Aug 16 2020 at 17:26

Myślę, że masz rację, że WSOLA jest lepsza do polifonicznej, ale wciąż są błędy w tej metodzie. Powodem, dla którego jest trochę lepszy, jest to, że algorytm wykrywania skoku szuka tylko dobrych przesunięć spawów. Jeśli jest o oktawę, nie boli cię to tak bardzo, ponieważ połączenie jest nadal dobre. Jednakże, jeśli ton zmienia nieharmoniczny akord nut (powiedzmy zmniejszony akord), wtedy nie będzie dobrych przesunięć splotu, więc ostatecznie wybierzesz ten, który jest najmniej zły.

Teraz PSOLA wymaga dokładnej znajomości tonu, a błędy oktawy będą brzmiały jak błędy oktawowe. Ale to jest metoda zmiany wysokości tonu, którą chcesz zastosować w przypadku wokali, a artykuł, który wskazuję, wyjaśnia dlaczego.

Ale skalowanie czasu nie jest dokładnie zmianą wysokości tonu. Kiedy skalujesz cokolwiek, w tym wokale, nie używaj PSOLA. Użyj WSOLA lub metody w dziedzinie częstotliwości, takiej jak wokoder fazowy.