Существует ли анализатор спектра (mp3/wav) -> (txt/csv)?
Существует ли простая утилитка для командной строки, или исходники, которые позволяют принять на вход звуковой файл и выдать на выходе спектр сигнала в текстовом виде.
Есть куча программ которые экспортируют красивые графики спектра в png. Но мне требуется именно текстовый формат для машинного анализа впоследствии.
Если кто встречал подобные утилиты поделитесь пожалуйста.
Christian Lisov: а дальше все просто, просто сделать быстрое преобразование Фурье :-)
Но всё равно спасибо, хорошая отправная точка для дальнейших действий.
Вы уверены, что вам нужен спектр всего файла? Обычно для длинной последовательности делают спектрограмму, т.е. окном пробегают по времени и получается функция двух переменных - времени и частоты.
Александр Скуснов: мне достаточно любого метода, цель простая оценить реальное качество внутри неизвестного файла машмнным методом, а далее вывести оценку для модератора
xmoonlight: нет нет нет. Такой анализ уже тлько ушами. Априори считаем что треки предварительнотпрослушаны. Просто есть большая база треков среди которых попадаются некачественные. Вот и хочется их побыстрому выловить
Денис: Вообще-то в Матлабе есть команды и ввода файла, и вычисления спектрограммы, и вывода результатов в файл. Кстати, т.к. спектрограмма двумерная ф-я, т.е. содержит большое количество данных, то имеет смысл выводить только те характеристики, которые вам нужны.
Денис: способ "в-лоб": пережать файл с разным битрейтом и оценить размер. Тогда можно быстро понять: неверно или верно выставленный битрейт, ближайший к полученному - будет исходным. А вот по АЧХ - тут уже надо анализировать именно несущую...
Александр Скуснов: Если бы надо было открыть файл, оценить его, и сохранить результат, то я бы использовал массу программ тот же Audacity c этим справится на ура. Но задача чуть хитрее. Есть Миллион mp3 файлов. Из них надо отсеять некачественные по заданным критериям.
xmoonlight: ну можно чуть более в лоб, взять например ffmpeg и пропустить через ФНЧ скажем с частотой среза в 16 кГц. А потом оценивать полученную мощность на выходе. Если файл был с низким битрейтом, то и мощность будет низкой. А нормальный файл выдаст более высокое значение. Скажем оценивать RMS после применения фильтра.
Мне хочется ещё более быстро, скажем подал на вход файл, и утилита выводит - "Граничная частота 16кГц". И такой файлик сразу отправляется на дослушивание.