Я пытаюсь определить Beats Per Minute (BPM) из микрофона с использованием звуковой энергии, я думаю, что я выяснил часть, определяющую BPM, но с небольшими трудностями получив Необработанные данные.iPhone AudioQueue - Чтение входящих аудиоданных для определения BPM
Пример основан на яблоки SpeakHere приложение - на функцию обратного вызова, звуковых сообщений, я использую:
SInt16 *buffer = (SInt16*)inBuffer->mAudioData;
for (int i = 0; i < (inBuffer->mAudioDataByteSize)/sizeof(SInt16); i++)
{
printf("before modification %d\n", (int)*buffer);
buffer++;
}
Но я получаю некоторые интересные значения - любой шанс кто-то может мне точку в правильном направлении где я ошибаюсь и даю знать, в какой диапазон я должен вернуться.
Audio Format Setup:
mRecordFormat.mFormatFlags = kLinearPCMFormatFlagIsSignedInteger | kLinearPCMFormatFlagIsPacked;
mRecordFormat.mBitsPerChannel = 16;
mRecordFormat.mBytesPerPacket = mRecordFormat.mBytesPerFrame = (mRecordFormat.mBitsPerChannel/8) * mRecordFormat.mChannelsPerFrame;
mRecordFormat.mFramesPerPacket = 1;
Cheers,
что интересно об этом? Попробуйте импортировать текст в excel, разбив на пробелы и построив значения. Вы получаете сигнал? – AShelly