Подтвердить что ты не робот

Создавать визуальную форму (waveform) из файла MP3/WAV в Windows 2008 Server?

Есть ли где-нибудь программа командной строки для Windows, которая создаст визуализацию PNG/JPEG из MP3/WAV?

EDIT: Это хороший пример того, как должно выглядеть изображение. введите описание изображения здесь

4b9b3361

Ответ 1

Sox, "швейцарский армейский нож аудио манипуляции", может генерировать точные спектральные диаграммы PNG из звуковых файлов. Он играет почти все, и для Windows доступны двоичные файлы. На самом базовом уровне вы будете использовать что-то вроде этого:

sox my.wav -n spectrogram

Если вам нужна спектрограмма без осей, титров, легенд и фона фона, высота 100 пикселей:

sox "Me, London.mp3" -n spectrogram -Y 130 -l -r -o "Me, London.png"

Sox принимает множество опций, если вы хотите проанализировать только один канал, например. Если вам нужно, чтобы ваши изображения были еще более холодными, вы могли бы обработать полученный PNG.

Вот краткий обзор из командной строки о всех доступных параметрах, manpage содержит более подробные сведения:

-x num  X-axis size in pixels; default derived or 800
-X num  X-axis pixels/second; default derived or 100
-y num  Y-axis size in pixels (per channel); slow if not 1 + 2^n
-Y num  Y-height total (i.e. not per channel); default 550
-z num  Z-axis range in dB; default 120
-Z num  Z-axis maximum in dBFS; default 0
-q num  Z-axis quantisation (0 - 249); default 249
-w name Window: Hann (default), Hamming, Bartlett, Rectangular, Kaiser
-W num  Window adjust parameter (-10 - 10); applies only to Kaiser
-s  Slack overlap of windows
-a  Suppress axis lines
-r  Raw spectrogram; no axes or legends
-l  Light background
-m  Monochrome
-h  High colour
-p num  Permute colours (1 - 6); default 1
-A  Alternative, inferior, fixed colour-set (for compatibility only)
-t text Title text
-c text Comment text
-o text Output file name; default `spectrogram.png'
-d time Audio duration to fit to X-axis; e.g. 1:00, 48
-S time Start the spectrogram at the given time through the input

Ответ 2

Я создал небольшую библиотеку PHP, которая делает это: https://github.com/jasny/audio


Он работает следующим образом. Он получает образцы, используя

sox TRACK.mp3 -t raw 4000 -c 1 -e floating-point -L -

Это уменьшает выборку до 4k и помещает все в 1 канал.

Далее я беру куски сэмплов (на пиксель witd) и вычисляю min и max. Используйте их для рисования формы волны.

Ответ 3

Реальная форма волны возможна с помощью ffmpeg, вы можете скачать ее здесь.

Установите его где-нибудь и используйте следующую командную строку в качестве примера:

ffmpeg.exe -i "filename.mp3" -lavfi showwavespic=split_channels=1:s=1024x800 waveform.png

или ниже, чтобы соответствовать вашему примеру цвету изображения или другим цвета:

ffmpeg.exe -i "filename.mp3" -lavfi showwavespic=s=1024x800:colors=0971CE waveform.png

Документация FFmpeg showwavespic

Ответ 5

Обновленная пакетная версия Wander Nauta, которая генерирует гистограмму для всех wav файлов в папку (BASH/DASH):

for i in *.wav; do ./sox $i -n spectrogram -y 130 -l -r -o ${i%%.wav}.png; done