소리 에너지를 사용하여 마이크에서 분당 비트 (BPM)를 결정하려고합니다. BPM을 결정하는 부분을 찾은 것 같지만 조금 문제가 있습니다. 원시 데이터.iPhone AudioQueue - 들어오는 오디오 데이터를 읽음으로써 BPM을 결정합니다.
이 예제는 사과 SpeakHere 응용 프로그램을 기반으로합니다 - AudioQueue 콜백 함수에 내가 사용 : - 어떤 기회 누군가의 올바른 방향으로 날 지점 수 있습니다 나는 몇 가지 흥미로운 값을 받고 있어요
SInt16 *buffer = (SInt16*)inBuffer->mAudioData;
for (int i = 0; i < (inBuffer->mAudioDataByteSize)/sizeof(SInt16); i++)
{
printf("before modification %d\n", (int)*buffer);
buffer++;
}
그러나 내가 잘못 가고있는 곳에서 내가 돌아 가야하는 범위를 알려주십시오.
오디오 포맷 설정 : (: 엔디안, 채널 당 비트, 프레임 당 채널 등 AudioStreamBasicDescription) 당신이 당신의 오디오 큐 구성 않았다 어떤 형식에서
mRecordFormat.mFormatFlags = kLinearPCMFormatFlagIsSignedInteger | kLinearPCMFormatFlagIsPacked;
mRecordFormat.mBitsPerChannel = 16;
mRecordFormat.mBytesPerPacket = mRecordFormat.mBytesPerFrame = (mRecordFormat.mBitsPerChannel/8) * mRecordFormat.mChannelsPerFrame;
mRecordFormat.mFramesPerPacket = 1;
건배,
? 텍스트 출력을 Excel로 가져 와서 공백으로 나누고 값을 플로팅 해보십시오. 파형을 얻었습니까? – AShelly