На моей домашней стереосистеме у меня есть спектрограф с двумерной матрицей, где ось X - это частота (глубокий бас слева, вокал в центре, высокие частоты справа), а ось Y - громкость или мощность звук на этой частоте. Я видел такие вещи для Ubuntu, но они работают с файлами MP3 или другими предварительно записанными песнями. Есть ли что-нибудь, что может сделать это в режиме реального времени для подключенного микрофона или просто для системного микшера?
Инструмент sox может создать спектрограмму:
источник
Я только что наткнулся на этот фрагмент кода Python, ищущий ту же самую вещь, и он работает довольно хорошо:
Очень просто, вам нужно установить с pip3: - numpy как np - pyqtgraph как pg - pyaudio - PyQt4
Чтобы заставить это работать, я преобразовал линию
to self.img_array = np.zeros ((1000, math.floor (CHUNKSZ / 2 + 1)))
удалить ошибку с плавающей точкой в int.
тогда $ python3 script.py
скриншот для пользовательского интерфейса
Если вы разрабатываете на python, к этой действительно крутой базе можно добавить забавные вещи.
источник