2009-07-31 5 views
3

오디오 세계에 초보인데 처리 방법을 모르겠습니다. WAV 파일의 피치를 나타내는 그래프를 표시해야합니다. WAV 파일은 대위법 일 수 있으며, 그 다음 지배적 인 (가장 강한 음량의) 악기 (또는 인간의 음성 노래)의 음조 그래프를 표시해야합니다. 저는 .NET에 익숙하며 C, C++, Java에서는 아무 것도 모릅니다.WAV 파일 피치 표시

나는 웹에서 연구를 시작했고, 다성 WAV 파일의 피치 탐지가 해결 된 문제는 아니라는 것을 알았지 만 정확한 피치가 필요하지는 않다. 다음 피치보다 더 높은지, 길이는 얼마입니까?

내 질문은 :

  1. 나는이 작업 뒤에 이론을 학습 시작해야

    ? 거기에 추천 도서가 있습니까?

  2. 할 수있는 API/도구가 있습니까?

감사합니다,

ML

답변

2

당신은 파도의 구성 주파수를 추출하기 위해 푸리에 분석을 사용할 수 있습니다. 여기에 관련 SO 질문이 있습니다 : Fast Fourier Transform in C#

+1

나는 WAV 파일의 폴리 포닉 성질에 대해 우려하고 있습니다. FFT를 사용하면 가장 중요한 악기/음성을 격리 할 수 ​​있습니까? –

+0

글쎄, FFT는 웨이브의 파편에서 우세한 주파수를 줄 것입니다. 그래서 중간의 C를 생성하는 세 개의 악기가 있다면 (기본 주파수 또는 고조파 여부와 상관없이) FFT가 어떤 악기가 가장 큰 악기인지는 알려주지 않지만 알려줄 것입니다 그 가운데 C는 샘플에서 가장 큰 주파수입니다. –

+0

필자는 '스펙트럼 분석기'를 본 적이 있다고 가정합니다. FFT가 제공 할 것입니다. –

0

저는 다소 관련 프로젝트를 진행해 왔습니다. 고속 푸리에 변환을 조사하고 싶을 것입니다. 나는 이것을 project written in C#이라고 추천 할 수있다 - 그것은 기타 튜너로 쓰여졌지만 당신의 목적에 맞게 쉽게 수정할 수있다.

그러나 이것은 멀티 피치를 수행하지 않습니다. "celemony"이라는 제품이 있는데 "Direct Note Access (DNA)"를 사용하여이 기능을 사용할 수 있다고 주장합니다. 그들의 기술은 당연히 닫힌 소스이지만 적절한 가격으로 라이센스를 취득 할 수 있습니다.

1

Digital Signal Processing으로 신호 처리를 시작했습니다. 약 30 달러에 인쇄 된 책을 구입하거나 pdf를 무료로 다운로드 할 수 있습니다. 과학자가 아닌 사람들을 위해 작성되었으며, 다양한 신호 처리 기술을 사용하기 위해 많은 정보를 제공합니다.

FFT (고속 푸리에 변환)는 시간 대 진폭 신호를 주파수 (빈)와 강도 (에너지)로 변환합니다. 많은 웹 사이트에있는 standard charts을 통해 빈도에서 메모로 이동할 수 있습니다.