Спектральные дескрипторы

Audio Toolbox™ обеспечивает набор функций, которые описывают форму, иногда называемую тембром, аудио. Этот пример определяет уравнения, используемые, чтобы определить спектральные функции, цитирует общее использование каждой функции и обеспечивает примеры так, чтобы можно было получить интуицию о том, что описывают спектральные дескрипторы.

Спектральные дескрипторы широко используются в приложениях машинного и глубокого обучения и перцепционном анализе. Спектральные дескрипторы были применены к области значений приложений, включая:

  • Идентификация динамика и распознавание [21]

  • Акустическое распознавание сцены 11[] 17[]

  • Инструментальное распознавание [22]

  • Музыкальная классификация жанров 16[] 18[]

  • Распознавание настроения 19[] 20[]

  • Речевое обнаружение действия 5[] 7[] 8[] 10[] 12[] 13[]

Spectral Centroid

Спектральный центроид (spectralCentroid) взвешенная сумма частоты, нормированная на невзвешенную сумму [1]:

μ1=k=b1b2fkskk=b1b2sk

где

  • fk частота в Гц, соответствующем интервалу k.

  • sk спектральное значение в интервале k. Спектр величины и спектр мощности оба обычно используются.

  • b1 и b2 ребра полосы, в интервалах, по которым можно вычислить спектральный центроид.

Спектральный центроид представляет "центр тяжести" спектра. Это используется в качестве индикации относительно яркости [2] и обычно используется в музыкальном анализе и классификации жанров. Например, наблюдайте скачки в центроиде, соответствующем высоким хитам шляпы в звуковом файле.

[audio,fs] = audioread('FunkyDrums-44p1-stereo-25secs.mp3');
audio = sum(audio,2)/2;

centroid = spectralCentroid(audio,fs);

subplot(2,1,1)
t = linspace(0,size(audio,1)/fs,size(audio,1));
plot(t,audio)
ylabel('Amplitude')

subplot(2,1,2)
t = linspace(0,size(audio,1)/fs,size(centroid,1));
plot(t,centroid)
xlabel('Time (s)')
ylabel('Centroid (Hz)')

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

Спектральный центроид также обычно используется, чтобы классифицировать речь, как озвучено или неречевой [3]. Например, центроид переходит в областях неречевой речи.

[audio,fs] = audioread('Counting-16-44p1-mono-15secs.wav');

centroid = spectralCentroid(audio,fs);

subplot(2,1,1)
t = linspace(0,size(audio,1)/fs,size(audio,1));
plot(t,audio)
ylabel('Amplitude')

subplot(2,1,2)
t = linspace(0,size(audio,1)/fs,size(centroid,1));
plot(t,centroid)
xlabel('Time (s)')
ylabel('Centroid (Hz)')

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

Spectral Spread

Спектральное распространение (spectralSpread) стандартное отклонение вокруг спектрального центроида [1]:

μ2=k=b1b2(fk-μ1)2skk=b1b2sk

где

  • fk частота в Гц, соответствующем интервалу k.

  • sk спектральное значение в интервале k. Спектр величины и спектр мощности оба обычно используются.

  • b1 и b2 ребра полосы, в интервалах, по которым можно вычислить спектральное распространение.

  • μ1 спектральный центроид.

Спектральное распространение представляет "мгновенную полосу пропускания" спектра. Это используется в качестве индикации относительно преобладания тона. Например, увеличения распространения как тоны отличаются и уменьшения, когда тоны сходятся.

fs = 16e3;
tone = audioOscillator('SampleRate',fs,'NumTones',2,'SamplesPerFrame',512,'Frequency',[2000,100]);
duration = 5;
numLoops = floor(duration*fs/tone.SamplesPerFrame);
signal = [];
for i = 1:numLoops
    signal = [signal;tone()];
    if i<numLoops/2
        tone.Frequency = tone.Frequency + [0,50];
    else
        tone.Frequency = tone.Frequency - [0,50];
    end
end

spread = spectralSpread(signal,fs);

subplot(2,1,1)
spectrogram(signal,round(fs*0.05),round(fs*0.04),2048,fs,'yaxis')

subplot(2,1,2)
t = linspace(0,size(signal,1)/fs,size(spread,1));
plot(t,spread)
xlabel('Time (s)')
ylabel('Spread')

Figure contains 2 axes objects. Axes object 1 contains an object of type image. Axes object 2 contains an object of type line.

Spectral Skewness

Спектральная скошенность (spectralSkewness) вычисляется с третьего момента порядка [1]:

μ3=k=b1b2(fk-μ1)3sk(μ2)3k=b1b2sk

где

  • fk частота в Гц, соответствующем интервалу k.

  • sk спектральное значение в интервале k. Спектр величины и спектр мощности оба обычно используются.

  • b1 и b2 ребра полосы, в интервалах, по которым можно вычислить спектральную скошенность.

  • μ1 спектральный центроид.

  • μ2 спектральное распространение.

Спектральная скошенность измеряет симметрию вокруг центроида. В фонетике спектральная скошенность часто упоминается как спектральный наклон и используется с другими спектральными моментами, чтобы отличить место разборчивости [4]. Для гармонических сигналов это указывает на относительную силу выше и более низкие гармоники. Например, в сигнале с четырьмя тонами, существует положительный скос, когда более низкий тон является доминирующим и отрицательный скос, когда верхний тон является доминирующим.

fs = 16e3;
duration = 99;
tone = audioOscillator('SampleRate',fs,'NumTones',4,'SamplesPerFrame',fs,'Frequency',[500,2000,2500,4000],'Amplitude',[0,0.4,0.6,1]);

signal = [];
for i = 1:duration
    signal = [signal;tone()];
    tone.Amplitude = tone.Amplitude + [0.01,0,0,-0.01];
end

skewness = spectralSkewness(signal,fs);
t = linspace(0,size(signal,1)/fs,size(skewness,1))/60;

subplot(2,1,1)
spectrogram(signal,round(fs*0.05),round(fs*0.04),round(fs*0.05),fs,'yaxis','power')
view([-58 33])

subplot(2,1,2)
plot(t,skewness)
xlabel('Time (minutes)')
ylabel('Skewness')

Figure contains 2 axes objects. Axes object 1 contains an object of type surface. Axes object 2 contains an object of type line.

Spectral Kurtosis

Спектральный эксцесс (spectralKurtosis) вычисляется с четвертого момента порядка [1]:

μ4=k=b1b2(fk-μ1)4sk(μ2)4k=b1b2sk

где

  • fk частота в Гц, соответствующем интервалу k.

  • sk спектральное значение в интервале k. Спектр величины и спектр мощности оба обычно используются.

  • b1 и b2 ребра полосы, в интервалах, по которым можно вычислить спектральный эксцесс.

  • μ1 спектральный центроид.

  • μ2 спектральное распространение.

Спектральный эксцесс измеряет плоскость или non-Gaussianity, спектра вокруг его центроида. С другой стороны это используется, чтобы указать на остроконечность спектра. Например, когда белый шум увеличен на речевом сигнале, уменьшениях эксцесса, указав на менее остроконечный спектр.

[audioIn,fs] = audioread('Counting-16-44p1-mono-15secs.wav');

noiseGenerator = dsp.ColoredNoise('Color','white','SamplesPerFrame',size(audioIn,1));

noise = noiseGenerator();
noise = noise/max(abs(noise));
ramp = linspace(0,.25,numel(noise))';
noise = noise.*ramp;

audioIn = audioIn + noise;

kurtosis = spectralKurtosis(audioIn,fs);

t = linspace(0,size(audioIn,1)/fs,size(audioIn,1));
subplot(2,1,1)
plot(t,audioIn)
ylabel('Amplitude')

t = linspace(0,size(audioIn,1)/fs,size(kurtosis,1));
subplot(2,1,2)
plot(t,kurtosis)
xlabel('Time (s)')
ylabel('Kurtosis')

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

Spectral Entropy

Спектральная энтропия (spectralEntropy) измеряет остроконечность спектра [6]:

entropy=-k=b1b2sklog(sk)log(b2-b1)

где

  • fk частота в Гц, соответствующем интервалу k.

  • sk спектральное значение в интервале k. Спектр величины и спектр мощности оба обычно используются.

  • b1 и b2 ребра полосы, в интервалах, по которым можно вычислить спектральную энтропию.

Спектральная энтропия использовалась успешно в речевых/неречевых решениях для автоматического распознавания речи [6]. Поскольку энтропия является мерой разупорядочения, области речевой речи имеют более низкую энтропию по сравнению с областями неречевой речи.

[audioIn,fs] = audioread('Counting-16-44p1-mono-15secs.wav');

entropy = spectralEntropy(audioIn,fs);

t = linspace(0,size(audioIn,1)/fs,size(audioIn,1));
subplot(2,1,1)
plot(t,audioIn)
ylabel('Amplitude')

t = linspace(0,size(audioIn,1)/fs,size(entropy,1));
subplot(2,1,2)
plot(t,entropy)
xlabel('Time (s)')
ylabel('Entropy')

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

Спектральная энтропия также использовалась, чтобы различить между речью и музыкой 7[] 8[]. Например, сравните гистограммы энтропии для речи, музыки и фоновых звуковых файлов.

fs = 8000;
[speech,speechFs] = audioread('Rainbow-16-8-mono-114secs.wav');
speech = resample(speech,fs,speechFs);
speech = speech./max(speech);

[music,musicFs] = audioread('RockGuitar-16-96-stereo-72secs.flac');
music = sum(music,2)/2;
music = resample(music,fs,musicFs);
music = music./max(music);

[background,backgroundFs] = audioread('Ambiance-16-44p1-mono-12secs.wav');
background = resample(background,fs,backgroundFs);
background = background./max(background);

speechEntropy     = spectralEntropy(speech,fs);
musicEntropy      = spectralEntropy(music,fs);
backgroundEntropy = spectralEntropy(background,fs);

figure
h1 = histogram(speechEntropy);
hold on
h2 = histogram(musicEntropy);
h3 = histogram(backgroundEntropy);

h1.Normalization = 'probability';
h2.Normalization = 'probability';
h3.Normalization = 'probability';
h1.BinWidth = 0.01;
h2.BinWidth = 0.01;
h3.BinWidth = 0.01;
title('Spectral Entropy')
legend('Speech','Music','Background','Location',"northwest")
xlabel('Entropy')
ylabel('Probability')
hold off

Figure contains an axes object. The axes object with title Spectral Entropy contains 3 objects of type histogram. These objects represent Speech, Music, Background.

Spectral Flatness

Спектральная плоскость (spectralFlatness) измеряет отношение геометрического среднего значения спектра к среднему арифметическому спектра [9]:

flatness=(k=b1b2sk)1b2-b11b2-b1k=b1b2sk

где

  • sk спектральное значение в интервале k. Спектр величины и спектр мощности оба обычно используются.

  • b1 и b2 ребра полосы, в интервалах, по которым можно вычислить спектральную плоскость.

Спектральная плоскость является индикацией относительно остроконечности спектра. Более высокая спектральная плоскость указывает на шум, в то время как более низкая спектральная плоскость указывает на тональность.

[audio,fs] = audioread('WaveGuideLoopOne-24-96-stereo-10secs.aif');
audio = sum(audio,2)/2;

noise = (2*rand(numel(audio),1)-1).*linspace(0,0.05,numel(audio))';

audio = audio + noise;

flatness = spectralFlatness(audio,fs);

subplot(2,1,1)
t = linspace(0,size(audio,1)/fs,size(audio,1));
plot(t,audio)
ylabel('Amplitude')

subplot(2,1,2)
t = linspace(0,size(audio,1)/fs,size(flatness,1));
plot(t,flatness)
ylabel('Flatness')
xlabel('Time (s)')

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

Спектральная плоскость была также применена успешно к обнаружению певческого голоса [10] и к аудио распознаванию сцены [11].

Spectral Crest

Спектральный гребень (spectralCrest) измеряет отношение максимума спектра к среднему арифметическому спектра [1]:

crest=max(skϵ[b1,b2])1b2-b1k=b1b2sk

где

  • sk спектральное значение в интервале k. Спектр величины и спектр мощности оба обычно используются.

  • b1 и b2 ребра полосы, в интервалах, по которым можно вычислить спектральный гребень.

Спектральный гребень является индикацией относительно остроконечности спектра. Более высокий спектральный гребень указывает на большее количество тональности, в то время как более низкий спектральный гребень указывает на большее количество шума.

[audio,fs] = audioread('WaveGuideLoopOne-24-96-stereo-10secs.aif');
audio = sum(audio,2)/2;

noise = (2*rand(numel(audio),1)-1).*linspace(0,0.2,numel(audio))';

audio = audio + noise;

crest = spectralCrest(audio,fs);

subplot(2,1,1)
t = linspace(0,size(audio,1)/fs,size(audio,1));
plot(t,audio)
ylabel('Amplitude')

subplot(2,1,2)
t = linspace(0,size(audio,1)/fs,size(crest,1));
plot(t,crest)
ylabel('Crest')
xlabel('Time (s)')

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

Spectral Flux

Спектральный поток (spectralFlux) мера изменчивости спектра в зависимости от времени [12]:

flux(t)=(k=b1b2|sk(t)-sk(t-1)|p)1p

где

  • sk спектральное значение в интервале k. Спектр величины и спектр мощности оба обычно используются.

  • b1 и b2 ребра полосы, в интервалах, по которым можно вычислить спектральный поток.

  • p тип нормы.

Спектральный поток обычно используется в обнаружении начала [13] и аудио сегментация [14]. Например, удары в дорожке ударных соответствуют высокому спектральному потоку.

[audio,fs] = audioread('FunkyDrums-48-stereo-25secs.mp3');
audio = sum(audio,2)/2;

flux = spectralFlux(audio,fs);

subplot(2,1,1)
t = linspace(0,size(audio,1)/fs,size(audio,1));
plot(t,audio)
ylabel('Amplitude')

subplot(2,1,2)
t = linspace(0,size(audio,1)/fs,size(flux,1));
plot(t,flux)
ylabel('Flux')
xlabel('Time (s)')

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

Spectral Slope

Спектральный наклон (spectralSlope) измеряет объем уменьшения спектра [15]:

slope=k=b1b2(fk-μf)(sk-μs)k=b1b2(fk-μf)2

где

  • fk частота в Гц, соответствующем интервалу k.

  • μf средняя частота.

  • sk спектральное значение в интервале k. Спектр величины обычно используется.

  • μs среднее спектральное значение.

  • b1 и b2 ребра полосы, в интервалах, по которым можно вычислить спектральный наклон.

Спектральный наклон использовался экстенсивно в речевом анализе, особенно в моделировании напряжения динамика [19]. Наклон непосредственно связан с резонирующими характеристиками вокальных сгибов и был также применен к идентификации динамика [21]. Спектральный наклон является социально важным аспектом тембра. Спектральная наклонная дискриминация, как показывали, произошла в ранней разработке детства [20]. Спектральный наклон является самым явным, когда энергия в более низких формантах очень больше энергии в более высоких формантах.

[female,femaleFs] = audioread('FemaleSpeech-16-8-mono-3secs.wav');
female = female./max(female);


femaleSlope = spectralSlope(female,femaleFs);
t = linspace(0,size(female,1)/femaleFs,size(femaleSlope,1));
subplot(2,1,1)
spectrogram(female,round(femaleFs*0.05),round(femaleFs*0.04),round(femaleFs*0.05),femaleFs,'yaxis','power')

subplot(2,1,2)
plot(t,femaleSlope)
title('Female Speaker')
ylabel('Slope')
xlabel('Time (s)')

Figure contains 2 axes objects. Axes object 1 contains an object of type image. Axes object 2 with title Female Speaker contains an object of type line.

Spectral Decrease

Спектральное уменьшение (spectralDecrease) представляет объем уменьшения спектра, при подчеркивании наклонов более низких частот [1]:

decrease=k=b1+1b2sk-sb1k-1k=b1+1b2sk

где

  • sk спектральное значение в интервале k. Спектр величины обычно используется.

  • b1 и b2 ребра полосы, в интервалах, по которым можно вычислить спектральное уменьшение.

Спектральное уменьшение используется менее часто, чем спектральный наклон в речевой литературе, но это обычно используется, наряду с наклоном, в анализе музыки. В частности, спектральное уменьшение, как показывали, выполняло хорошо как функция в инструментальном распознавании [22].

[guitar,guitarFs] = audioread('RockGuitar-16-44p1-stereo-72secs.wav');
guitar = mean(guitar,2);
[drums,drumsFs] = audioread('RockDrums-44p1-stereo-11secs.mp3');
drums = mean(drums,2);

guitarDecrease = spectralDecrease(guitar,guitarFs);
drumsDecrease = spectralDecrease(drums,drumsFs);

t1 = linspace(0,size(guitar,1)/guitarFs,size(guitarDecrease,1));
t2 = linspace(0,size(drums,1)/drumsFs,size(drumsDecrease,1));

subplot(2,1,1)
plot(t1,guitarDecrease)
title('Guitar')
ylabel('Decrease')
axis([0 10 -0.3 0.3])

subplot(2,1,2)
plot(t2,drumsDecrease)
title('Drums')
ylabel('Decrease')
xlabel('Time (s)')
axis([0 10 -0.3 0.3])

Figure contains 2 axes objects. Axes object 1 with title Guitar contains an object of type line. Axes object 2 with title Drums contains an object of type line.

Spectral Rolloff Point

Спектральная точка спада (spectralRolloffPoint) измеряет полосу пропускания звукового сигнала путем определения интервала частоты, под которым данный процент полной энергии существует [12]:

RolloffPoint=i  suchthat  k=b1i|sk|=κk=b1b2sk

где

  • sk спектральное значение в интервале k. Спектр величины и спектр мощности оба обычно используются.

  • b1 и b2 ребра полосы, в интервалах, по которым можно вычислить спектральную точку спада.

  • κ заданный энергетический порог, обычно 95% или 85%.

i преобразован в Гц, прежде чем он будет возвращен spectralRolloffPoint.

Спектральная точка спада использовалась, чтобы различать речевую и неречевую речь, дискриминация речи/музыки [12], музыкальная классификация [16] жанров, акустическое распознавание сцены [17], и музыкальную классификацию [18] настроения. Например, наблюдайте различное среднее значение и отклонение точки спада для речи, рок-гитары, акустической гитары и акустической сцены.

dur = 5; % Clip out 5 seconds from each file.

[speech,fs1] = audioread('SpeechDFT-16-8-mono-5secs.wav');
speech = speech(1:min(end,fs1*dur));

[electricGuitar,fs2] = audioread('RockGuitar-16-44p1-stereo-72secs.wav');
electricGuitar = mean(electricGuitar,2); % Convert to mono for comparison.
electricGuitar = electricGuitar(1:fs2*dur);

[acousticGuitar,fs3] = audioread('SoftGuitar-44p1_mono-10mins.ogg');
acousticGuitar = acousticGuitar(1:fs3*dur);

[acousticScene,fs4] = audioread('MainStreetOne-16-16-mono-12secs.wav');
acousticScene = acousticScene(1:fs4*dur);

r1 = spectralRolloffPoint(speech,fs1);
r2 = spectralRolloffPoint(electricGuitar,fs2);
r3 = spectralRolloffPoint(acousticGuitar,fs3);
r4 = spectralRolloffPoint(acousticScene,fs4);

t1 = linspace(0,size(speech,1)/fs1,size(r1,1));
t2 = linspace(0,size(electricGuitar,1)/fs2,size(r2,1));
t3 = linspace(0,size(acousticGuitar,1)/fs3,size(r3,1));
t4 = linspace(0,size(acousticScene,1)/fs4,size(r4,1));

figure
plot(t1,r1)
title('Speech')
ylabel('Rolloff Point (Hz)')
xlabel('Time (s)')
axis([0 5 0 4000])

Figure contains an axes object. The axes object with title Speech contains an object of type line.

figure
plot(t2,r2)
title('Rock Guitar')
ylabel('Rolloff Point (Hz)')
xlabel('Time (s)')
axis([0 5 0 4000])

Figure contains an axes object. The axes object with title Rock Guitar contains an object of type line.

figure
plot(t3,r3)
title('Acoustic Guitar')
ylabel('Rolloff Point (Hz)')
xlabel('Time (s)')
axis([0 5 0 4000])

Figure contains an axes object. The axes object with title Acoustic Guitar contains an object of type line.

figure
plot(t4,r4)
title('Acoustic Scene')
ylabel('Rolloff Point (Hz)')
xlabel('Time (s)')
axis([0 5 0 4000])

Figure contains an axes object. The axes object with title Acoustic Scene contains an object of type line.

Ссылки

[1] Петерс, G. "Большой набор функций аудио для звукового описания (Подобие и классификация) в проекте CUIDADO". Технический отчет; IRCAM: Париж, Франция, 2004.

[2] Серый, Джон М. и Джон В. Гордон. “Перцепционные Эффекты Спектральных Модификаций на Музыкальных Тембрах”. Журнал Акустического Общества Америки. Издание 63, Выпуск 5, 1978, стр 1493–1500.

[3] Raimy, Эрик и Чарльз Э. Кэрнс. Сегмент в фонетике и фонологии. Хобокен, NJ: John Wiley & Sons Inc., 2015.

[4] Джонгмен, Allard, и др. “Акустические Характеристики английских Фрикативных звуков”. Журнал Акустического Общества Америки. Издание 108, Выпуск 3, 2000, стр 1252–1263.

[5] С. Чжан, И. Го и Ц. Чжан, "Устойчивый Речевой Проект Функции Обнаружения Действия На основе Спектрального Эксцесса". Первый Международный семинар на Образовательной Технологии и Информатике, 2009, стр 269–272.

[6] Misra, H., С. Икбэл, Х. Боерлард и Х. Херманский. "Спектральная основанная на энтропии функция устойчивого ASR". 2 004 международных конференции IEEE по вопросам акустики, речи и обработки сигналов.

[7] А. Пикракис, Т. Джиэннэкопулос и С. Зэодоридис. "В вычислительном отношении Эффективный Различитель Речи/Музыки для Радио-Записей". Международная конференция по вопросам Музыкального Информационного поиска и Связанных Действий, 2006.

[8] Pikrakis, A., и др. “Различитель Речи/Музыки Радио-Записей На основе Динамического Программирования и Байесовых Сетей”. Транзакции IEEE на Мультимедиа. Издание 10, Выпуск 5, 2008, стр 846–857.

[9] Джонстон, J.d. “Преобразуйте Кодирование Звуковых сигналов Используя Перцепционные Шумовые Критерии”. Журнал IEEE на Выбранных областях в Коммуникациях. Издание 6, Выпуск 2, 1988, стр 314–323.

[10] Lehner, Бернхард, и др. “На Сокращении Ложных Положительных сторон в Обнаружении Певческого голоса”. 2 014 Международных конференций IEEE по вопросам Акустики, Речи и Обработки сигналов (ICASSP), 2014.

[11] И. Пететин, К. Ларош и А. Майоу, "Глубокие нейронные сети для аудио распознавания сцены", 2 015 23-х европейских конференций по обработке сигналов (EUSIPCO), 2015.

[12] Scheirer, E. и М. Слэни. “Конструкция и Оценка Устойчивого Различителя Речи/Музыки Мультифункции”. 1 997 Международных конференций IEEE по вопросам Акустики, Речи и Обработки сигналов, 1997.

[13] С. Диксон, "Пересмотренное Обнаружение Начала". Международная конференция по вопросам Эффектов Цифрового аудио. Издание 120, 2006, стр 133–137.

[14] Tzanetakis, G. и П. Кук. “Мультипокажите аудио сегментацию для просмотра и аннотации”. Продолжения 1 999 семинаров IEEE по приложениям обработки сигналов к аудио и акустике, 1999.

[15] Lerch, Александр. Введение в аналитические приложения звукового содержимого в информатике обработки сигналов и музыки. Пискатауэй, NJ: нажатие IEEE, 2012.

[16] Литий, дао и М. Оджихара. "Музыкальная классификация жанров с таксономией". Международная конференция IEEE по вопросам акустики, речи и обработки сигналов, 2005.

[17] Eronen, A.j., V.t. Peltonen, J.t. Туоми, A.p. Klapuri, С. Фэджерланд, Т. Сорса, Г. Лорхо и Дж. Хуопэними. "Основанное на аудио Распознавание Контекста". Транзакции IEEE на Аудио, Речи и Обработке Языка. Издание 14, Выпуск 1, 2006, стр 321–329.

[18] Жэнь, Jia-Min, Мин-Цзюй Ву и Джих-Шинг Роджер Дженг. "Автоматическая Музыкальная Классификация Настроения На основе Функций Тембра и Модуляции". Транзакции IEEE на Эмоциональных вычислениях. Издание 6, Выпуск 3, 2015, стр 236–246.

[19] Хансен, Джон Х. Л. и Санджай Патил. "Речь Под Напряжением: Анализ, Моделирование и Распознавание". Читайте лекции Примечаниям в Информатике. Издание 4343, 2007, стр 108–137.

[20] Цанг, Кристин Д. и Лорель Дж. Трейнор. "Спектральная Наклонная Дискриминация в Младенчестве: Чувствительность к Социально Важным Тембрам". Младенческое Поведение и Разработка. Издание 25, Выпуск 2, 2002, стр 183–194.

[21] Murthy, H.a., Ф. Беофейс, L.p. Heck и М. Вейнтроб. "Устойчивая Независимая от текста Идентификация Динамика по Телефонным Каналам". Транзакции IEEE о Речи и Обработке аудиоданных. Издание 7, Выпуск 5, 1999, стр 554–568.

[22] Essid, S., Г. Ричард и Б. Дэвид. "Инструментальное Распознавание в Полифонической Музыке На основе Автоматического Taxonomies". Транзакции IEEE на Аудио, Речи и Обработке Языка. Vol 14, Выпуск 1, 2006, стр 68–80.