보컬 스트레칭 / 리 튜닝에 PSOLA 또는 WSOLA가 더 나은가요?

Aug 16 2020

PSOLA (Pitch Synchronous Overlap and Add) 또는 WSOLA (Waveform Similarity Overlap and Add)와 같은 시간 영역 피치 수정 알고리즘을 구현하려고합니다.

현재 PSOLA를 사용하고 있지만 WSOLA는 복잡한 파형을 가진 다성 신호에 더 견고하지만 PSOLA는 보컬과 같은 모노 신호에 더 잘 작동합니다. 지금은 모노 신호에만 관심이 있지만 WSOLA를 사용하여 미래를 보장하는 것이 더 나을 수 있다고 생각합니다.

PSOLA와 달리 WSOLA를 사용하는 데 어떤 단점이 있는지 궁금합니다.

WSOLA가 반드시 기본에 고정되는 것은 아니지만 두 기술 모두 유사한 방식으로 작동하는 것 같습니다. 둘 다 파형 내에서 반복을 식별합니다. 기본 잠금 기능이 PSOLA를 보컬에 더 적합하게 만들까요?

좀 더 정확하게 말하면 다음 작업에서 WSOLA와 PSOLA의 장점과 단점을 해결하려고합니다.

  1. 피치 보정
  2. 시간 수정
  3. 포먼트 수정

답변

2 ederwander Aug 17 2020 at 01:23

좀 더 정확하게 말하면 다음 작업에서 WSOLA와 PSOLA의 장점과 단점을 해결하려고합니다.

피치 보정 :

  • PSOLA-그레인 사이의 속도 공간을 기반으로 피치를 직접 변경하고, 포먼트를 그대로 유지하는 장점이 있습니다. 시간 스케일이 필요하지 않은 피치를 변경하고 나중에 다시 샘플링 할 수 있습니다.
  • PSOLA-단점 슈퍼 파워 피치 감지기가 필요합니까?
  • WSOLA-단점 WSOLA는 하나의 Pitch Shift 알고리즘이 아닙니다. WSOLA는 하나의 Time Scale 알고리즘입니다. 피치를 변경하려면 시간 스케일이 필요하고 리샘플링해야하며 포먼트가 손실되므로 좋은 장소를 찾으려면 한 종류의 자기 상관이 필요할 수 있습니다. 자동 피치 보정을 구축하는 경우 하나의 기본 자기 상관이 올바른 피치 정보를 제공하지 못하므로 피치 정보와 동일하지 않습니다.
  • WSOLA-여기서 한 가지 장점은 슬라이스에 피치 의존적이지 않고 최상의 일치 유사성으로 슬라이스하는 것입니다. 단 한 번의 시간 스케일 알고리즘이라는 점을 기억하십시오. 피치를 변경하려면 리샘플링이 필요합니다.

시간 수정 :

시간 척도의 경우 WSOLA가 여기 또는 일부 TDHS기반 알고리즘이 가장 유리하다고 생각합니다. 예 , PSOLA를 사용하여 시간 척도를 사용하고 피치 시프트를 함께 적용 할 수 있습니다. 피치 시프트 또는 시간 척도 만 적용 할 수 있습니다.하지만 시간 척도 만 있다면 WSOLA는 스마트 한 것입니다. 선택, WSOLA에서 울트라 피치 감지기를 구축 할 필요가 없습니다. 하나의 파형 유사만으로 문제를 해결할 수 있습니다 (AutoCorrelation이 해결할 수 있습니다 ...).

포먼트 수정 :

  • PSOLA-기본적으로 포먼트는 건드릴 수 없지만 포먼트도 워프 할 수 있습니다. PSOLA에서 놀랍습니다 ...
  • WSOLA-시간 스케일 및 리샘플링 후 포먼트가 손실되고 원래 포먼트를 얻으려면 원래 신호에서 스펙트럼 엔벨로프에 포먼트를 가져와 Pitch Shifted 신호에 적용해야합니다. 저역 통과 필터를 사용하여 수행 할 수 있습니다. 스펙트럼, 피크 선택 및 보간을 사용하거나 켑 스트 럼을 사용하여 엔벨로프를 얻습니다.

나는 PSOLA가 훨씬 더 복잡하다는 것을 알고 있지만,이 알고리즘은 정말 훌륭하다고 생각합니다. 괜찮은 PitchTrack을 가지고 있다면 큰 다양성을 제공 할 것입니다.

1 robertbristow-johnson Aug 16 2020 at 17:26

나는 WSOLA가 다 성음에 더 좋다는 것이 맞다고 생각하지만, 그 방법에는 여전히 결함이 있습니다. 더 나은 이유는 피치 감지 알고리즘이 좋은 스플 라이스 변위 만 찾고 있기 때문입니다. 옥타브가 꺼져도 스플 라이스가 여전히 양호하기 때문에 그렇게 나쁘지 않습니다. 그러나 음표의 비 고조파 코드 (예 : 감소 된 코드)를 피치 이동하면 좋은 스플 라이스 변위가 없으므로 가장 나쁜 것을 선택하게됩니다.

이제 PSOLA는 피치 와 옥타브 오류가 옥타브 오류처럼 들릴 것임을 정확히 알아야 합니다. 그러나 그것이 보컬에 대해 원하는 피치 이동 방법이며 제가 가리키는 논문에서 그 이유를 설명합니다.

그러나 시간 스케일링은 정확히 피치 이동이 아닙니다. 보컬을 포함하여 시간을 조정할 때 PSOLA를 사용하지 마십시오. WSOLA 또는 위상 보코더와 같은 주파수 도메인 방법을 사용하십시오.