2014-01-16 3 views
0

Я работаю с API аудио данных Mozilla, следуя инструкциям here.Обнаружение битов аудиоданных API

В приведенном выше коде используется Float32Array в алгоритме FFT. Кажется, что он имеет вариацию частоты, которая позже заполняется magnitude. Я хотел бы сделать условие, чтобы определить, если это число больше 1, например, так:

if (magnitude > 1) { 
    beat = true; 
} else { 
    beat = false; 
} 

Это условие не выполнено, у вас есть какие-либо идеи, почему? Спасибо.

+0

Какой размер БПФ вы используете? В общем, БПФ являются плохим выбором для обнаружения биений, поскольку ему не хватает временного разрешения. – marko

+0

Хмм, что вы имеете в виду по размеру БПФ? Я просто считаю, что использовать этот API для меня проще, потому что у меня нет отличных навыков для алго ... – keepthepeach

+0

Это очень важно. БПФ работают на окнах образцов. По определению временное разрешение любого алгоритма, пытающегося обнаружить onset с помощью БПФ, является периодом этого окна, а на практике меньше. Если вы работали с 1024-кратным FFT, это дает разрешение на 44,1 кГц в 23 мс - что еще один путь, 43-й секунды. Практические алгоритмы обнаружения начала, как правило, не основаны на частотной области. – marko

ответ

0

Условное тестирование может завершиться неудачей по ряду причин. Шкала величины может быть неправильной для порога 1. Вы можете смотреть на неправильную величину. Или тип музыки, которую вы тестируете, может иметь биты, которые не изменяют эту величину, достаточную для надежного перебора вашего порога.

Существуют научно-исследовательские работы университета по теме обнаружения биений, которые могут показаться вам полезными для чтения.

+0

Я бы второй читал академическую литературу по этому вопросу. Вы также можете проверить Sonic Visualiser, который включает в себя различные модули обнаружения начала. Основная проблема со спектральными подходами к обнаружению начала - это то, что многие находки в популярной музыке - это ударные звуки, которые, как правило, напоминают шумную энергию, разбросанную по широкому диапазону частот. – marko

Смежные вопросы