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

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. Axes 1 contains an object of type line. Axes 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. Axes 1 contains an object of type line. Axes 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. Axes 1 contains an object of type image. Axes 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. Axes 1 contains an object of type surface. Axes 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 - спектральный спред.

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

[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. Axes 1 contains an object of type line. Axes 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. Axes 1 contains an object of type line. Axes 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. The axes 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. Axes 1 contains an object of type line. Axes 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. Axes 1 contains an object of type line. Axes 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. Axes 1 contains an object of type line. Axes 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. Axes 1 contains an object of type image. Axes 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. Axes 1 with title Guitar contains an object of type line. Axes 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. The axes 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. The axes 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. The axes 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. The axes with title Acoustic Scene contains an object of type line.

Ссылки

[1] Peeters, G. «A Large Set of Audio Features for Sound Description (Simility and Classification) in the CUIDADO Project». Технический отчет; IRCAM: Париж, Франция, 2004.

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

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

[4] Jongman, Allard, et al. «Акустические характеристики английских фрикативов». Журнал Акустического общества Америки. Том 108, Выпуск 3, 2000, стр. 1252-1263.

[5] S. Zhang, Y. Guo, and Q. Zhang, «Robust Voice Activity Detection Проект Based on Spectral Kurtosis». Первый Международный практикум по технологии образования и компьютерным наукам, 2009 год, стр. 269-272.

[6] Misra, H., S. Ikbal, H. Bourlard, and H. Hermansky. «Spectral Entropy Based Feature for Robust ASR». 2004 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[7] А. Пикракис, Т. Джаннакопулос, и С. Теодоридис. «Computationally Effective Speech/Music Discriminator for Radio Recordings» (неопр.) (недоступная ссылка). Международная конференция по поиску музыкальной информации и связанной с ней деятельности, 2006 год.

[8] Pikrakis, A., et al. A Speech/Music Discriminator of Radio Recordings Based on Dynamic Programming and Bayesian Networks (неопр.) (недоступная ссылка) Транзакции IEEE на мультимедиа. Том 10, Выпуск 5, 2008, стр. 846-857.

[9] Джонстон, J.D. «Преобразование кодирования аудиосигналов с использованием критериев перцепционного шума». Журнал IEEE по выбранным областям в коммуникациях. Том 6, Выпуск 2, 1988, стр. 314-323.

[10] Lehner, Bernhard, et al. «О сокращении ложных срабатываний в обнаружении поющего голоса». 2014 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2014.

[11] Y. Petetin, C. Laroche and A. Mayoue, «Глубокие нейронные сети for Audio Scene Recognition», 2015 23-я Европейская конференция по обработке сигналов (EUSIPCO), 2015.

[12] Шейрер, Э. и М. Слейни. Конструкция и оценка робастного дискриминатора Мультифункции речи/музыки. 1997 IEEE International Conference on Acoustics, Speech, and Signal Processing, 1997.

[13] С. Диксон, «Повторное обнаружение начала». Международная конференция по цифровому аудио Эффектов. Том 120, 2006, стр. 133-137.

[14] Цанетакис, Г. и П. Кук. «Мультифеатурная сегментация аудио для просмотра и аннотации». Материалы 1999 семинара IEEE по применению обработки сигналов к аудио и акустике, 1999.

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

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

[17] Eronen, A.J., V.T. Peltonen, J.T. Tuomi, A.P. Klapuri, S. Fagerlund, T. Sorsa, G. Lorho, and J. Huopaniemi. «Распознавание контекста на основе звука». Транзакции IEEE по обработке звука, речи и языка. Том 14, Выпуск 1, 2006, стр. 321-329.

[18] Ren, Jia-Min, Ming-Ju Wu, and Jyh-Shing Roger Jang. Автоматическая классификация настроения музыки на основе функций Timbre и Modulation. Транзакции IEEE на аффективных вычислениях. Том 6, Выпуск 3, 2015, стр. 236-246.

[19] Hansen, John H. L., and Sanjay Patil. «Речь под напряжением: анализ, моделирование и распознавание». Лекции по информатике. Том 4343, 2007, стр. 108-137.

[20] Цанг, Кристин Д. и Лорел Дж. Трейнор. «Спектральная дискриминация по склону в младенчестве: чувствительность к социально важным тембрам». Детское поведение и развитие. Том 25, Выпуск 2, 2002, стр. 183-194.

[21] Murthy, H.A., F. Beaufays, L.p. Heck, and M. Weintraub. «Независимая от текста идентификация динамика по телефонным каналам». Транзакции IEEE по обработке речи и аудио. Том 7, Выпуск 5, 1999, стр. 554-568.

[22] Эссид, С., Г. Ричард и Б. Дэвид. «Распознавание инструментов в полифонической музыке на основе автоматических таксономий». Транзакции IEEE по обработке звука, речи и языка. Том 14, Выпуск 1, 2006, стр. 68-80.