Вопрос или проблема
Я ищу командный инструмент, который даст мне вывод диапазона частот MP3 файла, как это делает Spek, но без изображения. Мне это нужно, чтобы проанализировать большую библиотеку MP3 файлов и определить, какие файлы не являются “настоящими” 320Kbps.
Наверное, вам нужно ffprobe
. Он входит в пакет ffmpeg
(в debian и производных), также вы можете скачать и скомпилировать с дополнительными функциями отсюда.
Просто передайте файл в качестве аргумента, как
ffprobe miFile.mp3
и вы получите информацию о файле.
Для получения дополнительной информации вы можете ознакомиться со страницей man ffprobe
, а если вас заинтересует, тоже с man ffmpeg
. Оба являются очень мощными программами и могут делать многое.
Посмотрите этот ссылка для примеров использования ffprobe
.
Я проводил похожий поиск, потому что планирую перекодировать ряд MP3 файлов, чтобы исправить некоторые ошибки кодирования, и я wondered, есть ли способ измерить потери при перекодировке, и наткнулся на эту тему: сравнение качества звуковых файлов из командной строки (используя куртозис).
Автор написал скрипт для этого – вместо того, чтобы существовала одна утилита командной строки – но в результатах поиска, которые я получил, это казалось ближе всего к тому, что вы искали, и эта тема подробно рассказывает, как автор пришел к “оценкам”, которые в результате.
Метод и обсуждение касаются наличия и природы высокочастотных и низкочастотных тонов, так что это может послужить вашей цели.
Честное предупреждение: я сам этого не пробовал.
Ответ или решение
Для определения фактического качества MP3-файлов вы можете воспользоваться ffprobe, который является частью пакета ffmpeg. Этот инструмент может производить детальный анализ аудиофайлов в командной строке, предоставляя информацию о звуковых характеристиках без необходимости создания изображений, как это делает утилита Spek.
Установка ffmpeg и ffprobe
Наиболее простой способ установить ffmpeg (вместе с ffprobe) в системах на базе Debian и его производных:
sudo apt update
sudo apt install ffmpeg
Также вы можете собрать ffmpeg с дополнительными опциями, загрузив исходный код с официального сайта. Это может быть полезно, если вам нужны специфические функции, которых нет в стандартной сборке.
Применение ffprobe для анализа MP3
После установки вы можете использовать ffprobe, передав файл в качестве аргумента следующим образом:
ffprobe -v error -select_streams a:0 -show_entries stream=codec_name,bit_rate,sample_rate,channels -of default=noprint_wrappers=1 miFile.mp3
Эта команда выведет информацию о кодеке, битрейте, частоте дискретизации и количестве каналов, которые могут дать хорошее представление о качестве файла. Вы также можете использовать параметры, чтобы получить больше информации о частотном диапазоне, например:
ffprobe -v error -show_entries frame=pkt_duration_time,pkt_size -of default=noprint_wrappers=1 miFile.mp3
Программный анализ качестве MP3
Чтобы проанализировать вашу библиотеку MP3 на наличие файлов, которые не соответствуют заявленному битрейту, рассмотрите возможность написания скрипта на Python или другом языке. Например, можно воспользоваться статистическим анализом, используя библиотеки для обработки аудиофайлов. Один из подходов — использование как ffprobe, так и более специализированных скриптов для оценки качества в зависимости от частотного спектра (к примеру, в том числе можно взглянуть на уже упомянутый вами скрипт, использующий коэффициенты куртозиса для определения качества аудио).
Использование дополнительных инструментов
В дополнение к ffprobe, вы можете использовать различные инструменты для более тщательной проверки качества звука:
- Audacity — этот мощный аудиоредактор позволяет визуально анализировать спектры и спектрограммы, что может помочь в ручной проверке.
- Spek (только для получения визуального представления, если потребуется) — позволяет сравнивать частотные характеристики различных версий файла.
Заключение
Несмотря на то, что ffprobe является отличным инструментом для быстрого анализа качества MP3, использование дополнительных алгоритмов и скриптов может значительно улучшить ваш анализ. Не забывайте периодически проверять документацию ffmpeg для получения новой информации о функции и параметрах, которые могут быть добавлены в новые версии. Это обеспечит вас самым полным и актуальным инструментарием для работы с аудиофайлами.