Автор: Гуй.
Время: 2017-05-04 18:31:09
Ссылка на сайт:Блог Woohoo.cn на.com/Xingshan Temple/…
предисловие
Такие приложения, как распознавание речи, неотделимы от извлечения аудиофункций.Недавно я просматривал содержимое извлечения аудиофункций и использовал инструментарий под python——pyAudioAnalysis: Библиотека Python с открытым исходным кодом для анализа аудиосигналов, документация по инструментарию может бытькликните сюдаСкачать, соответствующая ссылка на githubкликните сюда.
Оригинальная документация этого инструментария поддерживает установку Linux и плохо совместима с python3, обратите внимание.
1. Введение в общие наборы инструментов
В настоящее время для звуковых сигналов C/C++, Python, MATLAB и другие широко используемые наборы инструментов:
Два, pyAudioAnalysis Toolkit Введение
pyAudioAnalysis — это набор инструментов для обработки звука, основные функции которого следующие:
Среди них Feature Extraction включает (по порядку):
Чтобы добавить примечание:
-
1-скорость пересечения нуля: краткосрочная средняя скорость пересечения нуля, то есть количество точек пересечения нуля сигнала в каждом кадре сигнала, отражающее частотные характеристики.
-
2-Энергия: Кратковременная энергия, то есть сумма квадратов каждого кадра сигнала, которая отражает силу энергии сигнала.
-
3-энтропия энергии: энергетическая энтропия, аналогичная спектральной энтропии (спектральной энтропии) спектра, но описывающая распределение сигнала во временной области, отражающая непрерывность
-
4-Спектральный центроид: Спектральный центр также известен как спектральное расстояние первого порядка. Чем меньше значение спектрального центра, тем больше спектральной энергии сосредоточено в низкочастотном диапазоне. Например, по сравнению с музыкой, спектральный центроид обычно ниже.
-
5-спектральное распространение: спектральное распространение, также известное как центральный момент спектра второго порядка, которое описывает распределение сигнала вокруг центра спектра.
-
6-Спектральная энтропия: Спектральная энтропия, в соответствии с характеристиками энтропии, чем равномернее распределение, тем больше энтропия, а энергетическая энтропия отражает однородность каждого кадра сигнала Спектр более однороден, и VAD является одним из приложения.
-
7-Спектральный поток: Спектральный поток, описывающий изменение спектра соседних кадров.
12345678 function [vsf] ``=
FeatureSpectralFlux (X, f_s)
``%
difference spectrum (``set
first diff to zero)`` ``afDeltaX ``=
diff([X(:,``1``), X],``1``,``2``);``
``%
flux`` ``vsf ``=
sqrt(``sum``(afDeltaX.^``2``))``/``size(X,``1``);``end
-
8-Спад спектра: Точка спада спектра, дающая определение:
- 9~21-MFCCs: это знаменитый кепстральный коэффициент Мела.В Интернете есть много информации, и это также очень важная характеристика звука.
- 22 ~ 33-хрома вектор: имеет 12 параметров, соответствующих 12-уровневым масштабам, или увидеть исходное объяснение: 12-элементное представление спектральной энергии, в котором банки представляют собой 12 классов равных высот. Музыка (семитонный интервал).
- 34-Отклонение цветности: это стандартное отклонение вектора цветности.
Это может быть использовано больше в музыке, и в настоящее время нет связи с такими функциями:
Что такое характеристики цветности? дайте схему
пример кода:
1234567 |
from pyAudioAnalysis ``import audioBasicIO``from pyAudioAnalysis ``import audioFeatureExtraction``import matplotlib.pyplot as plt``[Fs, x] ``= audioBasicIO.readAudioFile(``"sample.wav"``);``F ``= audioFeatureExtraction.stFeatureExtraction(x, Fs, ``0.050``*``Fs, ``0.025``*``Fs);``plt.subplot(``2``,``1``,``1``); plt.plot(F[``0``,:]); plt.xlabel(``'Frame no'``); plt.ylabel(``'ZCR'``);``plt.subplot(``2``,``1``,``2``); plt.plot(F[``1``,:]); plt.xlabel(``'Frame no'``); plt.ylabel(``'Energy'``); plt.show()
|
---|
Если вы хотите узнать больше о возможностях аудио, вот ссылка,кликните сюда, который включает в себя следующие функции:
Есть графики и звуки, которые можно щелкнуть, звук — это соответствующий звук, а график соответствует рендерингу функции, такой как открытие zeroCross:
Три, установка инструментария pyAudioAnalysis
pyAudioAnalysis соответствующая ссылкакликните сюда. Для установки этого инструментария требуются зависимости:
А-хмммобучиться установке
Ссылка на hmmlearnкликните сюда. Для установки hmmlearn необходимо выполнить несколько условий:
После загрузки я помещаю hmmlearn-master в каталог python-3.5.2-0\Lib\, cd в окне cmd и ввожу:
1 | pip install ``-``U ``-``-``user hmmlearn |
---|
Вы можете успешно установить его:
Установка инструментария B-Simplejson:
Simplejson – это кодировщик и декодер JSON для Python. Он простой, быстрый, полный, правильный и легко расширяемый. Соответствующая ссылкакликните сюда. Инструментарий Simplejson можно установить напрямую с помощью conda:
Установка C-eyed3:
eyed3: Инструмент для работы с аудиофайлами, особенно файлами MP3, содержащими метаданные ID3.Он предоставляет возможность чтения и записи тегов ID3 (v1.x и v2.3/v2.4). В то же время он может обнаруживать информацию заголовка файлов MP3, включая скорость передачи данных, частоту дискретизации и время воспроизведения. Прямая установка conda eyed3 не удалась, соответствующая ссылкакликните сюда. Выбрал эту версию:
Поместите его в папку Lib библиотеки python: C:\Users\Nobleding\Anaconda3\pkgs\python-3.5.2-0\Lib, перейдите в соответствующий каталог, pip установите имя файла.whl, установка может быть завершенный
Установка D-pydub:
pydub — это широко используемый инструментарий для обработки звука, например:
Откройте файл формата wav:
12 |
from pydub ``import AudioSegment``song ``= AudioSegment.from_wav(``"never_gonna_give_you_up.wav"``)
|
---|
Чтобы открыть mp3-файл:
1 |
song ``= AudioSegment.from_mp3(``"never_gonna_give_you_up.mp3"``)
|
---|
Или другие аудио и видео форматы:
123456 |
ogg_version ``= AudioSegment.from_ogg(``"never_gonna_give_you_up.ogg"``)``flv_version ``= AudioSegment.from_flv(``"never_gonna_give_you_up.flv"``) mp4_version ``= AudioSegment.from_file(``"never_gonna_give_you_up.mp4"``, ``"mp4"``)``wma_version ``= AudioSegment.from_file(``"never_gonna_give_you_up.wma"``, ``"wma"``)``aac_version ``= AudioSegment.from_file(``"never_gonna_give_you_up.aiff"``, ``"aac"``)
|
---|
Доступ к более подробной информации можно получитьего домашняя страница. я здесьна гитхабеЗагрузите соответствующий инструментарий, в котором есть соответствующие инструкции по установке.
При обработке wav файлов других требований нет, если аудио в других форматах требует установки на компьютерffmpeg orlibav.Если он не установлен, при запуске будет подсказка:
скачать ffmpeg, выберите версию
Разархивируйте и добавьте переменные среды, а затем используйте ffplay для проверки открытия файла mp4:
ffmpeg успешно установлен. В настоящее время импортируйте pydub, предупреждающей информации больше нет.
Установка E-pyAudioAnalysis
GithubДается идея установки под linux.После скачивания поместите pyAudioAnalysis в папку \Anaconda3\Lib\site-packages и введите команду:
Вызывается успешно, исходные данные поддерживают Python2, многие детали нужно доработать, дам простой тест на чтение wav:
123456 |
from pyAudioAnalysis ``import audioBasicIO``import numpy as np``import matplotlib.pyplot as plt``[Fs, x] ``= audioBasicIO.readAudioFile(``"count2.wav"``);``time ``= np.arange(``0``,``len``(x))``*``1.0``/``Fs``plt.plot(time,x)
|
---|
Рендеринг: