2012-05-24 3 views
0

나는 보코더 또는 오토튠에 관한 자료를 웹에서 찾아 보았지만 만족할만한 대답을 얻지 못했습니다. 간단한 방법으로 누군가 캐리어 사운드 파일을 사용하여 주어진 사운드 파일을 자동 튜닝하는 방법을 설명해주십시오. (저는 ffts, 윈도우 잉, 오버랩 등에 익숙합니다. 우리는 캐리어의 ffts와 변조되어야 할 원래 사운드 파일을 가지고있을 때 무엇을 해야할지 모르겠습니다)Autotune/vocoder의 이론

EDIT : 조금 더 살펴본 후 드디어 채널 보코더 인 내가 찾고있는 것을 정확히 알게되었습니다. 그것이 작동하는 방식은 두 개의 입력을 필요로합니다. 하나는 음성 신호이고 다른 하나는 주파수가 풍부한 음악 신호입니다. 음악 신호는 음성 신호의 엔벨로프 (envelope)에 의해 변조되고, 출력 신호는 음악 톤에서의 음성 노래와 유사하게 들립니다.

도움 주셔서 감사합니다.

+0

http://dsp.stackexchange.com에서이 신호에 대한 질문을 할 수 있습니다. – hotpaw2

+0

Melodify SDK를 사용해보십시오. – Danijel

답변

0

기본적으로 FFT를 수행 한 다음 주파수 도메인에서 신호를 가장 가까운 완벽한 반음 피치로 이동합니다.

3

위상 보코더를 사용하여 피치를 조정하는 것은 기본적으로 피치 추정과 주파수 영역에서의 보간입니다.

위상 보코더 재구성 방법은 잠재적으로 새로운 FFT 빈 간격에 주파수 스펙트럼을 재 샘플링하여 모든 주파수를 일정 비율만큼 위 또는 아래로 시프트 할 수 있습니다. 위상 보코더 알고리즘은 인접한 FFT 프레임간에 공유 된 정보를 추가로 사용하여이 보간 결과가 프레임 경계를 넘어 연속 파형을 생성 할 수 있는지 확인합니다. 예 : 보간 결과의 위상을 조정하여 연속 사인파 재구성이 끊어 지거나 불연속 또는 프레임 간 위상 취소가 아닌 연속적인지 확인합니다.

스펙트럼을 위아래로 이동하는 정도는 피치 추정에 의해 결정되고 소스의 예상 피치와 목표 피치의 피치 사이의 비율을 계산합니다. 다시, 위상 보코더는 FFT 프레임 간의 모든 위상 차이에 대한 정보를 사용하여 피치를 더 정확하게 추정합니다. 이는 단일 로컬 FFT 프레임에서 사용할 수있는 것보다 더 많은 전역 정보를 사용하여 가능합니다.

물론이 주파수 및 위상 변경으로 인해 일시적인 세부 사항이 희미 해지고 다양한 다른 왜곡이 발생할 수 있으므로 실제 위상 보코더 제품은 이러한 문제 중 일부를 시도하고 수정하기 위해 모든 종류의 맞춤형 (흔히 독점적 인) 특수 사례 트릭을 추가로 수행 할 수 있습니다. .

+0

누군가가 노래를 부르거나, 음표를 오른쪽 음표로 가져 오는 경우, 가장 가까운 음표와 음절을 결정합니다.그러나 주파수가 풍부한 이동 통신사 파일을 사용하여 단순한 음성을 음악으로 변환 할 수있는 송 화음 효과를 재현하려면 어떻게해야합니까? – rounak

1

첫 번째 단계는 피치 감지입니다. 위키 피 디아에서 간략하게 소개 된 수많은 피치 검출 알고리즘이 있습니다. http://en.wikipedia.org/wiki/Pitch_detection_algorithm 피치 검출은 주파수 도메인 또는 시간 도메인에서 구현할 수 있습니다. 두 도메인의 다양한 기술이 다양한 속성 (대기 시간, 품질 등)을 가지고 존재합니다. F 도메인에서 시간/주파수 트레이드 오프로 인해 순진한 접근 방식이 매우 제한적이라는 사실을 깨닫는 것이 중요합니다. 이 한계를 극복 할 수는 있지만 작업이 필요합니다.

피치를 확인한 후에는 원하는 피치와 비교하여 실제로 피치 변화가 필요한 정도를 결정합니다.

피치 시프 팅은 피치 감지와 마찬가지로 T 또는 F 도메인에서 수행 할 수 있습니다. 다른 사람들이 언급 한 "phase vocoder"방법은 F 도메인 방법입니다. T 도메인 방법에는 OLA, SOLA 및 PSOLA가 포함됩니다 (품질 향상 순서에 따라). 여기에서 일부 내용을 읽을 수 있습니다. http://www.scribd.com/doc/67053489/60/Synchronous-Overlap-and-Add-SOLA

+0

주파수 도메인에서 피치 검출은 단순히 어떤 "bin"또는 주파수 인덱스가 최대 에너지를 갖는지를 탐지 할 수 있습니까? (각 지수에서의 복소수의 크기 중 최대 값) 약간의 의미는 있지만 사실이 되기는 너무 쉽습니다. 위키 페이지에는 이에 대한 언급이 없습니다. – rounak

+1

두 가지 실용적인 문제 : 1. 복잡한 소리의 경우 기본 주파수가 가장 강하지 않을 수 있으므로 피크 사이의 관계를 조사해야합니다. 그리고 2. 빈 크기가 보통 너무 커서 정확한 근사값을 얻을 수 없으므로 단계적으로 고려해야합니다. –