БПФ для спектрограмм в Python
Как я могу использовать Python для чтения пиков частоты из файла WAV PCM, а затем иметь возможность генерировать его изображение, для анализа спектров?
Я пытаюсь сделать программу, которая позволяет вам читать любой аудиофайл, преобразовывать его в WAV PCM, а затем находить пики и частотные отсечки.
- Пример libao не работает при компиляции в виде модуля python
- Файл AIFF-C не может быть прочитан с помощью модуля aifc в python
- Добавление и удаление источников звука в / из конвейера GStreamer на ходу
- Генерировать изображение формы волны из аудиофайла
- Аудиоданные ввода-вывода с использованием Numpy / Scipy и PulseAudio
Волновая библиотека Python позволит вам импортировать аудио. После этого вы можете использовать numpy для получения БПФ аудио.
Затем matplotlib делает очень хорошие диаграммы и графики – абсолютно сопоставимые с MATLAB.
Он старый, как грязь, но эта статья , вероятно, заставит вас начать практически по той проблеме, которую вы описываете (статья в Python, конечно).
Загрузка WAV-файлов легко с помощью аудиолаборатории :
from audiolab import wavread signal, fs, enc = wavread('test.wav')
или для чтения любого общего аудиоформата и преобразования в WAV:
from audiolab import Sndfile sound_file = Sndfile('test.w64', 'r') signal = wave_file.read_frames(wave_file.nframes)
Спектрограмма встроена в PyLab:
from pylab import * specgram(signal)
В частности, это часть matplotlib . Вот лучший пример.
from pylab import * specgram(signal)
является самым простым. Также весьма удобно в этом контексте:
subplot
Но будьте осторожны: Matplotlib работает очень медленно, но создает красивые изображения. Вы не должны использовать его для требовательной анимации, тем более, когда вы имеете дело с 3D
Если вам нужно преобразовать из формата PCM в целые числа, вы захотите использовать struct.unpack.
- Может ли sphinx ссылаться на документы, которые не находятся в каталогах под корневым документом?
- django представляет две разные формы с одной кнопкой отправки
- Обрезка аудио в python
- Как использовать numpy с portaudio для извлечения басов, средних высоких частот
- Реализация (Butterworth) фильтра в Python и создание wav-файла
- Вход PyAudio Overflowed -9981 – Нет решения, работающего
- Более одного аудиообъекта в ячейке ноутбука Jupyter (IPython)
- Запись Loopback («What u hear») в Python с использованием PyAudio
- Как добавить молчание перед wav-файлом
- Jython: создание простого звукового сигнала в Windows
- Звуковой выход присутствует в звуковом сигнале даже без микрофона в linux