Анализ (идентификация) голоса в Matlab

Автор работы: Пользователь скрыл имя, 02 Июня 2013 в 12:42, курсовая работа

Описание работы

Тоновый диапазон человеческого голоса представлен последовательностью тонов, которые могут быть произведены голосовым аппаратом в пределах границ между самым низким и самым высоким звуками. Человеческий голос обычно включает в себя тоны от 64 до 1300 герц. В двух формах проявления человеческого голоса - пении и разговоре - качества голоса представлены несколько различно. Разговорный голос составляет лишь 110 от общего диапазона голоса. Тоновый охват певческого голоса значительно шире разговорного и зависит от вокального образования. Сила подаваемого звука определяется интенсивностью напряжения голосовых складок и величиной давления воздуха в подсвязочном пространстве. И тот и другой процесс регулируются центральной нервной системой.

Файлы: 1 файл

идентификация голоса.doc

— 838.50 Кб (Скачать файл)
  1. Характеристики голоса

Разложим голос  на составляющие, основными параметрами  являются: 
частота, сила, длительность и тембр, которые, как величины, можно 
анализировать и но отдельности. В действительности, однако, подобный 
анализ не представляет собой реального выражения голоса, поскольку эти 
качества образуют единый неделимый комплекс.

Высота издаваемого  звука зависит от числа колебаний  голосовых складок в 1секунду. Голосовые  складки способны приходить в  колебательные движения не только целиком, всей своей массой, но и отдельными участками. Только этим можно объяснить то, что одни и те же голосовые складки могут колебаться с различной частотой: примерно от 80 до 10 000 колебаний в секунду и даже больше.

Тоновый диапазон человеческого голоса представлен  последовательностью тонов, которые могут быть произведены голосовым аппаратом в пределах границ между самым низким и самым высоким звуками. Человеческий голос обычно включает в себя тоны от 64 до 1300 герц. В двух формах проявления человеческого голоса - пении и разговоре - качества голоса представлены несколько различно. Разговорный голос 
составляет лишь 110 от общего диапазона голоса. Тоновый охват певческого голоса значительно шире разговорного и зависит 
от вокального образования. Сила подаваемого звука определяется интенсивностью напряжения голосовых складок и величиной давления воздуха в подсвязочном пространстве. И тот и другой процесс регулируются центральной нервной системой. Контроль осуществляется с помощью слуха. Если же взаимоотношения между этими процессами нарушаются, например, при крике ужаса, то превалирование давления внутри трахеи вызывает звук, который характеризуется отсутствием чистой тональности.

Ниже представлен  диапазон человеческого голоса (в  Герцах):

- Бас - 75-300

- Баритон - 100-400 
-Тенор - 120-500

-Контральто - 170-780

- Меццо-сопрано - 200-900

-Сопрано - 230-1000

-Колоратурное  сопрано - 260-1400

Для сравнения  приведен частотный диапазон музыкальных  инструментов:

Контрабас - 40-300

Виолончель - 65-880

Альт- 130-1240

Скрипка - 210-2800

Фагот - 60-630

Кларнет- 140-1980

Гобой - 230-1480

Флейта - 240-2300

Туба - 45-320

Тромбон - 80-500

Валторны - 60-740

Труба - 160-990

Таким образом  человеческий голос имеет диапазон звучания от 75 до 110 
Герц, который так или иначе перекрывает (заглушается, смешивается) с 
любым музыкальным инструментом (оптимальная точка - 300 Герц).

Так же необходимо учитывать силу звучания (динамический диапазон) 
данных инструментов.

Динамический  диапазон гитары составляет 15дБ; органа — 35дБ; рояля — 
45дБ; женский голос - 20-35дБ; мужской голос - 20-45дБ, эстрадного 
оркестра-45-55дБ, симфонический оркестр 60-75дБ.

Сообщение, передаваемое с помощью речевого сигнала, — дискретно, 
т.е. может быть представлено в виде последовательности символов из ко- 
нечного их числа. Звуковые символы, из которых составлен речевой сиг- 
нал, называются фонемами.

Речь с физической точки зрения состоит из последовательности зву- 
ков с паузами между их группами. Схема речеобразования у 
человека представлена на рис. 1.

 

Рис. 1 Схема речеобразования у человека

При нормальном темпе речи паузы появляются между  отрывками 
фраз. Как правило, слова произносятся слитно, хотя слушающий воспри- 
нимает слова но отдельности. При замедленном темпе речи, например при 
диктовке, паузы могут делаться между словами и даже их частями. Пред- 
логи, союзы звучат всегда слитно с последующим словом.

Частотный диапазон речи находится в пределах 70 - 1400 Гц.

Один и гот  же звук речи разные люди произносят по-разному. Про- 
изношение звуков речи зависит от ударения, соседних звуков и т. п. Но 
при всем многообразии в их произношении звуки являются физическими 
реализациями (произнесением) ограниченного числа обобщенных звуков 
речи (фонем). Фонема - это то, что человек должен произнести, а звук - то, 
что человек фактически произносит. Фонема по отношению к звуку речи 
играет ту же роль, что и образцовая буква по отношению к ее рукописной 
форме в конкретном написании.

Звуки речи делятся  на звонкие и глухие. Звонкие звуки  образуются с 
участием голосовых связок, в этом случае находящихся в напряженном со- 
стоянии. Под напором воздуха, идущего из легких, они периодически раз- 
двигаются, в результате чего создается прерывистый ноток воздуха. Им- 
пульсы потока воздуха, создаваемые голосовыми связками, с достаточной 
точностью могут считаться периодическими. Соответствующий период 
повторения импульсов называют периодом основного тона голоса Т0- а

обратную величину 1/Т0 - частотой основного тона. Если связки тонкие и 
сильно напряжены, то период получается коротким и частота основного 
тона высокой; для толстых, слабо напряженных связок - низкой. Частота 
основного тона для всех голосов лежит в пределах 70 - 450 Гц. При произ- 
несении речи она непрерывно изменяется в соответствии с ударением, 
подчеркиванием звуков и слов, а также с проявлением эмоций (вопрос, 
восклицание, удивление и т. д.). Изменение частоты основного тона назы- 
вается интонацией. У каждого человека свой диапазон изменения основ- 
ного тона {обычно он бывает немногим более октавы) и своя интонация. 
Последняя имеет большое значение для узнавания говорящего.

Основной тон, интонация, устный почерк и тембр голоса служат для опо- 
знавания человека, и степень достоверности такая же высокая, как по от- 
печаткам пальцев. Импульсы основного тона имеют пилообразную форму, 
и поэтому при их периодическом повторении получается дискретный 
спектр с большим числом гармоник (до 40), частоты которых кратны час- 
тоте основного тона. Огибающая спектра основного тона имеет спад в сто-

рону высоких  частот с крутизной около 6 дБ/окт, поэтому для мужского 
голоса уровень составляющих на частоте 3000 Гц ниже их уровня на час- 
тоте 100 Гц примерно на 30 дБ. При произнесении глухих звуков связки 
находятся в расслабленном состоянии, поток воздуха из легких свободно 
проходит в полость рта. Встречая на своем пути различные преграды в ви- 
де языка, зубов, губ, он образует завихрения, создающие шум со сплош- 
ным спектром.

Согласные по способу  образования делятся на сонорные (л, ль, р, рь. 
м, мь, и, нь, й), щелевые (ж, з, зь, в, вь, ш, с, сь, ф, фь, х, хь), взрывные 
(б, бь, д, дь, г, гь, и, иь, т, ть, к, кь) и аффрикаты (ц, ч — комбинация глу- 
хих взрывных и щелевых). Гласных фонем всего шесть: а, о, у, э, и, ы 
(гласные е, я, ё, ю - составные из и краткого или мягкого знака и гласных 
э, а, о, у).

Звонкие звуки  речи, особенно гласные, имеют высокий уровень ин- 
тенсивности, глухие - самый низкий. Громкость речи непрерывно изменя- 
ется, особенно резко при произнесении взрывных звуков. Динамический 
диапазон уровней речи находится в пределах 35 - 45 дБ. Гласные звуки ре- 
чи имеют в среднем длительность около 0,15 с, согласные - около 0,08 
(звук и - около 30 мс).

Звуки речи неодинаково  информативны. Так, гласные звуки  содер- 
жат малую информацию о смысле речи, а глухие согласные наиболее ин- 
формативны (например, в слове «посылка» последовательность «о, ы, а» 
ничего не говорит, а «п, с, лк» дает почти однозначный ответ о смысле). 
Поэтому разборчивость речи снижается при действии шумов, в первую 
очередь из-за маскировки глухих звуков [6, 7, 8].

Известно, что  для передачи одного и того же сообщения по телегра- 
фу и по речевому тракту требуется различная пропускная способность. Для 
телеграфного сообщения достаточна пропускная способность не более 100 
бит с, а для речевого - около 100 000 бит с (полоса равна 7 000 Гц, дина- 
мический диапазон 42 дБ, т.е. требуется семизначный код, откуда имеем 
2 • 7000 -7=98 000 бит/с), т.е. в 100 раз большая.

Образование звуков речи происходит путем подачи команд к муску- 
лам артикуляционных органов речи от речевого центра мозга. Общий по- 
ток сообщений от него составляет в среднем не более 100 бит/с. Вся ос- 
тальная информация в речевом сигнале называется сопутствующей.

 

  1. Запись и считывание данных из речевого сигнала в MATLAB

В MATLAB предусмотрены средства для воспроизведения и записи 
звука (речи), а также для работы со звуковыми файлами формата wav.

Чтение wav-файлов. Для считывания wav-файлов в MATLAB ис- 
пользуется функция wavread. В простейшем случае она может быть ис- 
пользована следующим образом:

у = wavread ('filename'), 
где 'filename' - имя звукового файла (расширение wav указывать не обяза- 
тельно). В имя файла необходимо включить полный путь, за исключением 
тех случаев, когда файл находится в текущем (для MATLAB) каталоге или 
в одном из каталогов, входящих в список поиска MATLAB. Другой спо- 
соб, не требующий указания имени файла, — полный путь, который заключается в определении местонахождения файла на жестком диске с помощью меню MATLAB.

В результате вызова функции  в переменную у будет помещено все 
содержимое указанного файла. Строки матрицы у соответствуют отсчетам 
сигнала, столбцы - каналам, которых в wav-файле может быть один (моно- 
канал) или два (стереоканал).

Помимо отсчетов сигнала  в wav-файлах хранится и служебная ин- 
формация, которая содержит следующие параметры:

- частоту дискретизации, для определения которой в указанную функ- 
цию необходимо включить второй выходной параметр:

[у, Fs] = wavread ('filename'), 
где Fs — частота дискретизации, Гц;

— число бит на отсчет, для определения которого необходимо добавить 
еще один выходной параметр:

[у, Fs, bils] = wavread ('filename');

— число отсчетов и каналов  записи. Для получения данной информа- 
ции необходимо вызвать функцию   wavread с двумя входными парамет- 
рами: именем файла и текстовой строкой 'size': 
wavesize = wavread ('filename*, 'size').

При вызове такой функции из wav-файла извлекается служебная ин- 
формация, которая возвращается в виде двухэлементного вектор-строки, 
первый элемент которого содержит число отсчетов, второй - число каналов;

— продолжительность звучания сигнала (в секундах), которую можно 
определить следующим образом:

wavesize (1) Fs, 
где 1 указывает на первый параметр вектора wavesize.

Имеются и возможности  считывания данных из wav-файла не цели- 
ком, а отдельными фрагментами. Для этого используется второй входной 
параметр функции wavread. Если этот параметр является числом, будет 
считано соответствующее количество отсчетов, начиная с первого:

у = wavread ('filename', N).

Если нужный фрагмент расположен не в начале файла, придется ука- 
зать его начало и конец:

у = wavread ('filename', [nl, n2]).

В результате в переменную у будут считаны отсчеты с  номерами от 
n1 до n2 включительно (нумерация отсчетов начинается с единицы).

Чтобы узнать объем  памяти (в килобайтах), требуемый  в MATLAB 
для хранения записи, необходимо использовать следующую функцию:

prod (wavesize)*8/1024.

Для просмотра  речевого (звукового) сигнала выведем  его в виде гра- 
фика с помощью следующей функции: 
plot (у).

Если необходимо вывести график по каналам стереозаписи, то при- 
меняют следующие функции:

subplot (2, 1, 1); plot (:, 1); subplot (2, 1, 2); plot (:, 2) или просто 
plot(y).

Если сигнал имеет большую длину, то можно  использовать следую- 
щую функцию (фрагменты выводятся друг иод другом): 
strips (х, N),

где х - вектор отсчетов сигнала (двумерный массив не допускается), N — 
число отсчетов в каждом фрагменте (этот параметр можно опустить, по 
умолчанию размер фрагмента составляет 200 отсчетов).

Запись wav-файлов. Для записи вектора (или матрицы) на диск в 
виде wav-файла используется функция wavwrite'.

wavwrite (у, Fs, N, 'filename'), 
где у — записываемые данные, Fs - частота дискретизации, Гц, N — число 
бит на отсчет (8 или 16), 'filename' - имя создаваемого файла. Параметры 
Fs и N можно опускать, при этом используются значения по умолчанию: 
Fs = 8 000 Гц, N= 16.

Записываемые  данные должны быть вещественными и  лежать в диа- 
пазоне от —1 до 1. Значения, выходящие из этого диапазона, будут обреза- 
ны и сделаны равными.

Воспроизведение звуковых файлов. Помимо работы с wav-файлами можно воспроизводить вектор и матрицу в звуковом в виде с использованием следующих функций:

— sound, синтаксис которой записывается следующим образом:

sound (у, Fs, bits),

где у — вектор или двухстолбцовая матрица сигнала, Fs — частота дискретизации, Гц, bits - число бит на отсчет (8 или 16).

Параметры Fs и bits можно опускать, при этом их значения будут 
приниматься по умолчанию.

Выходных параметров у у функции нет. После вызова она передает 
вектор у звуковой карте для воспроизведения и сразу же, не дожидаясь 
окончания звука, возвращает управление MATLAB;

— wavplay, синтаксис которой имеет следующий вид:

wavplay (у, Fs, 'mode'), 
где параметр mode управляет режимом воспроизведения, который может 
принимать два значения:

- 'sync' - синхронный режим, означающий что функция вернет управ- 
ление интерпретатору MATLAB только после окончание звука;

— 'async' — асинхронный режим, при котором функция передает дан- 
ные для воспроизведения звуковым драйверам Windows и сразу же воз- 
вращает управление системе MATLAB. не дожидаясь окончания звука.

Параметры Fs и mode можно опускать, при этом их значения при- 
нимаются по умолчанию: Fs =11025 Гц и 'mode' = 'async'.

Запись звука (речи). Функция wavrecord позволяет записать звук в 
неременную MATLAB с помощью звуковой карты компьютера:

Информация о работе Анализ (идентификация) голоса в Matlab