2013-07-16 1 views
-1

나는 많은 악기와 rylics을 가지고 표준 타이어 춤 노래가 있습니다. 나는 이것을 심벌즈 리듬 만있는 wav로 변형시켜야한다. 파이썬을 사용해야한다는 것을 알고 있습니다. 어떻게해야합니까? 고맙습니다.표준 타이어 댄스 wav 노래에서 심벌 (태국 악기) 리듬을 감지

+1

오디오 처리 알고리즘을 연구하여 시작해야하지만,이 질문은 너무 광범위하여 여기에서 대답 할 수 없습니다. – Collin

답변

1

심벌 리듬은 대부분 특정 믹스의 고주파수에서 일 것입니다. 전에는 트랙을 들어 본 적이 없으므로 특정 악기와 관련하여 주파수가 낮아지는 지 알 수 없습니다. 그러나 직감에서 내 생각에 최선을 다하겠습니다.

심벌의 음향 효과가없는 낮은 드럼이나 보컬 (일반적으로 중음역 악기)을 필터링해야합니다 부품. 스펙트럼 분석기를 살펴보면, 의 주파수는 보통입니다. 심벌은 500Hz에서 5KHz까지 시작하여 진폭이 서서히 기울어집니다. 진폭은 5k-15k에서 15k에서 15k까지 떨어지며 하이 엔드가 원래 트랙에서 필터링 된 경우). 500Hz (또는 약간 높은 주파수) 이하의 것을 필터링하십시오. 보다 정확한 필터링을 원할 경우 심벌 히트에서 더 많은 음 콘텐츠를 필터링하는 봉투 팔로워 (envelope follower)를 찾고자 할 수 있습니다. 필터링을 많이하면 소리를들을 수있는 다른 악기가 줄어 듭니다.

이 작업에는 고역 통과 필터가 필요합니다. 파이썬에서 직접 작성할 수는 있지만, DSP 알고리즘을 다음에서 포팅하는 것이 더 쉽습니다. musicdsp.org

code.google.com/p/pyo/의 Python DSP 라이브러리를 사용하십시오.

음악 DSP 사이트에서 나는 알고리즘을 따라 괜찮은 봉투를 찾을 수 있다고 상상합니다. 것이다 http://people.csail.mit.edu/hubert/pyaudio/

이 과정 : PyAudio를 http://docs.python.org/2/library/wave.html

을 또한, 당신은 실시간으로 필터링 작업을 테스트해야하는 경우, 다음을 고려하십시오

파이썬 읽고 여기에 웨이브에 쓸 것이다 큰 라이브러리를 가지고 필터가 심벌즈를 제외한 모든 것을 걸러 낼 수 없기 때문에 꼬임없이 올 수 있습니다. 믹싱 된 오디오가 잘 혼합되어 있기 때문에 믹스 된 개별 파트와 악기를 분리하는 것은 거의 불가능합니다. 원격으로이 작업을 수행하는 유일한 방법은 Melodyne입니다.

0

첫 번째 아이디어는 다른 악기가 주로 위치하는 저주파와 중음 주파수를 차단하는 대역 통과 필터를 구현하는 것입니다 (http://en.wikipedia.org/wiki/Band-pass_filter). 당신은 그것을 스스로 할 수 있습니다 :

  1. FFT 당신은 창에 WAV 파일 및 스펙트럼
  2. 를 얻을 수는
  3. 가 제로에 다른 모든 것들을 넣어 유지하려는 주파수 대역을 선택 (또는 적용 - 가우스, 슈퍼 등)
  4. 은 (
  5. 이 결과를 듣고) 역 FFT를 수행

당신이 할 수있는 필요하다면 루게릭 병을 주파수 대역을 변경 다시 모든 것을 변환 -gaussian o scipy 라이브러리 (신호 처리 기능)에 대해 google을 사용합니다.

희망이 도움이됩니다. 그것을 밖으로 시도, 자세한 질문을 게시하는 경우.