보컬 스트레칭 / 리 튜닝에 PSOLA 또는 WSOLA가 더 나은가요?
PSOLA (Pitch Synchronous Overlap and Add) 또는 WSOLA (Waveform Similarity Overlap and Add)와 같은 시간 영역 피치 수정 알고리즘을 구현하려고합니다.
현재 PSOLA를 사용하고 있지만 WSOLA는 복잡한 파형을 가진 다성 신호에 더 견고하지만 PSOLA는 보컬과 같은 모노 신호에 더 잘 작동합니다. 지금은 모노 신호에만 관심이 있지만 WSOLA를 사용하여 미래를 보장하는 것이 더 나을 수 있다고 생각합니다.
PSOLA와 달리 WSOLA를 사용하는 데 어떤 단점이 있는지 궁금합니다.
WSOLA가 반드시 기본에 고정되는 것은 아니지만 두 기술 모두 유사한 방식으로 작동하는 것 같습니다. 둘 다 파형 내에서 반복을 식별합니다. 기본 잠금 기능이 PSOLA를 보컬에 더 적합하게 만들까요?
좀 더 정확하게 말하면 다음 작업에서 WSOLA와 PSOLA의 장점과 단점을 해결하려고합니다.
- 피치 보정
- 시간 수정
- 포먼트 수정
답변
좀 더 정확하게 말하면 다음 작업에서 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을 가지고 있다면 큰 다양성을 제공 할 것입니다.
나는 WSOLA가 다 성음에 더 좋다는 것이 맞다고 생각하지만, 그 방법에는 여전히 결함이 있습니다. 더 나은 이유는 피치 감지 알고리즘이 좋은 스플 라이스 변위 만 찾고 있기 때문입니다. 옥타브가 꺼져도 스플 라이스가 여전히 양호하기 때문에 그렇게 나쁘지 않습니다. 그러나 음표의 비 고조파 코드 (예 : 감소 된 코드)를 피치 이동하면 좋은 스플 라이스 변위가 없으므로 가장 나쁜 것을 선택하게됩니다.
이제 PSOLA는 피치 와 옥타브 오류가 옥타브 오류처럼 들릴 것임을 정확히 알아야 합니다. 그러나 그것이 보컬에 대해 원하는 피치 이동 방법이며 제가 가리키는 논문에서 그 이유를 설명합니다.
그러나 시간 스케일링은 정확히 피치 이동이 아닙니다. 보컬을 포함하여 시간을 조정할 때 PSOLA를 사용하지 마십시오. WSOLA 또는 위상 보코더와 같은 주파수 도메인 방법을 사용하십시오.