Я пытаюсь использовать html5 и javascript, чтобы получить амплитуду (и другие компоненты) mp3. Любые библиотеки, которые могут помочь?
Как я могу получить данные амплитуды из файла MP3?
Ответы (1)
Сначала нужно разделить задачу на воспроизведение в реальном времени и нелинейный доступ по амплитуде и т.д.
Для воспроизведения в реальном времени вы можете использовать Web Audio API.
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
Пример битов
https://beatdetektor.svn.sourceforge.net/svnroot/beatdetektor/trunk/core/js/beatdetektor.js
Для нелинейного доступа не в реальном времени есть два способа
Если вы разрешаете обработку на стороне сервера, вы можете написать свой прокси-сервер, отправляющий данные на серверы Echo Nest, и получать информацию через Echo Next Remix API.
Извлечение битов из музыки MP3 с помощью Python
Если вы хотите вообще избежать обработки на стороне сервера, вам нужно декодировать MP3 в чистом Javascript, чтобы получить доступ к необработанным аудиоданным не в режиме реального времени.
https://github.com/devongovett/mp3.js
Затем вам нужно применить необходимые фильтры к необработанным аудиоданным, чтобы извлечь из них нужную информацию. Это проблема обработки сигналов, не связанная напрямую с программированием на Javascript. Если вы более тщательно укажете, какие данные вам нужны, люди могут помочь вам с соответствующими библиотеками Javascript, например, для быстрого преобразования Фурье.