2013-10-30 3 views

답변

2

AudioBufferSourceNode의 "playbackRate"매개 변수를 변경하여 속도 (피치)를 조정합니다. 하지만 피아노와 같은 사운드 샘플은 두 단계 이상의 사운드를 리턴 할 때 부 자연스럽게 들리는 경향이 있습니다. 일반적으로 하나의 사운드 샘플로 6 가지 이상의 음표를 처리하지 않고 여러 개의 샘플을 사용하게됩니다. 예를 들어 DO 샘플을 만들고 RE 및 MI, 샘플 FA ...에 사용합니다.

+0

감사합니다. 이것은 내 길에 나를 뒀다. 각 음에 맞는 올바른 playbackRate를 정의하는 공식이 있습니까? float 형식으로 값을 설정해야하는 것 같습니다. –

+1

http://en.wikipedia.org/wiki/Equal_temperament#Calculating_absolute_frequencies를 확인하십시오. 간단히 말해, 각 하프 스텝은 이전 스텝의 2^(1/12) 배입니다. 따라서 C를 나타내는 오디오 버퍼가있는 경우 C#을 얻으려면 재생율에 Math.pow (2,1/12)를 곱합니다. – cwilso

+0

하지만 사운드를로드하더라도 자연스럽지 않습니다. 그것은 매우 단조로운 것 같습니다, 우리가 할 수있는 또 다른 것? @cwilso – Gurjit

관련 문제