Извлеките mfcc, регистрируйте энергию, дельту и дельту дельты звукового сигнала
наборы каждое свойство coeffs
= mfcc(___,Name,Value
)Name
к заданному Value
. Незаданные свойства имеют значения по умолчанию..
[coeffs] = mfcc(audioIn,fs,'LogEnergy','Replace')
возвращает mel частоту cepstral коэффициенты для входного аудиосигнала, произведенного в fs
Гц. Первый коэффициент в coeffs
вектор заменяется логарифмической энергетической ценностью.[
возвращает дельту, дельту дельты и местоположение выборок, соответствующих каждому окну данных.coeffs
,delta
,deltaDelta
,loc
] = mfcc(___)
Вычислите mel частоту cepstral коэффициенты речевого сигнала использование mfcc
функция. Функция возвращает delta
, изменение в коэффициентах и deltaDelta
, изменение в значениях дельты. Логарифмическая энергетическая ценность, которую вычисляет функция, может предварительно ожидать содействующий вектор или заменить первый элемент содействующего вектора. Это сделано на основе того, устанавливаете ли вы 'LogEnergy'
аргумент к 'Append'
или 'Replace'
.
Считайте звуковой сигнал из 'Counting-16-44p1-mono-15secs.wav'
файл с помощью audioread
функция. mfcc
функция обрабатывает целые речевые данные в пакете. DeltaWindowLength
по умолчанию 2. Поэтому
delta
вычисляется как различие между текущими коэффициентами и предыдущими коэффициентами. deltaDelta
вычисляется как различие между током и предыдущими значениями дельты. На основе количества входных строк, длины окна, и длины транзитного участка, mfcc
делит речь в 1 551 систему координат и вычисляет функции cepstral каждой системы координат. Каждая строка в coeffs
матрица соответствует логарифмической энергетической ценности, сопровождаемой 13 mel-частотами cepstral коэффициенты для соответствующей системы координат речевого файла. Функция также вычисляет loc
, местоположение последней выборки в каждом входном кадре.
[audioIn,fs] = audioread('Counting-16-44p1-mono-15secs.wav');
[coeffs,delta,deltaDelta,loc] = mfcc(audioIn,fs);
Читайте в звуковом файле и преобразуйте его в представление частоты.
[audioIn,fs] = audioread("Rainbow-16-8-mono-114secs.wav"); win = hann(1024,"periodic"); S = stft(audioIn,"Window",win,"OverlapLength",512,"Centered",false);
Чтобы извлечь mel-частоту cepstral коэффициенты, вызовите mfcc
с аудио частотного диапазона. Проигнорируйте логарифмическую энергию.
coeffs = mfcc(S,fs,"LogEnergy","Ignore");
Во многих приложениях наблюдения MFCC преобразованы в итоговую статистику для использования в задачах классификации. Постройте функции плотности вероятности каждой mel-частоты cepstral коэффициенты, чтобы наблюдать их распределения.
nbins = 60; for i = 1:size(coeffs,2) figure histogram(coeffs(:,i),nbins,"Normalization","pdf") title(sprintf("Coefficient %d",i-1)) end
audioIn
— Входной сигналВходной сигнал, заданный как вектор, матрица или трехмерный массив.
Если audioIn
действительно, это интерпретировано как сигнал временной области и должно быть вектор-столбцом или матрицей. Столбцы матрицы обработаны как независимые звуковые каналы.
Если audioIn
является комплексным, это интерпретировано как сигнал частотного диапазона. В этом случае, audioIn
должен быть L-by-M-by-N массив, где L является количеством точек ДПФ, M является количеством отдельных спектров, и N является количеством отдельных каналов.
Типы данных: single
| double
Поддержка комплексного числа: Да
fs
— Частота дискретизации в ГцЧастота дискретизации входного сигнала в Гц, заданном как положительная скалярная величина.
Типы данных: single
| double
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
[coeffs,delta,deltaDelta,loc] = mfcc(audioIn,fs,'LogEnergy','Replace','DeltaWindowLength',5)
возвращает mel частоту cepstral коэффициенты для входного аудиосигнала, произведенного в fs
Гц. Первый коэффициент в coeffs
вектор заменяется логарифмической энергетической ценностью. Набор 5 cepstral коэффициентов используется для расчета дельта и значения дельты дельты.'WindowLength'
— Количество выборок в аналитическом окневокруг (fs
*0.03)
(значение по умолчанию) | положительное скалярное целое числоКоличество выборок в аналитическом окне раньше вычисляло коэффициенты, заданные как целое число, больше, чем или равный 2
. Если незаданный, 'WindowLength'
значения по умолчанию значения к раунду (
. Длина окна должна быть в области значений fs
*0.03)[2, размер (
.audioIn
,1)]
Типы данных: single
| double
'OverlapLength'
— Количество перекрывающихся выборок между смежными окнамивокруг (fs
*0.02)
(значение по умолчанию) | целое числоКоличество выборок, которые накладываются или underlap между смежными окнами. 'OverlapLength'
значение, которое является:
Положительный указывает на перекрытие между смежными окнами.
Отрицательный указывает на underlap между смежными окнами.
Нуль не указывает ни на какое перекрытие между смежными окнами.
'OverlapLength'
значение должно быть установлено к меньше, чем 'WindowLength'
.
Вот то, как перекрывающиеся системы координат смотрят:
Вот то, как underlapping структурирует взгляд:
Типы данных: single
| double
'NumCoeffs'
— Количество коэффициентов возвращено
(значение по умолчанию) | положительное скалярное целое числоКоличество коэффициентов, возвращенных для каждого окна данных, заданных как целое число в области значений [2 v], где v является количеством допустимых полос пропускания.
Количество допустимых полос пропускания задано как sum(BandEdges <= floor(fs/2))-2
. Полоса пропускания допустима, если ее ребра падают ниже fs/2
, где fs является частотой дискретизации входного звукового сигнала, заданного в качестве второго аргумента, fs
.
Типы данных: single
| double
'BandEdges'
— Ребра полосы набора фильтров (Гц)Ребра полосы набора фильтров в Гц, заданном как неотрицательный монотонно увеличивающийся вектор-строка в области значений [0, fs
/2]. Количество ребер полосы должно быть в области значений [4, 160]. mfcc
функционируйте проекты полуперекрыли треугольные фильтры на основе BandEdges
. Это означает, что все ребра полосы, за исключением первого и последнего, являются также центральными частотами спроектированных полосовых фильтров.
По умолчанию, BandEdges
вектор с 42 элементами, который приводит к банку с 40 ленточными фильтрами, который охватывает приблизительно 133 Гц к 6 864 Гц:
Фильтры | Ребра полосы пропускания (Гц) |
---|---|
Отфильтруйте 1 | [133 267] |
Filter2 | [200 333] |
Отфильтруйте 3 | [267 400] |
Отфильтруйте 4 | [333 467] |
Отфильтруйте 5 | [400 533] |
Отфильтруйте 6 | [467 600] |
Отфильтруйте 7 | [533 667] |
Отфильтруйте 8 | [600 733] |
Отфильтруйте 9 | [667 800] |
Отфильтруйте 10 | [733 867] |
Отфильтруйте 11 | [800 933] |
Отфильтруйте 12 | [867 999] |
Отфильтруйте 13 | [933 1071] |
Отфильтруйте 14 | [999 1147] |
Отфильтруйте 15 | [1071 1229] |
Отфильтруйте 16 | [1147 1316] |
Отфильтруйте 17 | [1229 1410] |
Отфильтруйте 18 | [1316 1510] |
Отфильтруйте 19 | [1410 1618] |
Отфильтруйте 20 | [1510 1733] |
Отфильтруйте 21 | [1618 1856] |
Отфильтруйте 22 | [1733 1988] |
Отфильтруйте 23 | [1856 2130] |
Отфильтруйте 24 | [1988 2281] |
Отфильтруйте 25 | [2130 2444] |
Отфильтруйте 26 | [2281 2618] |
Отфильтруйте 27 | [2444 2804] |
Отфильтруйте 28 | [2618 3004] |
Отфильтруйте 29 | [2804 3217] |
Отфильтруйте 30 | [3004 3446] |
Отфильтруйте 31 | [3217 3692] |
Отфильтруйте 32 | [3446 3954] |
Отфильтруйте 33 | [3692 4236] |
Отфильтруйте 34 | [3954 4537] |
Отфильтруйте 35 | [4236 4860] |
Отфильтруйте 36 | [4537 5206] |
Отфильтруйте 37 | [4860 5577 |
Отфильтруйте 38 | [5206 5973] |
Отфильтруйте 39 | [5577 6399] |
Отфильтруйте 40 | [5973 6854] |
Ребра полосы пропускания в таблице округлены для удобочитаемости. Для точных ребер смотрите настройки по умолчанию cepstralFeatureExtractor
.
Типы данных: single
| double
'FFTLength'
— Количество интервалов для вычисления ДПФWindowLength
(значение по умолчанию) | положительное скалярное целое числоКоличество интервалов раньше вычисляло ДПФ оконных входных выборок. Значение длины БПФ должно быть больше или быть равно 'WindowLength'
значение. 'WindowLength'
аргумент задает количество строк в оконном входе. По умолчанию значение длины БПФ установлено к 'WindowLength'
.
Типы данных: single
| double
'DeltaWindowLength'
— Количество коэффициентов для вычисления дельты и дельты дельты
(значение по умолчанию) | нечетное целое число, больше, чем 2Количество коэффициентов раньше вычисляло дельту и значения дельты дельты, заданные как 2 или нечетное целое число, больше, чем 2.
Если 'DeltaWindowLength'
установлен в 2
, delta
дан различием между текущими коэффициентами и предыдущими коэффициентами,
Если 'DeltaWindowLength'
установлен в нечетное целое число, больше, чем 2
, значения дельты даны следующим уравнением:
Функция использует приближение наименьших квадратов локального наклона по области вокруг выборки текущего времени. Дельта cepstral значения вычисляется путем подбора кривой cepstral коэффициентам соседних систем координат (системы координат M перед текущей системой координат и системами координат M после текущей системы координат) прямой линией. Для получения дополнительной информации см. [1].
Типы данных: single
| double
'LogEnergy'
— Задайте, как логарифмическую энергию показывают'Append'
(значение по умолчанию) | 'Replace'
| 'Ignore'
Задайте, как логарифмическую энергию показывают в содействующем векторе выход, заданный как:
'Append'
– Функция предварительно ожидает логарифмическую энергию к содействующему вектору. Длина содействующего вектора равняется 1 + NumCoeffs
.
'Replace'
– Функция заменяет первый коэффициент на логарифмическую энергию сигнала. Длиной содействующего вектора является NumCoeffs
.
'Ignore'
– Объект не вычисляет или возвращает логарифмическую энергию.
Типы данных: char |
string
coeffs
— Частота Мэла cepstral коэффициенты (MFCCs)Частота Мэла cepstral коэффициенты, возвращенные как L-by-M матрица или L-by-M-by-N массив, где,
L Количество систем координат звуковой сигнал разделено в. 'WindowLength'
и 'OverlapLength'
свойства управляют этой размерностью.
Количество аудио систем координат, L, вычисляется с помощью следующего уравнения:
nRows – Количество входных строк.
winLen – Количество выборок в аналитическом окне, заданном 'WindowLength'
аргумент. Если не заданный, длина окна кругла (
.fs
*0.03)
hopLen – Количество выборок в текущей системе координат перед запуском следующей системы координат. Скачкообразно двиньтесь длиной дают.
M Количество коэффициентов возвращено на систему координат. Это значение определяется NumCoeffs
и LogEnergy
свойства.
Когда LogEnergy
свойство установлено в:
'Append'
– Объект предварительно ожидает логарифмическую энергетическую ценность к содействующему вектору. Длина содействующего вектора равняется 1 + NumCoeffs
.
'Replace'
– Объект заменяет первый коэффициент на логарифмическую энергию сигнала. Длиной содействующего вектора является NumCoeffs
.
'Ignore'
– Объект не вычисляет или возвращает логарифмическую энергию.
N Количество входных каналов (столбцы).
Типы данных: single
| double
delta
— Изменитесь в коэффициентахИзменитесь в коэффициентах от одной системы координат данных другому, возвращенному как L-by-M матрица или L-by-M-by-N массив. delta
массив одного размера и тип данных с coeffs
массив.
Если 'DeltaWindowLength'
установлен в 2
, delta
дан различием между текущими коэффициентами и предыдущими коэффициентами,
Рассмотрите пример, ниже которого вычисляет mel коэффициенты частоты для целого речевого файла. 'DeltaWindowLength'
значением является 2
. mfcc
функциональные разделы речь в 1 551 систему координат. Каждая строка в coeffs
матрица соответствует логарифмической энергетической ценности, сопровождаемой 13 mel частотами cepstral коэффициенты для соответствующего сегмента речевого файла.
[audioIn,fs] = audioread('Counting-16-44p1-mono-15secs.wav');
[coeffs,delta,deltaDelta,loc] = mfcc(audioIn,fs);
Первая строка матрицы дельты, delta(1,:)
нули. Вторая строка, delta(2,:)
равняется различию в коэффициентах для текущей системы координат, coeffs(2,:)
и предыдущая система координат, coeffs(1,:)
.
Если 'DeltaWindowLength'
установлен в нечетное целое число, больше, чем 2
, значения дельты даны следующим уравнением:
Функция использует приближение наименьших квадратов локального наклона по области вокруг выборки текущего времени. Для получения дополнительной информации см. [1].
Типы данных: single
| double
deltaDelta
— Изменитесь в значениях дельтыИзменитесь в delta
значения от одной системы координат данных другому, возвращенному как L-by-M матрица или L-by-M-by-N массив. deltaDelta
массив одного размера и тип данных с coeffs
и delta
массивы.
Если 'DeltaWindowLength'
установлен в 2
, deltaDelta
дан различием между текущими значениями дельты и предыдущими значениями дельты,
Рассмотрите пример, ниже которого вычисляет mel коэффициенты частоты для целого речевого файла. 'DeltaWindowLength'
значением является 2
.
[audioIn,fs] = audioread('Counting-16-44p1-mono-15secs.wav');
[coeffs,delta,deltaDelta,loc] = mfcc(audioIn,fs);
Первая строка deltaDelta
матрица, deltaDelta(1,:)
нули. Вторая строка, deltaDelta(2,:)
равняется различию в значениях дельты для текущей системы координат, delta(2,:)
и предыдущая система координат, delta(1,:)
.
Если 'DeltaWindowLength'
установлен в нечетное целое число, больше, чем 2
, deltaDelta
значения даны следующим уравнением:
Функция использует приближение наименьших квадратов локального наклона по области вокруг выборки текущего времени. Для получения дополнительной информации см. [1].
Типы данных: single
| double
loc
— Местоположение последней выборки в каждом входном кадреМестоположение последней выборки в каждом входном кадре, возвращенном как вектор. loc
вектор дан [t 1, t 2, t 3, …, t n] элементы в следующей схеме, где n соответствует количеству систем координат, вход разделен в, и t n является последней выборкой последней системы координат.
Типы данных: single
| double
mfcc
функционируйте разделяет целые данные в перекрывающиеся сегменты. Длина каждого сегмента спада определяется 'WindowLength'
аргумент. Длина перекрытия между сегментами определяется 'OverlapLength'
аргумент.
Функция вычисляет mel частоту cepstral коэффициенты, логарифмическая энергетическая ценность, cepstral дельта и cepstral значения дельты дельты для каждого сегмента согласно алгоритму, описанному в cepstralFeatureExtractor
.
[1] Rabiner, Лоуренс Р. и Рональд В. Шафер. Теория и приложения цифровой речевой обработки. Верхний Сэддл-Ривер, NJ: Пирсон, 2010.
Cepstral Feature Extractor | Voice Activity Detector | audioFeatureExtractor
| cepstralFeatureExtractor
| pitch
| voiceActivityDetector
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.