Извлеките gammatone cepstral коэффициенты, логарифмическая энергия, дельта и дельта дельты
coeffs = gtcc(audioIn,fs)
coeffs = gtcc(___,Name,Value)
[coeffs,delta,deltaDelta,loc] = gtcc(___)
задает опции с помощью одного или нескольких аргументов пары 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
— Входной сигналВходной сигнал, заданный как вектор или матрица. Если задано как матрица, gtcc
обрабатывает столбцы матрицы как отдельные звуковые каналы.
Типы данных: single | double
fs
— Частота дискретизации (Гц)Частота дискретизации входного сигнала в Гц, заданном как положительная скалярная величина.
Типы данных: single | double
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
coeffs = gtcc(audioIn,fs,'LogEnergy','Replace')
возвращает gammatone cepstral коэффициенты для входного аудиосигнала, выбранного на уровне Гц fs
. Для каждого аналитического окна первый коэффициент в векторе coeffs
заменяется логарифмической энергией входного сигнала.'WindowLength'
— Количество выборок в аналитическом окнеround(0.03*fs)
(значение по умолчанию) | положительное скалярное целое числоКоличество выборок в аналитическом окне раньше вычисляло коэффициенты, заданные как пара, разделенная запятой, состоящая из 'WindowLength'
и целого числа в области значений [2,
]. Если незаданный, значения по умолчанию size(audioIn,1)
WindowLength
к
.round(0.03*fs)
Типы данных: single | double
'OverlapLength'
— Количество выборок перекрывается между смежными окнамиround(0.02*fs)
(значение по умолчанию) | неотрицательный скалярКоличество выборок перекрывается между смежными окнами, заданными как пара, разделенная запятой, состоящая из 'OverlapLength'
и целого числа в области значений [0, WindowLength
). Если незаданный, значения по умолчанию OverlapLength
к
.round(0.02*fs)
Типы данных: single | double
'NumCoeffs'
— Количество коэффициентов возвращено13
(значение по умолчанию) | положительное скалярное целое числоКоличество коэффициентов, возвращенных для каждого окна данных, заданных как пара, разделенная запятой, состоящая из '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
'DeltaWindowLength'
— Количество коэффициентов раньше вычисляло дельту и дельту дельты2
(значение по умолчанию) | нечетное целое число, больше, чем дваКоличество коэффициентов раньше вычисляло дельту и значения дельты дельты, заданные как пара, разделенная запятой, состоящая из 'DeltaWindowLength'
и два или нечетное целое число, больше, чем два. Если незаданный, значения по умолчанию DeltaWindowLength
к 2
.
Если DeltaWindowLength
установлен в 2
, delta
дан различием между текущими коэффициентами и предыдущими коэффициентами.
Если DeltaWindowLength
установлен в нечетное целое число, больше, чем 2
, следующее уравнение задает их значения:
Функция использует приближение наименьших квадратов локального наклона по области вокруг коэффициентов текущего аналитического окна. Дельта cepstral значения вычисляется путем подбора кривой cepstral коэффициентам соседних аналитических окон (аналитические окна M перед текущим аналитическим окном и аналитическими окнами M после текущего аналитического окна) к прямой линии. Для получения дополнительной информации см. [1].
Типы данных: single | double
'LogEnergy'
— Регистрируйте энергетическое использование'Append'
(значение по умолчанию) | 'Replace'
| 'Ignore'
Регистрируйте энергетическое использование, заданное как пара, разделенная запятой, состоящая из 'LogEnergy'
и 'Append'
, 'Replace'
или 'Ignore'
. Если незаданный, значения по умолчанию LogEnergy
к Append
.
добавление
Функция предварительно ожидает логарифмическую энергию к содействующему вектору. Длина содействующего вектора равняется 1 + NumCoeffs
.
замена
Функция заменяет первый коэффициент на логарифмическую энергию сигнала. Длиной содействующего вектора является NumCoeffs
.
'Ignore'
– Функция не вычисляет или возвращает логарифмическую энергию.
Типы данных: char | string
coeffs
— Коэффициенты Gammatone cepstralКоэффициенты Gammatone cepstral, возвращенные как L-by-M матрица или L-by-M-by-N массив, где:
L Количество аналитических окон звуковой сигнал разделено в. Входной размер, WindowLength
и OverlapLength
управляют этой размерностью: L = floor((size(audioIn,1) − WindowLength))/(WindowLength − OverlapLength) + 1
.
M Количество коэффициентов возвращено на кадр. Это значение определяется NumCoeffs
и LogEnergy
.
Когда LogEnergy
установлен в:
добавление
Объект предварительно ожидает логарифмическую энергетическую ценность к содействующему вектору. Длина содействующего вектора равняется 1 + NumCoeffs
.
замена
Объект заменяет первый коэффициент на логарифмическую энергию сигнала. Длиной содействующего вектора является NumCoeffs
.
'Ignore'
– Объект не вычисляет или возвращает логарифмическую энергию. Длиной содействующего вектора является NumCoeffs
.
N Количество входных каналов (столбцы). Этим значением является
.size(audioIn,2)
Типы данных: single | double
\delta
Изменитесь в коэффициентахИзменитесь в коэффициентах от одного аналитического окна до другого, возвращенного как L-by-M матрица или L-by-M-by-N массив. Массив delta
одного размера и тип данных как массив coeffs
. Смотрите coeffs
для определений L, M и N.
Функция использует приближение наименьших квадратов локального наклона по области вокруг выборки текущего времени. Для получения дополнительной информации см. [1].
Типы данных: single | double
deltaDelta
— Изменитесь в значениях дельтыИзменитесь в значениях delta
, возвращенных как L-by-M матрица или L-by-M-by-N массив. Массив deltaDelta
одного размера и тип данных как массивы delta
и coeffs
. Смотрите coeffs
для определений L, M и N.
Функция использует приближение наименьших квадратов локального наклона по области вокруг выборки текущего времени. Для получения дополнительной информации см. [1].
Типы данных: 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] Rabiner, Лоуренс Р. и Рональд В. Шафер. Теория и приложения цифровой речевой обработки. Верхний Сэддл-Ривер, NJ: Пирсон, 2010.
[2] Шао, ян, Чжаочжан Цзинь, Дэлян Ван и Сундарарэджэн Сринивасан. "Слуховая функция устойчивого распознавания речи". Международная конференция IEEE по вопросам акустики, речи и обработки сигналов. 2009.
[3] Валеро, X., и F. Псевдоним. "Коэффициенты Gammatone Cepstral: Биологически Вдохновленные Функции Неречевой Классификации Аудио". Транзакции IEEE на Мультимедиа. Издание 14, Выпуск 6, 2012, стр 1684–1689.
cepstralFeatureExtractor
| mfcc
| pitch
| voiceActivityDetector
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.