Извлеките gammatone cepstral коэффициенты, логарифмическая энергия, дельта и дельта дельты
задает опции с помощью одного или нескольких coeffs = gtcc(___,Name,Value)Name,Value парные аргументы.
[ возвращает дельту, дельту дельты и местоположение в выборках, соответствующих каждому окну данных. Этот выходной синтаксис может использоваться с любым из предыдущих входных синтаксисов.coeffs,delta,deltaDelta,loc] = gtcc(___)
Получите gammatone cepstral коэффициенты для звукового файла с помощью настроек по умолчанию. Постройте график результатов.
[audioIn,fs] = audioread('Counting-16-44p1-mono-15secs.wav'); [coeffs,~,~,loc] = gtcc(audioIn,fs); t = loc./fs; plot(t,coeffs) xlabel('Time (s)') title('Gammatone Cepstral Coefficients') legend('logE','0','1','2','3','4','5','6','7','8','9','10','11','12', ... 'Location','northeastoutside')

Читайте в звуковом файле.
[audioIn,fs] = audioread('Turbine-16-44p1-mono-22secs.wav');Вычислите 20 GTCC использующие фильтры, равномерно распределенные по шкале ERB между hz2erb(62.5) и hz2erb(12000). Вычислите коэффициенты с помощью 50 MS Windows с перекрытием на 25 мс. Замените 0th коэффициент на логарифмическую энергию. Используйте фильтрацию временного интервала.
[coeffs,~,~,loc] = gtcc(audioIn,fs, ... 'NumCoeffs',20, ... 'FrequencyRange',[62.5,12000], ... 'WindowLength',round(0.05*fs), ... 'OverlapLength',round(0.025*fs), ... 'LogEnergy','Replace', ... 'FilterDomain','Time');
Постройте график результатов.
t = loc./fs; plot(t,coeffs) xlabel('Time (s)') title('Gammatone Cepstral Coefficients') legend('logE','1','2','3','4','5','6','7','8','9','10','11','12','13', ... '14','15','16','17','18','19','Location','northeastoutside');

Читайте в звуковом файле и преобразуйте его в представление частоты.
[audioIn,fs] = audioread("Rainbow-16-8-mono-114secs.wav"); win = hann(1024,"periodic"); S = stft(audioIn,"Window",win,"OverlapLength",512,"Centered",false);
Чтобы извлечь gammatone cepstral коэффициенты, вызовите gtcc с аудио частотного диапазона. Проигнорируйте логарифмическую энергию.
coeffs = gtcc(S,fs,"LogEnergy","Ignore");
Во многих приложениях наблюдения GTCC преобразованы в итоговую статистику для использования в задачах классификации. Постройте функции плотности вероятности каждого из gammatone cepstral коэффициенты, чтобы наблюдать их распределения.
nbins = 60; for i = 1:size(coeffs,2) figure histogram(coeffs(:,i),nbins,'Normalization','pdf') title(sprintf("Coefficient %d",i-1)) end













audioIn — Входной сигналВходной сигнал в виде вектора, матрицы или трехмерного массива.
Если 'FilterDomain'установлен в 'Frequency' (значение по умолчанию), затем audioIn может быть действительным или комплексным.
Если audioIn действительно, это интерпретировано как сигнал временной области и должно быть вектор-столбцом или матрицей. Столбцы матрицы обработаны как независимые звуковые каналы.
Если audioIn является комплексным, это интерпретировано как сигнал частотного диапазона. В этом случае, audioIn должен быть L-by-M-by-N массив, где L является количеством точек ДПФ, M является количеством отдельных спектров, и N является количеством отдельных каналов.
Если 'FilterDomain'установлен в 'Time', затем audioIn должен быть действительный вектор-столбец или матрица. Столбцы матрицы обработаны как независимые звуковые каналы.
Типы данных: single | double
Поддержка комплексного числа: Да
fs — Частота дискретизации (Гц)Частота дискретизации входного сигнала в Гц в виде положительной скалярной величины.
Типы данных: single | double
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
coeffs = gtcc(audioIn,fs,'LogEnergy','Replace') возвращает gammatone cepstral коэффициенты для входного аудиосигнала, произведенного в fs Гц. Для каждого аналитического окна, первого коэффициента в coeffs вектор заменяется логарифмической энергией входного сигнала.'WindowLength' — Количество выборок в аналитическом окневокруг (0.03*fs) (значение по умолчанию) | положительное скалярное целое число'OverlapLength' — Количество выборок перекрывается между смежными окнамивокруг (0.02*fs) (значение по умолчанию) | неотрицательный скалярКоличество выборок, перекрытых между смежными окнами в виде разделенной запятой пары, состоящей из 'OverlapLength' и целое число в области значений [0, WindowLength). Если незаданный, OverlapLength значения по умолчанию к раунду (0.02*.fs)
Типы данных: single | double
'NumCoeffs' — Количество коэффициентов возвращено (значение по умолчанию) | положительное скалярное целое числоКоличество коэффициентов, возвращенных для каждого окна данных в виде разделенной запятой пары, состоящей из 'NumCoeffs' и целое число в области значений [2, v]. v является количеством допустимых полос пропускания. Если незаданный, NumCoeffs значения по умолчанию к 13.
Количество допустимых полос пропускания задано как количество шагов ERB (ERBN) в частотном диапазоне набора фильтров. Частотный диапазон набора фильтров задан FrequencyRange.
Типы данных: single | double
'FilterDomain' — Область, в которой можно применить фильтрацию'Frequency' (значение по умолчанию) | 'Time'Область, в которой можно применить фильтрацию в виде разделенной запятой пары, состоящей из 'FilterDomain' и 'Frequency' или 'Time'. Если незаданный, FilterDomain значения по умолчанию к Frequency.
Типы данных: string | char
'FrequencyRange' — Частотный диапазон gammatone набора фильтров (Гц)[50 fs/2] (значение по умолчанию) | двухэлементный вектор-строкаЧастотный диапазон gammatone набора фильтров в Гц в виде разделенной запятой пары, состоящей из 'FrequencyRange' и двухэлементный вектор-строка из увеличения значений в области значений [0, fs/2]. Если незаданный, FrequencyRange значения по умолчанию к [50, fs/2]
Типы данных: single | double
'FFTLength' — Количество интервалов в ДПФWindowLength (значение по умолчанию) | положительное скалярное целое числоКоличество интервалов раньше вычисляло ДПФ оконных входных выборок в виде разделенной запятой пары, состоящей из 'FFTLength' и положительное скалярное целое число. Если незаданный, FFTLength значения по умолчанию к WindowLength.
Типы данных: single | double
'Rectification' — Тип нелинейного исправления'log' (значение по умолчанию) | 'cubic-root'Тип нелинейного исправления, примененного до дискретного косинусного преобразования в виде 'log' или 'cubic-root'.
Типы данных: char | string
'DeltaWindowLength' — Количество коэффициентов раньше вычисляло дельту и дельту дельты (значение по умолчанию) | нечетное целое число, больше, чем дваКоличество коэффициентов раньше вычисляло дельту и значения дельты дельты в виде разделенной запятой пары, состоящей из 'DeltaWindowLength' и два или нечетное целое число, больше, чем два. Если незаданный, DeltaWindowLength значения по умолчанию к 2.
Если DeltaWindowLength установлен в 2, delta дан различием между текущими коэффициентами и предыдущими коэффициентами.
Если DeltaWindowLength установлен в нечетное целое число, больше, чем 2, следующее уравнение задает их значения:
Функция использует приближение наименьших квадратов локального наклона по области вокруг коэффициентов текущего аналитического окна. Дельта cepstral значения вычисляется путем подбора кривой cepstral коэффициентам соседних аналитических окон (аналитические окна M перед текущим аналитическим окном и аналитическими окнами M после текущего аналитического окна) к прямой линии. Для получения дополнительной информации см. [3].
Типы данных: single | double
'LogEnergy' — Регистрируйте энергетическое использование'Append' (значение по умолчанию) | 'Replace' | 'Ignore'Регистрируйте энергетическое использование в виде разделенной запятой пары, состоящей из 'LogEnergy' и 'Append'замена, или 'Ignore'. Если незаданный, LogEnergy значения по умолчанию к 'Append'.
'Append' – Функция предварительно ожидает логарифмическую энергию к содействующему вектору. Длина содействующего вектора равняется 1 + NumCoeffs.
'Replace' – Функция заменяет первый коэффициент на логарифмическую энергию сигнала. Длиной содействующего вектора является NumCoeffs.
'Ignore' – Функция не вычисляет или возвращает логарифмическую энергию.
Типы данных: char | string
coeffs — Коэффициенты Gammatone cepstralКоэффициенты Gammatone cepstral, возвращенные как L-by-M матрица или L-by-M-by-N массив, где:
L Количество аналитических окон звуковой сигнал разделено в. Входной размер, WindowLength, и OverlapLength управляйте этой размерностью: L = пол ((размер (.audioIn, 1) − WindowLength)) / (WindowLength − OverlapLength) + 1
M Количество коэффициентов возвращено на систему координат. Это значение определяется NumCoeffs и LogEnergy.
Когда LogEnergy установлен в:
'Append' – Объект предварительно ожидает логарифмическую энергетическую ценность к содействующему вектору. Длина содействующего вектора равняется 1 + NumCoeffs.
'Replace' – Объект заменяет первый коэффициент на логарифмическую энергию сигнала. Длиной содействующего вектора является NumCoeffs.
'Ignore' – Объект не вычисляет или возвращает логарифмическую энергию. Длиной содействующего вектора является NumCoeffs.
N Количество входных каналов (столбцы). Это значение является размером (.audioIn,2)
Типы данных: single | double
delta — Изменитесь в коэффициентахИзменитесь в коэффициентах от одного аналитического окна до другого, возвращенного как L-by-M матрица или L-by-M-by-N массив. delta массив одного размера и тип данных с coeffs массив. Смотрите coeffs для определений L, M и N.
Функция использует приближение наименьших квадратов локального наклона по области вокруг выборки текущего времени. Для получения дополнительной информации см. [3].
Типы данных: single | double
deltaDelta — Изменитесь в значениях дельтыИзменитесь в delta значения, возвращенные как L-by-M матрица или L-by-M-by-N массив. deltaDelta массив одного размера и тип данных с coeffs и delta массивы. Смотрите coeffs для определений L, M и N.
Функция использует приближение наименьших квадратов локального наклона по области вокруг выборки текущего времени. Для получения дополнительной информации см. [3].
Типы данных: single | double
loc — Местоположение последней выборки в каждом аналитическом окнеМестоположение последней выборки в каждом аналитическом окне, возвращенном как вектор-столбец с одинаковым числом строк как coeffs.
Типы данных: single | double
gtcc функционируйте разделяет целые данные в перекрывающиеся сегменты. Длина каждого аналитического окна определяется WindowLength. Длина перекрытия между аналитическими окнами определяется OverlapLength. Алгоритм, чтобы определить gammatone cepstral коэффициенты зависит от области фильтра, заданной FilterDomain. Область фильтра по умолчанию является частотой.
gtcc вычисляет gammatone cepstral коэффициенты, логарифмическая энергетическая ценность, дельта и значения дельты дельты для каждого аналитического окна согласно алгоритму, описанному в cepstralFeatureExtractor.
Если FilterDomain задан как 'Time', gtcc функционируйте использует gammatoneFilterBank применять фильтрацию временного интервала. Основные шаги gtcc алгоритм обрисован в общих чертах схемой.

FrequencyRange и частота дискретизации (fs) параметры устанавливаются на наборе фильтров с помощью входа пар "имя-значение" для gtcc функция. Количество просачивается, gammatone набор фильтров задан как .This примерно соответствует размещению фильтра gammatone каждые 0,9 мм в улитке уха.hz2erb(FrequencyRange(2)) − hz2erb(FrequencyRange(1))
Выход от gammatone набора фильтров является многоканальным сигналом. Каждый канал выход от gammatone набора фильтров буферизуется в перекрытые аналитические окна, как задано WindowLength и OverlapLength. Затем периодическое Окно Хэмминга применяется к каждому аналитическому окну. Энергия для каждого аналитического окна данных вычисляется. STE каналов конкатенирована. Конкатенированный сигнал затем передается через функцию логарифма и преобразовывается к cepstral области с помощью дискретного косинусного преобразования (DCT).
Логарифмическая энергия вычисляется на исходный звуковой сигнал с помощью той же схемы буферизации, применился к gammatone набору фильтров выход.
[1] Шао, ян, Чжаочжан Цзинь, Дэлян Ван и Сундарарэджэн Сринивасан. "Слуховая функция устойчивого распознавания речи". Международная конференция IEEE по вопросам акустики, речи и обработки сигналов. 2009.
[2] Валеро, X., и F. Псевдоним. "Коэффициенты Gammatone Cepstral: Биологически Вдохновленные Функции Неречевой Классификации Аудио". Транзакции IEEE на Мультимедиа. Издание 14, Выпуск 6, 2012, стр 1684–1689.
[3] Rabiner, Лоуренс Р. и Рональд В. Шафер. Теория и приложения цифровой речевой обработки. Верхний Сэддл-Ривер, NJ: Пирсон, 2010.
cepstralFeatureExtractor | mfcc | pitch | voiceActivityDetector
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.