Автор оригинала: Team Python Pool.
Реализация спектрограммы Python в Python с нуля
Привет, кодеры!! В этой статье мы узнаем о спектрограммах и увидим, как реализовать их на языке Python с нуля. Так что же это значит? Это точечная величина преобразования Фурье сегмента аудиосигнала. Теперь давайте разберемся в спектрограмме питона подробнее.
Ключевые моменты о спектрограмме Python:
- Это изображение генерируемого сигнала
- По оси Y мы строим график времени, а по оси X-частоту
- Цвет спектрограммы указывает на силу сигнала
- Это объясняет распределение силы сигнала на разных частотах
Давайте сначала подробно разберемся в звуке и различных формах сигналов
Звуковолновое представление спектрограммы:
Звуковая волна
Форма волны-это визуальное представление звукового сигнала или звуковой волны. Мы можем наблюдать изменение амплитуды со временем. Различные оси представляют:
- Ось X: Время
- Ось Y: Амплитуда
Различные типы сигналов:
1) Синусоидальная волна:
Синусоидальная волна
- Это S-образная волна
- Он периодически колеблется
- Непрерывная волна
2) квадратная волна:
Квадратная волна
- несинусоидальная волна
- она периодична
- мгновенный переход между двумя уровнями
3) Треугольная волна:
Треугольная волна
- несинусоидальная волна
- периодические по своей природе
- кусочно-линейный
- только нечетные гармоники
Пошаговая реализация спектрограммы в Python:
1)Импорт всех библиотек в Python
import os import matplotlib.pyplot as plt import librosa import librosa.display import IPython.display as ipd
- os – предоставляет способ использования операционной системы портативным способом
- matplotlib.pyplot – набор функций, которые заставляют matplotlib работать как MATLAB
- librosa – используется для анализа любого вида аудио
- IPython.display – для отображения объекта Python во всех интерфейсах
2) загрузка аудио
listdir() – используется для возврата списка записей в каталоге, заданном по пути
x,.load(audio_path+audio[2],) print(type(x), type(sr)) print(x.shape, sr)
Давайте визуализируем форму сигнала загруженного аудио в Python:
plt.figure(figsize=(14, 5)) librosa.display.waveplot(x,)
Звуковая форма Сигнала
librosa.display.waveplot() – Используется для построения огибающей амплитуды сигнала
3) Преобразование формы сигнала в спектрограмму в Python:
- librosa.stft() – STFT расшифровывается как Кратковременное преобразование Фурье .STFT вычисляет дискретные преобразования Фурье (DFT) по коротким перекрывающимся окнам для представления сигнала в частотно-временной области.
- librosa.display.specshow() – отображает спектрограмму
Применение спектрограммы Python:
- Фонетически идентифицировать произносимые слова
- Анализируйте крики различных животных
Должен Читать
- Как вычислить квадратный корень в Python
- Типы данных Python | Изменяемые и неизменяемые типы данных
- Numpy Square Root | Use case Evaluation of Math Toolkit
- Функция Python Absolute Value | abs() С Примерами
- Коллекции Python: Обновленная версия встроенных коллекций?
Вывод:
В этой статье мы узнали о спектрограммах и их реализации в python. Мы также узнали о различных типах звуковых сигналов и увидели, как преобразовать форму сигнала в спектрограмму.
Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.
Счастливого Пифонирования!