На моей домашней стереосистеме у меня есть спектрограф с двумерной матрицей, в которой ось X - это частота (глубокие низкие частоты слева, вокал в центре, высокие частоты справа), а ось Y - это громкость или сила звука на этой частоте. Я видел такие вещи для Ubuntu, но они работают с файлами MP3 или другими предварительно записанными песнями. Есть ли что-нибудь, что может сделать это в режиме реального времени для подключенного микрофона или просто для системного микшера?
Это может быть немного излишним, но Baudline - невероятная спектрограмма БПФ в реальном времени. Его нет в репозиториях Ubuntu, поэтому вам нужно загрузить его самостоятельно . Он отображает в режиме реального времени анализ исходного сигнала, но также позволяет анализировать предварительно записанные данные. Яркость точки представляет мощность звука на этой частоте, где горизонтальная ось представляет частоты, а вертикальное время - таким образом, это как бы показывает историю вашего сигнала.
Его обширные особенности делают его безусловно самой продвинутой спектрограммой, доступной для Linux. Это может быть слишком сложно для вашего использования. Я не уверен, что именно вы ищете.
Я нашел два приложения, предназначенные для анализа аудиосигналов. Первый из них полностью соответствует вашим требованиям
JACK & amp; ALSA Audio Analyzer, генератор аудиосигнала и анализатор спектра.
blockquote>
Spek
Spek (IPA: / spɛk /, 'бекон' на голландском) помогает анализировать ваши аудиофайлы, показывая их спектрограмму. Spek - бесплатное программное обеспечение, доступное для Unix, Windows и Mac OS X.
BLOCKQUOTE>
Инструмент носков может создать спектрограмму:
sox Test.wav -n spectrogram -o Test.png
Я только что наткнулся на этот фрагмент python в поисках точно такой же вещи, и он отлично работает:
Действительно просто , вам нужно будет установить с pip3 : - numpy как np - pyqtgraph как pg - пиаудио - PyQt4
Чтобы заставить его работать, я преобразовал строку
self.img_array = np.zeros((1000, CHUNKSZ/2+1))
в self.img_array = np.zeros((1000, math.floor(CHUNKSZ/2+1)))
, чтобы удалить ошибку преобразования float в int.
тогда $ python3 script.py
скриншот пользовательского интерфейса
Если вы разрабатываете на python, к этой действительно классной базе можно добавить забавные вещи.
Friture — анализатор звука в реальном времени. Работает на Windows, macOS и Линукс. Это бесплатно и с открытым исходным кодом.