На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD, nsh
  
> Фонемное распознавание речи
    Фонемное распознавание речи – это естественная раскодировка речи, которая перед этим была закодирована в голосовом и носовом трактах человеком. Класики (Фант и др. ) доказали, что человек производит фонемы в голосовом и носовом трактах.

    Нам, кажется, что мы читаем не буквы, а слова. Однако фонемный анализ человек производит с большой скоростью - на уровне рефлексов. Например, машинистка печатает слова. Мозг машинистки их слышит, производит их фонемный анализ, и подает сигналы на ее пальцы. У меня была знакомая машинистка. Так старые компы не поспевали зе ее печатанием. Такая у нее былы скорсть раскодировки фонем на слова
    В книге Чистович, есть раздел - «ЭКСПЕРИМЕНТАЛЬНЫЕ ДОКАЗАТЕЛЬСТВА ВЫДЕЛЕНИЯ ОТРЕЗКОВ ГЛАСНЫХ ЗВУКОВ В РЕЧЕВОМ СИГНАЛЕ». В нем экспериментально доказывается, что человек умеет выделять гласные.
    Чистович, Венцов, Гранстрем, и др., Физиология речи. Восприятие речи человеком. Наука, 1976. Можно найти в Инете

    В данный момент практически решена задача выделения фонем из речи
    Фирма ”ИстраСофт” для русских фонем
    http://www.istrasoft.ru/speech.html#algorithm
    Американская Фирма Fast-Talk Communications для американских фонем:
    Цитата
    Американская Fast-Talk Communications представила новую технологию поиска текстовых фрагментов в звуковых файлах. Подобный инструментарий может оказаться весьма полезным для компаний, обрабатывающих значительные объемы речевой информации. Новая технология может пригодиться и журналистам, у которых отпадет необходимость в длительной и трудоемкой расшифровке интервью.

    http://www.compulenta.ru/2002/12/23/36553/
    http://www.russianamerica.com/common/arc/story.php?id_cat=18&id=30615&PHPSESSID=8ab6a3f14c82dc8d18a7eddbbf99ee7e

    Уже реально используется фонемный подход к распознаванию речи.
    Цитата
    Главный продукт Philips Speech Processing, ведущего мирового производителя систем распознавания речи в телефонии, — SpeechPearl — набор программных модулей, библиотек и утилит для разработки систем распознавания речи для телефонных приложений, включающий поддержку русского языка на основе русских фонем.

    http://celler.ru/forum/index-22/topic-4537.html
    http://www.telecomforum.ru/1sthand/2004/06/0901.htm

    Пофонемное распознавание 1.0
    http://softsearch.ru/programs/102-902-pofonemnoe-raspoznavanie-download.shtml

    Просьба к форумчанам, если кто знает материал по этой тематике, то пусть сообщит.
    Особенно интересны алгоритмы по выделению фонем из слов в реальном времени, а также свои соображения как это сделать.
    За этим подходом будущее - это верняк
    Сообщение отредактировано: grisania -
      Один из алгоритмов выделения фонем
      On the Relation Between Maximum Spectral Transition Positions and Phone Boundaries
        Несколько статей по фоненому распознаванию речи:

        http://www.seas.upenn.edu/~jan/Files/icasspFrictvs98.pdf
        http://www.catalyst-foundation.org/Recipients/Projects/U_Pen-1995-2001.html
        http://www.seas.upenn.edu/~jan/Files/ICASP01StopCns.pdf
        http://www.seas.upenn.edu/~jan/Files/Iscas99Speech.pdf

        Может будет интересно кому-нибудь
          Фонемы реально существую в разборчивой речи и их можно не только слышать, но и реально видеть в спектрограммах.
          Самое интересное, что распознавание фонем можно перевести в распознание зрительных образов. Это так называемые спектрограммы. На ней фонемы слов видны, т.е получается что-то типа азбуки Морзе.
          Р.В. Поль «Механика, акустика, и учение о теплоте» Москва, 1971, стр. 330.
          Там он пишет, что после достаточных упражнений ее можно читать. Вроде этот подход пытались использовать для восприятия звука глухонемыми. То есть использовать, известный факт, что человек слышит мгновенный спектр.

          Есть такая прога Wavesurfe. В ней есть возможность загрузить файл предложения из TIMIT из базы, разбитый на фонемы и эта прога сделает спектрограмму предложения. Внизу этой спектрограммы дается реальное разбиение слов на фонемы закаченное из отдельного файла TIMIT базы. Тогда на этой спектрограмме фонемы видны на ней самой и действительно, после достаточных упражнений слова можно читать по их спектрограмме.
          Если кто-то реально готов это обсуждать этот подход к распознаванию речи, то я могу указать, где лежит TIMIT база в инете. Прога Wavesurfe легко находится в инете. О таком подходе к распознаванию речи амеры написали кучу статей. Могу дать ссылки.
          В матлабе также можно видеть разбиение слов на фонемы закаченное из отдельного файла TIMIT базы. Но там есть только огибающая спектра.
          Я счас пытаюсь это связать со своим подходом.
            Если не трудно, подкиньте ссылку на TIMIT.
              Цитата phoenix367 @
              Если не трудно, подкиньте ссылку на TIMIT.

              Зачем тебе TIMIT?
                За тем же самым, что и тебе - для обучения и проверки системы распознавания речи. Меня так же инетерсует проблема пофонемного распознавания речи. Я хочу проверить применимость метода минимума информационного рассогласования для распознавания фонем. А для этого их сначала надо где-то взять.
                  Цитата phoenix367 @
                  За тем же самым, что и тебе - для обучения и проверки системы распознавания речи. Меня так же инетерсует проблема пофонемного распознавания речи. Я хочу проверить применимость метода минимума информационного рассогласования для распознавания фонем. А для этого их сначала надо где-то взять.

                  Что такое метод минимума информационного рассогласования для распознавания фонем?
                  Где взять TIMIT сообщу в личку.
                  Сообщение отредактировано: grisania -
                    В матлабе можно видеть разбиение слов на фонемы закаченное из отдельного файла TIMIT базы с раширением .phn.
                    Для этого можно скачать набор прог COLEA: A Matlab Software Tool for Speech Analysis
                    http://www.utdallas.edu/~loizou/speech/colea.htm

                    Там есть возможность отобразить разбиение слов на фонемы:
                    Displays time-aligned phonetic transcriptions (e.g., TIMIT's .phn files) - see example Figure above
                    Несколько модельных файлов .phn, показывающих как это делается, входят в набор COLEA.
                      Ссылок на статьи по критерию МИР у меня сейчас нет, так что поищи на яндексе по следующим названиям:
                      "Распознавание речевых сигналов на основе метода обеляющего фильтра"
                      "Распознавание речевых сигналов на основе корреляционного метода"
                      "Распознавание дикторов по методу обеляющего фильтра"
                      "Распознавание речевых сигналов на основе метода спектрального оценивания"
                      Могу прислать еще статьи, которые не опубликованы в интернете.
                      От себя добавлю, что наиболее эффективным является распознавание в частотной области, при использовании авторегрессионной модели и выборе в качестве эталонов усредненных по гармоническому закону всех спектров реализаций из обучающей выборки по каждому слову. Распознавание фонем можно производить аналогично тем методам, что применяются в указанных выше статьях. Главное - иметь эффективный метод выделения границ фонем. Мне обещали принести статью по новому методу распознавания фонем. Вроде бы что-то там у них получилось.
                      А пока идея следующая - написать программу, которая производит распознавание по уже размеченной фразе и проанализировать результаты.
                        Слушайте, а давайте всё таки вернёмся к последовательности действий и их обоснованию:

                        1. Акустический сигнал сигнал до частотной обработки в ухе, проходит амплитудную - АРУ , как защита от сверхуровней, ну и некоторая нелинейность обусловленная механо-анатомическими свойствами (функция более-менее известна).
                        2. Ухо, совершенно однозначно, производит построение спектрального представления акустического сигнала (тоже не очень важно с какой разрешающей способностью и какова нелинейность частотной шкалы - хотя более или менее известно)
                        3. Спектр поступает уже в мозг на дальнейшую обработку-интерпретацию.


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

                        А работа с "усреднёнными спектрами" это извините бред. Я записал "ми" (зачем Вам база - с одной фонемой поработайте) четырёх сотрудников - спектры близко не лежали, ничего похожего (ну ни ничего, а мало).

                        А вот когда сочиним признаки, вот как их обсчитать это уже дело вкуса и принципиального значения не имеет.
                        Сообщение отредактировано: decan -
                          2phoenix367
                          прислать прогу на матлабе, которая бьет ТIMIT на фонемы.
                          Задаешь каталоги, на которые надо рассортировать фонемы, например, звонкие и шумные в отдельные каталоги.
                          также могу выложить в ftp статью, в которой находится начало формант. Ее автор мой знакомый.

                          Добавлено
                          Цитата decan @
                          2. Ухо, совершенно однозначно, производит построение спектрального представления акустического сигнала (тоже не очень важно с какой разрешающей способностью и какова нелинейность частотной шкалы - хотя более или менее известно)


                          Тут вот нашел такое, прокоментируйте:
                          Цитата
                          По современным представлениям слух использует два разных алгоритма кодирования сигнала.
                          1. На частотах до 3-4 кГц кодируется форма сигнала. Нейроны имеют разные пороги срабатывания, поэтому сигнал кодируется номером нейрона с самым высоким порогом и числом сработавших нейронов. Однако частота следования импульсов в отдельно взятом нейроне не может превышать 300-400 Гц, т.к. на выделение медиатора и восстановление электрического равновесия уходит 1-2 мс. Поэтому на средних частотах близкорасположенные нейроны объединяются в группу (до 10 нейронов) и возбуждаются периодами сигнала по очереди (это положение называется теорией залпов). Этот алгоритм требует периодической структуры сигнала на протяжение порядка 10 периодов, что в частотной области означает узкополосный сигнал с шириной полосы около 300-400 Гц. Это обеспечивается функциональной фильтрацией сигнала в улитке. Таким образом, диапазон частот кодируемого сигнала достигает 3-4 кГц.
                          2. На частотах выше 4 кГц возможности организации последовательной работы нейронов исчерпываются, и кодируется не сам сигнал, а его огибающая. Сигнал нейрона уже не несет информации о частоте, частотная информация извлекается из точки его подключения к коритеву органу. Иными словами, для определения высоты тона используется положение максимума амплитуды бегущей волны на основной мембране.

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

                          1. Разрешающая способность по частоте в диапазоне высоких частот заметно падает.
                          2. Наиболее важным становится наличие высокочастотного сигнала с определенной огибающей и не столь важно, какая у него частота заполнения (в пределах трети октавы).
                          3. Если огибающая высокочастотного сигнала является периодическим сигналом звуковой частоты, то ее частота и воспринимается в качестве высоты тона. В спектральной области это означает, что в качестве высоты тона воспринимается не какая-либо физически существующая частота, а период сложного сигнала.
                          3. Разделимость сигналов нескольких источников заметно падает, если они не содержат спектральных составляющих ниже 4 кГц. Если же низкочастотные составляющие присутствуют, то разделение, вероятно, производится "присоединением" высокочастотного призвука к низкочастотному сигналу со сходным поведением во времени.

                          Итого: до 4 кГц царство тонального звука (деревянные духовые, фортепиано), а выше - царство нетонального (атаки, щипки струн и т.д.)

                          http://inform-hifi.narod.ru/6.htm
                          Сообщение отредактировано: grisania -
                            [QUOTE=grisania,1152178494,1166415]Тут вот нашел такое, прокоментируйте:
                            [QUOTE]По современным представлениям слух использует два разных алгоритма кодирования сигнала.
                            1. На частотах до 3-4 кГц кодируется форма сигнала. Нейроны имеют разные пороги срабатывания, поэтому сигнал кодируется номером нейрона с самым высоким порогом и числом сработавших нейронов. Однако частота следования импульсов в отдельно взятом нейроне не может превышать 300-400 Гц, т.к. на выделение медиатора и восстановление электрического равновесия уходит 1-2 мс. Поэтому на средних частотах близкорасположенные нейроны объединяются в группу (до 10 нейронов) и возбуждаются периодами сигнала по очереди (это положение называется теорией залпов). Этот алгоритм требует периодической структуры сигнала на протяжение порядка 10 периодов, что в частотной области означает узкополосный сигнал с шириной полосы около 300-400 Гц. Это обеспечивается функциональной фильтрацией сигнала в улитке. Таким образом, диапазон частот кодируемого сигнала достигает 3-4 кГц.
                            2. На частотах выше 4 кГц возможности организации последовательной работы нейронов исчерпываются, и кодируется не сам сигнал, а его огибающая. Сигнал нейрона уже не несет информации о частоте, частотная информация извлекается из точки его подключения к коритеву органу. Иными словами, для определения высоты тона используется положение максимума амплитуды бегущей волны на основной мембране.[/QUOTE]


                            Что такое форма сигнала? Понятие "форма сигнала" уместно для временнОй области, а для частотной форма спектра. Ну а если кодируется форма спектра, это и понятно - спектр это суть форма его. Каким образом до мозга доносится форма спектра - по-моему абсолютно неважно, одним нейроном, сотней нейронов или ещё как, ычто нам это даёт.
                            Мне вообще кажется , что из моря информации, с которой приходится иметь дело, надо отфильтровывать всякую шелуху посвящённую диссертациям и отработкам грантов.
                            Касательно п.2 - то нас не интересует сигнал выше 3,5-4 кГц
                            Сообщение отредактировано: decan -
                              Цитата decan @
                              Что такое форма сигнала? Понятие "форма сигнала" уместно для временнОй области, а для частотной форма спектра. Ну а если кодируется форма спектра, это и понятно - спектр это суть форма его. Каким образом до мозга доносится форма спектра - по-моему абсолютно неважно, одним нейроном, сотней нейронов или ещё как, ычто нам это даёт.

                              Я так понимаю, что временной области.
                              Я пока думаю как обезьяна. Истрасофт вроде все делает гребенкой адаптивных фильтров. Гребенка дает спектр разбитый на полосы, т.е. огибающая всего спектра апроксимируется ступеньками. Но это хорошо для шумовых фонем, а периодичевких звонких звуков как быть.
                              Здесь как мне кажется написано важная вещь, которая мне как математику ясная.
                              Цитата
                              Как известно, периодичность звонких звуков выражается в частотной области в том, что их спектр имеет линейчатый характер, причем соседние пики (спектральные максимумы) отчтоят друг от друга на интервал (в частотной области) равный частоте основного тона.. Поэтому, если гребенка фильтров такова, что гармоники основного тона (спектральные пики) попадают в полосы пропускания, то можно расссчитывать на повышение качества речевого сигнала.
                              http://www.ccas.ru/depart/chuchu/publics/Public_98.pdf

                              Мне кажется, что надо идти по пути всяких мпегов, которые уберают маскирующие гармоники, и делают максимуми спектров острыми.

                              Цитата
                              В настоящее время наиболее известны Audio MPEG, PASC и ATRAC. Все они
                              используют так называемое "кодирование воспринимаемого" (perceptual
                              coding) при котором из звукового сигнала удаляется информация, малозаметная для слуха. В результате, несмотря на изменение формы и спектра сигнала, его слуховое восприятие практически не меняется, а степень сжатия оправдывает незначительное уменьшение качества. Такое кодирование относится к методам сжатия с потерями (lossy compression), когда из сжатого сигнала уже невозможно точно восстановить исходную волновую форму.

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

                              http://www.opennet.ru/base/muzfaq/DGAUDFAQ.TXT.txt.html
                              Ребята, создающие способы сжатия звкуа не пишут диссертации и не отработатывают гранты. Поэтому надо их знания использовать.
                              То есть я хочу фонемы сжимать мпегом, а потом подавать на распознавание.
                              Кстати, где прочитать про эти Audio MPEG, PASC и ATRAC.
                              Конечно, пока пишу все сумбурно.
                                Я, собственно, не очень понимаю, зачем чего-то чем-то сжимать. Вполне достаточно синтезировать фильтр или банк фильтров с соответсвующей АЧХ.

                                Добавлено
                                А товарищи из "ИстраСофт", думаю идут вот по какому пути: если изменение спектра и/или мощность сигнала больше какого-нибудь заданного значения, то значит мы достигли границы фонемы. Хотя эти границы не обязательно будут являться границами фонем, но для простого сжатия и так сойдет.
                                  Цитата phoenix367 @
                                  Я, собственно, не очень понимаю, зачем чего-то чем-то сжимать. Вполне достаточно синтезировать фильтр или банк фильтров с соответсвующей АЧХ.

                                  Максимумы спектра прыгают, поэтому АЧХ не очень сделаешь. Значит, надо каждый раз свои фильтры синтезировать или банк фильтров с соответсвующей АЧХ. Как это делать я не знаю.
                                  У меня плохо распознаются "m" и "n", может надо их очистить от маскирущих гармоник. Как я понинаю они вообще мне нужны для гласных. Они для для гласных - шум . Если это гласная, а она периодичский сигнал, имеющия свои тон и обертоны. Эти маскирущих гармоники только разнообразят говорящих.
                                    grisania
                                    А обращали Вы внимание, что высшие гармоники гласных (это видно в сигнале во временной области) как бы и не гармоники, а просто сильно похожи на гармоники по частоте.
                                    Т.е. сигнал Гласной не периодический , а почти периодический.
                                      Если плохо распознаются можно воспользоваться методом переопределенного словаря. Основная идея этого метода состоит в том, что один и тот же сигнал пропускается через несколько фильтров, настроенных на различные его вариации. Затем выбирается наилучший результат. Обычно для резкого повышения вероятности правильного распознавания достаточно добавить 1 - 2 фильтра. У меня есть статья одного профессора, где этот метод рассмотрен более подробно, и программа, позволяющая строить дерево таких фильтров. Если надо - могу прислать.

                                      ЗЫ: вышли, пожалуйста, мне свою программу распознавания фонем.
                                        Цитата decan @
                                        А обращали Вы внимание, что высшие гармоники гласных (это видно в сигнале во временной области) как бы и не гармоники, а просто сильно похожи на гармоники по частоте.
                                        Т.е. сигнал Гласной не периодический , а почти периодический.

                                        Когда смотришь во времени то и мне все гласные почти периодические.
                                        В начале для гласных идет атака - это импульс, поэтому первая форманта наверно не очень связана с периодическим воздействием, а потом только гласная становится перидической. В атаке участвует возрастающая синусоида. Атака должна быть в любом случае, так как до произношения гласной она ноль, а потом гласная появляется. Значит спектр атаки по любому нерерывный, но потом он становится дискретным, если успеет для речи. Для музыки да. Об этом явлении хорошо написано здесь: http://model.exponenta.ru/bt/bt_001124.html

                                        Цитата Федосов Борис Трофимович
                                        А можно ли модифицировать спектральный метод так, чтобы все сигналы, например те же синусоиды, начинались не в минус бесконечности, а в нулевой или другой момент времени и учесть НУ в это момент?
                                        Да, в принципе можно, но, при этом придется взять в качестве элементарных компонент разложения сигнала синусоиды, начинающиеся в нулевой момент времени, а такие сигналы уже не просто синусоиды со спектром, состоящим из одной дискреты, их спектр непрерывен:
                                        ----------------------------------------------------------------------------------
                                        Синусоида, начинающаяся в нулевой момент времени и далее длящаяся до бесконечности не является периодическим сигналом. Поэтому ее спектр непрерывен, т.е. для такого сигнала нельзя указать отдельно одну амплитудную и одну фазовую составляющие.
                                        ...........................................................................................
                                        Отметим, что лапласово изображение синусоиды, начинающейся в нуле, в отличие от ее спектра имеет достаточно простой вид (см. рис. 3.8).
                                        .................................
                                        Что же позволяет операторному методу учитывать начальные условия? В нем предполагается, что все сигналы, подаваемые на систему, начинаются не раньше, чем в нулевой момент времени. Точнее, если использовать теорему об изображении задержанного сигнала, то область аргументов можно расширить и на отрицательные конечные значения времени, но это не изменяет существа дела. Изображение Лапласа, в отличие от спектра, использующего для представления сигнала только синусоиды, использует значительно более широкий класс элементарных сигналов, т.н. э-синусоиды, синусоиды различных частот и начальных фаз, амплитуды которых увеличиваются или уменьшаются с течением времени по экспоненциальному закону

                                        Поэтому наверно музыкальные звуки раскладывают на возрастающие и затухающие синусоиды по методу Прони. Для музыкальных сигналов, например, предлагают раскладывать звуковые сигналы по затухающим синусоидам.
                                        http://old.computerra.ru/offline/1998/260/1493/
                                        Для этого есть алгоритмы по разложению сигналов в виде суммы затухающих или нарастающих синусоид, частоты которых вычисляются по формулам Прони.
                                        Сообщение отредактировано: grisania -
                                          Цитата phoenix367 @
                                          У меня есть статья одного профессора, где этот метод рассмотрен более подробно, и программа, позволяющая строить дерево таких фильтров. Если надо - могу прислать.

                                          положи статью ентого профессора в ftp, где лежать проги для различения "s" и "sh" и который я указал тебе в письме в личку.
                                          Сообщение отредактировано: grisania -
                                            Я бы конечно рад положить статью, да только ftp у тебя read only.
                                            А статья про форманты есть в русском варианте, или хотя бы английском?
                                              Цитата phoenix367 @
                                              Я бы конечно рад положить статью, да только ftp у тебя read only.
                                              А статья про форманты есть в русском варианте, или хотя бы английском?

                                              Только что проверил, можно читать и писать .
                                              Там же лежит статья про форманты в pdf на англицком, автор Lipeika.
                                              Я пользуюсь программой для работы с файлами CuteFTP . Ее можно скачать с http://physicsbooks.narod.ru/.
                                                Сорри, я совсем запарил, что ftp-шник русские имена файлов не принимает :) В корне у тебя лежит файл optimizatziya_slovarya.doc со статьей. А статья Lipeika там на литовском или латвийском, а на английском только summary.
                                                  Цитата decan @
                                                  Во-первых обрабатывается не мнгновенный спектр, а динамический так называемая сонограмма

                                                  Как я это понимаю. Начался звуковой сигнал. Тогда нас интересует, частоты которые все время локализуют энергию, т.е. от начала атаки и до затухания сигнала - конца фонемы. Это и есть форманты. Это не реально, пока мы не имеем весь сигнал. Теперь допустим, что пусть мы знаем эти частоты, что это нам даст. Зная частоты мы не сможет узнать когда начинается затухание, так как у нас нет динамики спектра. Можно наблюдать текущий спектр, но его не очень посчитаешь в реальном времени.
                                                  Но как можно извлечь частоты, которые все время локализуют энергию из сонограммы. В начале атака, которая имеет непрерывный спектр 10 мс, т.е. все частоты возбудились. Сдвигаю кадр на 10 мс и опять смотрю спектр. Если теперь разрезать спектр на n полос, то формально можно усреднить спектр в каждой полосе. Тогда формально у нас уже не один сигнал во времени, а n сигналов, развивающихся во времени. Где каждый из этих сигналов дает динамическое изменение сигнала на своей центральной частоте. Ясно, что мы таким образом чувствуем время, а значит и ухо с головой человека чувствует время. Реально в виде картинки мы это можем видеть на сонограмме как изменяется динамически спектральное содержание сигнала. Но это производная по времени накопления энергии на центральной частоте полосы. Если она растет, то это форманта. Но как она растет - быстро или медленно.
                                                  Если практически везде по n сигналам начался спад, то это конец фонемы. Значит, нам и время конца фонемы будет известно.
                                                  Конечно для этих n сигналов, развивающихся во времени (динамического развития спектра) можно применить метод главных компонент.
                                                  Вроде все понятно, но надо писать проги и на TIMIT прокручивать. Но может это сделано.

                                                  Добавлено
                                                  Цитата phoenix367 @
                                                  А статья Lipeika там на литовском или латвийском, а на английском только summary

                                                  Ссори я не посматрел, вроде у него есть на англицком. Вообще он вседа пишет на англицком. Попрошу если очень нужна. На эту тему есть на русском:
                                                  Бабкин В.В., Помехоустойчивый выделитель основного тона
                                                  http://www.dsp.sut.ru/rus/research/publications/download/2005dspa_robust_pda.pdf
                                                  Сообщение отредактировано: grisania -
                                                    К большому сожалению matlab у меня отказался загружать файл infa_filtry.mat, но суть используемого метода мне ясна. Я промоделировал распознавание по методу обеляющего фильтра. При этом в качестве эталонов использовались усредненные СПМ. Вероятности правильного распознавания фонем из тестовой последовательности составили 0.7873 и 0.9353 соответсвенно. Проблемы с распознаванием 's' в принципе лечатся использованием метода переопределенного словаря. А у тебя какие результаты получились?
                                                      Цитата phoenix367 @
                                                      При этом в качестве эталонов использовались усредненные СПМ. Вероятности правильного распознавания фонем из тестовой последовательности составили 0.7873 и 0.9353 соответсвенно. Проблемы с распознаванием 's' в принципе лечатся использованием метода переопределенного словаря. А у тебя какие результаты получились?

                                                      Только что пропустил и результаты такие:
                                                      Chislo otscetov = razmernost prostranstva
                                                      Chislo otscetov=> 512
                                                      -------------------------------------------------
                                                      Skolko znacimyh sobst znacenij pervogo filtra=> 231
                                                      Skolko pochti nulevyh sobst znacenij pervogo filtra=> 281
                                                      Porog obrezki pochti nulevyh znacenij pervogo filtra=> 0.0005
                                                      -------------------------------------------------
                                                      Skolko znacimyh sobst znacenij vtorogo filtra=> 146
                                                      Skolko pochti nulevyh sobst znacenij vtorogo filtra=> 366
                                                      Porog obrezki pochti nulevyh znacenij vtorogo filtra=> 0.0005
                                                      -------------------------------------------------
                                                      Podscet procenta raspoznavanija fonem
                                                      1-ogo klassa fonem raspoznano=> 89.7822%
                                                      2-ogo klassa fonem raspoznano=> 85.9649%
                                                      -------------------------------------------------
                                                      Kolicestvo fonem dlia obucenija
                                                      dlia obucenija 1-ogo klassa ispolzovano fonem=> 1878
                                                      dlia obucenija 2-ogo klassa ispolzovano fonem=> 562
                                                      -------------------------------------------------
                                                      Kolicestvo fonem dlia testirovanija
                                                      dlia testirovanija 1-ogo klassa ispolzovano fonem=> 597
                                                      dlia testirovanija 2-ogo klassa ispolzovano fonem=> 171-----------------------------------------------------------
                                                      1-ой класс - это у меня \s\, 2-ой \sh\. Не понял, что такое усредненные СПМ. Чтобы сравнивать, надо гонять одинаковые выборки.
                                                      Самое главное, у меня тестируются совершенно независимые дикторы от обучающей выборки. На обучающей выборке результаты еще лучше.
                                                      -------------------------------------------------
                                                      Podscet procenta raspoznavanija fonem
                                                      1-ogo klassa fonem raspoznano=> 94.3024%
                                                      2-ogo klassa fonem raspoznano=> 96.7972%
                                                      -------------------------------------------------
                                                      Kolicestvo fonem dlia obucenija
                                                      dlia obucenija 1-ogo klassa ispolzovano fonem=> 1878
                                                      dlia obucenija 2-ogo klassa ispolzovano fonem=> 562
                                                      -------------------------------------------------
                                                      Kolicestvo fonem dlia testirovanija
                                                      dlia testirovanija 1-ogo klassa ispolzovano fonem=> 1878
                                                      dlia testirovanija 2-ogo klassa ispolzovano fonem=> 562

                                                      Значит, если обучаться на конкретном человеке, и его распознавать, то распознавание будет очень хорошим
                                                        Я тестировал свою программу распознавания на наборе из нескольких фонем одного диктора. Результаты что-то не очень если распозновать одновременно гласные и согласные звуки. Поэтому нужно как-то предварительно классифицировать фонемы, что бы повысить процент распознавания.
                                                        К тебе на ftp я закинул свою программу, реализующую метод переопределенного словаря вместе с обучающей и тестовой базами. Все это находиться в каталоге MIR. Я так же немного модифицировал алгоритм обучения и результаты распознавания улучшились.

                                                        Интересно, какой результат даст применение переопределенного словаря вместе с методом главных компонент.
                                                        Кстати, выложи еще программу, генерирующию файл infa_filtry.mat. А то из тех результаов, что есть не получается сделать вывод, какой из алгоритмов лучше.
                                                          Цитата phoenix367 @
                                                          Поэтому нужно как-то предварительно классифицировать фонемы, что бы повысить процент распознавания.

                                                          Я тут раз 20 писал, что надо применять признаки Якобсона. Они хорошо бьют фонемы на бинарные классы. Этих 12 бинарных классов достаточно, чтобы вообще все фонемы расклассифицировать. Но честно говоря, я не нашел в инете четкого описания этих классов. Все о них говорят, но четко не описывают. Какой-то дурдом. Также не нашел описания амеровских бинарных классов. Нашел только у Сапожникова в его старой книжке, там есть интересные мысли про то, как бить на классы, используя наблюдения за спектром.
                                                          На классы можно бить по-разному. Например, иерахически
                                                          ANALYSIS OF VOCAL PHONEMES AND FRICATIVE CONSONANT DISCRIMINATION BASED ON PHONETIC ACOUSTICS FEATURES
                                                          http://itc.ktu.lt/itc343/Driaunys343.pdf
                                                          Я на тему как бить на классы набрал много всякого материала амеровского. Надо как-то систематизировать. Я хочу это приспособить для сегментации фонем. Мне кажется, что и сегментировать надо сначало на классы, а потом в классе уточнять какая фонема началась.
                                                          Я у себя делаю революцию, наконец новую компу купил очень сильную для меня. Даже взял 2-ух ядерный интелловский процессор и диски RAID. Буду с компом возиться.
                                                          Сообщение отредактировано: grisania -
                                                            grisania
                                                            Что за книга Сапожникова?
                                                              Цитата decan @
                                                              Что за книга Сапожникова?

                                                              М.А Сапожков: "Речевой сигнал в кибернетике и связи"
                                                              Я ее отсканировал и занимает в pdf 128 MB. Вообще любопытная книжонка. Там есть бинарные признаки по Якобсону для русских фонем (стр. 330). Популярно можно прочитать об признаках Якобсона в книге: Ф.Кондратов "Звуки знаки".
                                                              Также есть иерархическая структура разбиения амеровских фонем на классы стр. 328.
                                                              По этой классификации все фонемы делятся на глухие и звонкие.
                                                              Глухие. Глухие делятся на взрывные и шипящие. Последние делятся еще на 2 класса (в одном "с" и "ш", а в другом "ф" и "х"). И наконец эти звуки делятся на отдельные звуки.
                                                              Звонкие. Звонкие делятся на шумные и шумные.
                                                              Шумовые . Шумовые на звонкие взрывные и шипящие.
                                                              Нешумные . Нешумные на гласные и сонорные.
                                                              Гласные. Гласные на высокие и низкие, а каждый из этих классов на диффузные и компактные.
                                                              Одним словом если делать как у меня распознавания, то получается последовательность фильтров, где каждый фильтр что-то нехорошее отфильтровывает.
                                                              Но пока на моем старом компе это муторно делать.
                                                              Но самое интересное, что эти деления имеют спектральное объяснение.
                                                              Фильтр глухие и звонкие. В этом фильтре разделение производится по признаку наличия или отсутствия основного тона.
                                                              Звонкие шумные и нешумные. В этом фильтре разделение производится по наличию шумового (турбулентного) спектра.
                                                              Звонкие нешумные имеют большую интенсивность спектра в области 1-ой форманты.
                                                              Звонкие шумовые имеют большую интенсивность спектра в высокочастотной области. Как пишет Сапожников этот метод давал точность выделения шумовых звуков до 95%.
                                                              Разделение гласных и сонорных основано на принципе сравнения уровней спектра в различных областях частотного диапазона с учетов фактора веса. Имеется таблица, где приведены ширины полос фильтров и фактор веса. Точность разделения гласных на высокие и низкие составила для мужских голосов 98%, а для женских 94%. На точность разделения сонорных влияют соседние гласные звуки. Например, у меня похо распознаются сонорные "м" и "н". Надо действительно посмотреть соседние гласные звуки.
                                                              Разделение глухих на взрывные и шипящие производится по уровню напряжения на начальном участке звука, вроде точность разделения высокая.
                                                              А с моими любими "с" и "ш" так расправились так: у "с" переходов через ноль больше чем у "ш".
                                                              Но, к сожалению, не всем разбиениям на классы имеются спектральные объяснения. Но, имея компы их можно может быть придумать, используя динамические спектры. Также не сделано при таком подходе полного разделения до фонем. Может, как пишет Сапожников, надо использовать наличие дополнительных максимумов в спектре носовых фонем.

                                                              Мой метод требует обучения, а такой подход этого не требует.
                                                              Также наверно можно приспособить эти идеи для сегментации слов на фонемы, используя динамические спектры.
                                                              Также там обсуждается идея убирания масскирующих чатот, чтобы сделать обострения максимумов спектров фонем.
                                                              Над этим можно подумать, и предлагаю это сделать. Вроде вещи ясные и понятные и есть всеми любимые слова "спектр" и "фильтр".
                                                              Сообщение отредактировано: grisania -
                                                                grisania
                                                                могу предложить следующее:
                                                                Рабинер и Голд.Теория и применение цифровой обработки сигналов
                                                                Анализ речи .Тони Робинсон
                                                                Анализ, синтез и восприятие речи. Фланаган
                                                                Быстрые алгоритмы цифровой обработки сигналов.blahut
                                                                ВВЕДЕНИЕ В АНАЛИЗ РЕЧИ.Р. Якобсон, Г. М. Фант и М. Халле
                                                                Джозеф Пикони.Методы моделирования сигнала в распознавании речи
                                                                Линейное предсказание речи.Меркел_Грей
                                                                Применение вейвлет-анализа сигнала в системе распознавания речи
                                                                Применение цифровой обработки сигналов. Оппенгейм
                                                                Сигналы помехи ошибки_М_Финк
                                                                Теория и практика вейвлет-преобразования
                                                                Харкевич. Спектры и анализ
                                                                Цифровая обработка сигналов
                                                                Цифровые фильтры. М.В. Хемминг
                                                                есть и ещё.
                                                                  Ды.. Ну я понял тут есть с кем ообщаться..
                                                                  Кстати вопрос... Кто и как детектирует первую гарминику гласных т.е основной тон голосовой связки?
                                                                  Просто я при анализе гласных делаю следующее..
                                                                  1. Построение сонограммы 0-7000Гц с шагом в пять Гц. 1400 точек по частоте. шаг по времени 1/250 cек. Т.е 250 точек за секунду.
                                                                  2. Далее в этой матрице ищу периодические гамоники..
                                                                  3. Нахожу максимумы с шагом равным частоте осноного тона...
                                                                  4. Получившийся массив максимумов нормирую по частоте в массив из 140 точек. Т.Е. одна точка на 50Гц. Это маска гласной.
                                                                  5. Я получаю 250 таких масок за секунду. Формирую нейросеть для анализа масок.

                                                                  Добавлено
                                                                  Member
                                                                  НУ и как двухядерный...? Стоит купить? Реально раза в два быстрее работает?
                                                                  Я блин дома редко бываю... С нотебуком все время.. Мотаюсь по миру. А нотебуков двухядерных нет...

                                                                  Тоже литературы много... Надо систематизировать.


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


                                                                  Ты проверял? работает? Или только теория. Я пока все что подобное находил.. Для моей базы данных дикоров не подходит..
                                                                  Вот кстати это вопрос.
                                                                  Нужно создать речевую базу данных.
                                                                  Как?
                                                                  Какие фонемы и слова включить?
                                                                  Ведь только своего голоса мало...
                                                                  У меня только 5ть дикторов мужчин и 3-и женщины.. Этого мало. Мало образцов.
                                                                  А вы откуда образцы для анализа берете?

                                                                  Добавлено
                                                                  Ко всем
                                                                  Нужно создать речевую базу данных.
                                                                    Цитата Skif @
                                                                    Нужно создать речевую базу данных.

                                                                    Создать речевую базу русского языка без дополнительного финансирования просто нереально. Посмотри как устроен TIMIT. Чтобы сделать что-то подобное надо найти хотя бы по сотне дикторов из каждого региона России (читай - федерального округа). Кто и на что этим будет заниматься? Но и это еще не все. Полученные треки надо будет разметить на фонемы. Где взять столько специалистов?
                                                                    Все промежуточные варианты не дадут приемлемых результатов в том случае, если пытаться сделать дикторонезависимую систему распознавания.
                                                                      phoenix367
                                                                      Мало из разных регионов России, так ещё жующие бутерброд на правой стороне зубов, затем на левой , затем потягиваясь , затем почёсываясь -вот только тогда....
                                                                      Бредни удивительные. Сделали такую английскую базу - нет результата и быть не может.
                                                                      Ну подумайте головой - для того чтобы идентифицировать китайца , их всех нужно сфотографировать в разных позах? , блять, не могу нормативно выражаться...
                                                                        phoenix367:
                                                                        TIMIT Я не видел. Если дадите ссылку на TIMIT , гляну.
                                                                        Ну а по поводу содания базы даных. А нас в этом чате сколько человек? А У каждого есть парочка друзей. Давай начнем с малого...
                                                                        В MP3 формате много весить не будет. Можно будет на серваке хранить. Ну а как анализировать речь без базы. Я только, как я говорил... с пяю дикторами играюсь... Давайте серьезно возьмемся за это.
                                                                        Блин, вот я тормоз... Ники то выше... Я вместо ников какую-то ерунду вставлял...
                                                                        decan
                                                                        Я понимаю, что ты хочешь все сразу. Ну для начала может без бутербродов? Бутерброды лучше отложить на потом.
                                                                        phoenix367
                                                                        Цитата
                                                                        Создать речевую базу русского языка без дополнительного финансирования просто нереально. Посмотри как устроен TIMIT. Чтобы сделать что-то подобное надо найти хотя бы по сотне дикторов из каждого региона России (читай - федерального округа). Кто и на что этим будет заниматься? Но и это еще не все. Полученные треки надо будет разметить на фонемы. Где взять столько специалистов?
                                                                        Ну, а что мы не специалисты. Или тут никто не верит в создание распознавалки?
                                                                        Про финансирование.... Дело не в деньгах.. Ну будут деньги и что? Ну дадут тебе 10тысяч долларов и ты сделаеш?
                                                                        Ну нужно глянуть TIMIT. Хоть какойто образец.. Если я правильно понял, то это буржуйская речевая база данных...
                                                                        Вы можете более детально результаты ваших работ описать. Ну или прислать откомпилированные файлы, как примеры.
                                                                        Давайте начнем менятся хотябы exe-шниками. Пока нет доверия. Каждый с кровью и потом писал свои проги.. Ну а этот форум и создан чтобы меняться.

                                                                        Вот мой спектральный анализатор который я использую для нализа речи. Если кого интересуют иходники, скину на мыло.
                                                                        Пока он не супер, но для гласных пойдет. Да, кстати... Если CPU usage будет 100% то значит у вас слабый комп. У меня P4 1,7ГГц все работает...

                                                                        Добавлено
                                                                        Да, и еще вопрос... Кто на чем пишет проги ил чего использует для анализа речи?
                                                                        Я пишу на C++ Builder..
                                                                        Ну C++ и WIN API оно всем кто с C++ знаком понятно будет...
                                                                        Прикреплённый файлПрикреплённый файлProject1.zip (153.75 Кбайт, скачиваний: 493)
                                                                          Цитата Skif @
                                                                          Создать речевую базу русского языка без дополнительного финансирования просто нереально. Посмотри как устроен TIMIT. Чтобы сделать что-то подобное надо найти хотя бы по сотне дикторов из каждого региона России (читай - федерального округа). Кто и на что этим будет заниматься? Но и это еще не все. Полученные треки надо будет разметить на фонемы. Где взять столько специалистов?

                                                                          Ссылку на TIMIT я тебе дам в личку, и тогда, посмотришь, у тебя задора поубавится. Про эту базу см.:
                                                                          http://www.ldc.upenn.edu/Catalog/readme_files/timit.readme.html

                                                                          На этом форуме есть ветка
                                                                          "Списки слов для речевых корпусов (словари для обучения систем распознавания речи)",
                                                                          где это активно обсуждалось как силами энтузиастов это сделать.
                                                                          Далее разметку этой базы на фонемы вообще-то нужно делать на компах фирмы Sun, где есть соответствующее матобеспечение для этого. Так это делает, например, какой-то очень известный институт по изучению речи в Германии (кажется им. Гумбольдта). Там я видел на картинках этот комп. Порывшись в инете можно найти. Далее для разбивки на фонемы амеры использовали прогу бьющую на фонемы, а потом уже вручную уточняли. У нас такой проги нет.
                                                                          Почитай статьи других как они делали русскою речевую базу:
                                                                          БАЗА РЕЧЕВЫХ ФРАГМЕНТОВ РУССКОГО ЯЗЫКА “ISABASE”
                                                                          http://www.uran.donetsk.ua/~masters/2002/fvti/nikolaenko/dis/lib/article9.htm
                                                                          Лепта в развитие речевых технологий в России
                                                                          http://www.pcweek.ru/Year2002/N4/CP1251/Industrial_built-in/chapt4.htm
                                                                          Эту базу уже сделали, но она вроде стоит 10 тыс. баков. И как говорят, что эта база даже TIMIT переплюнула, но TIMIT можно в США за копейки купить.
                                                                          Речевые корпусы (опыт разработки и использование)
                                                                          http://www.dialog-21.ru/Archive/2001/volume2/2_33.htm
                                                                          Инструментальная система для исследования и обработки речевых сигналов и создания речевых баз данных.
                                                                          http://www.philol.msu.ru/~otipl/SpeechGroup/publications/krivnova-2001-2004/krivnova_bogdanov_instrumentarij_2004.doc

                                                                          Поэтому надо не морочить себе башку. Какая разница фонемы какого языка распознавать. Если твои идеи будут работать с TIMIT, то будут работать и с другим языком. Например, все восточные страны редко распознают свои языки, все мучают TIMIT. Даже япошки, индусы, китайцы.
                                                                          TIMIT это классика и каждый может проверить на ней твои алгоритмы и сказать - да эта штука работает. А тогда можно и базу на русском делать или купить готовую.
                                                                          Сообщение отредактировано: grisania -
                                                                            grisania
                                                                            Убедил...

                                                                            Добавлено
                                                                            Ктонибудь выделяет периоды речи? Кто и какие алгоритмы использует. Какой диапазон изменения основного тона используется в программах.
                                                                            Я выделяю периодичность по спектру.
                                                                            Диапазон изменения 70-250Гц но этого недостаточно. В книжках даны средние значения, а в жизни разброс огромен 50-500Гц. А при увеличении диапазона изменеия частоты основного тона голоса надежность сисемы катастрофичеси падает. Help me.
                                                                              grisania
                                                                              Поповоду базы данных... Все же создавать надо. Покупать не по зубам. Согласен, что алгоритмы они для всех языков пойдут.... Пока можно все тестировать на TIMIT... Качаю пока.... Ну такого размера я не ожидал... Ну ничего...
                                                                                Цитата Skif @
                                                                                Кто-нибудь выделяет периоды речи? Кто и какие алгоритмы использует. Какой диапазон изменения основного тона используется в программах.
                                                                                Я выделяю периодичность по спектру.
                                                                                Диапазон изменения 70-250Гц но этого недостаточно. В книжках даны средние значения, а в жизни разброс огромен 50-500Гц. А при увеличении диапазона изменеия частоты основного тона голоса надежность сисемы катастрофичеси падает. Help me.

                                                                                Периодичность основного тона голоса от человека к человеку прыгает. Даже у конкретного человека она зависит от его настроения. Я приводил пример, как работают современные проги распознавания речи в зависимости от настроения.
                                                                                Мой знакомый основным тоном занимается давно, я могу у него спросить, если он не в отпуске. Хотя бы ссылки даст. Да, если нужны статьи из серии IEEE, то я могу их скачать через него.
                                                                                Нл для распознавания фонем важно определить его наличие. Например, это позволит делить фонемы на глухие и звонкие. Разделение производится по признаку наличия или отсутствия основного тона. Так как я сторонник фильтров, то надо их использовать их иерархически. Как написано, например, в книге М.А Сапожков: "Речевой сигнал в кибернетике и связи". В этой книжке она не закончена, но применяя динамические спектры это можно доделать. Например, у амеров таких разбиений куча. Есть иерархически. Но классификация в книге М.А Сапожков как-то разумно объясняется.
                                                                                И вообще, я считаю, что человек все обрабатывает фильтрами. Сигналы несут энергию, которые за счет нее активно действует на нас. Человек только учится в башке плотины (фильтры) расставить для моря инфы из вне.
                                                                                Далее, надо учитывать затухание, оно объективно есть, а это Прони.
                                                                                Я сделал на ftp сервере папку для обмена информацией. Каждый активный участник может там открыть там свою папку и класть туда интересные статьи, книги, исходники. Адрес могу сообщить в личку.
                                                                                  grisania
                                                                                  Давай.. Скинь адресок FTP. А там как с местом? Я сейчас все свои книжки систематизирую и в порядок привожу. Они все по частям закачаны и в разных форматах. Я все в PDF переделываю.. Части соединяю...
                                                                                  По поводу выделения основного тона... Я не могу найти готовые проги или хотябы оценку их надежности. Для того чтобы понять, то что сделал я это плохо или хорошо нужно с чем-то сравнить. А пока сравнить не с чем. Все говорят вот мол таким образом оценивалась погрешность и блок диаграмку рисуют.. А результатов исседований нет. Если не сложно то спроси у друга... Может литературу посоветует. Книжки это лучше всего...
                                                                                    Skif
                                                                                    А список, пока, литературы можешь представить?

                                                                                    Да, а почему такой интерес к основному тону? Ну несущая...?
                                                                                    Сообщение отредактировано: decan -
                                                                                      decan
                                                                                      сообщение 41
                                                                                      Цитата
                                                                                      Да, а почему такой интерес к основному тону? Ну несущая...?

                                                                                      Я там выше project оставил. Так вот произнеси 'А' в микрофон и ты увидиш полоски образованные спектром 'А'.
                                                                                      Я выделяю основной тон и соединяю максимумы этих полосок прямой. И получившийся "гладкий" спектр использую как маску для данной фонемы. Для один раз произнесенной фонемы я получаю поядка 200 масок. И их анализирую. Если надо скину прогу в которой это можно посмотреть.

                                                                                      Добавлено
                                                                                      1. Булинский, Ширяев. Теория случайных процессов
                                                                                      2. Ирина Алдошина. Основы психоакустики.
                                                                                      3. Бабкин В.В.Помехоустойчивый выделитель основного тона.
                                                                                      4. С.Н. Берштейн. Теория вероятностей.
                                                                                      5. Lawrence R. Bernard Gold. Теория и практика ЦОС
                                                                                      6. Трубецкой С.Т. Фонология и фонетика.
                                                                                      7. Дж. Бендат. А. Пирсол. Прикладной анализ случайных данных
                                                                                      8. Р.Блейхут. Быстрые алгоритмы ЦОС
                                                                                      9. Джеимс Л. Фланган. Анализ, синтез и восприятие речи.
                                                                                      10. М. Финк. Сигналы, помехи, ошибки.
                                                                                      11. Л.М Финк. Теория передачи дискретных сообщений.
                                                                                      12. А.А. Харкевич. Борьба с помехами.
                                                                                      13. Б.М. Лобанов. Анализ и синтез речи. Сборник научных трудов.
                                                                                      14. Д.Д.Маркел. А.Х.Грей. Линейное предсказание речи.
                                                                                      15. Юкио Сато. Обработка сигналов. Первое знакомство.
                                                                                      16. Дегтеренко А.Н. Кодирование речевых сигналов на основе систем с переменной структурой. (Диссертация магистрантская)
                                                                                      17. Дженкинс.Ваттс. Спектральный анализ и его приложения.
                                                                                      18. Кеносуки Фуканага. Введение в статистическую теорию распознавания образов.
                                                                                      19. Р.Брейсуэлл. Преобразование Хартли, теория и приложения.
                                                                                      20. Введение в цифровую фильтрацию. Под редакцией Богнера.
                                                                                        Skif
                                                                                        мне Grisania ftr прислал, так что имеющуюся у меня литературу ятуда потихоньку сложу.
                                                                                          Цитата decan @
                                                                                          Да, а почему такой интерес к основному тону? Ну несущая...?

                                                                                          Почитай Сапожкова лежит там, где decan сказал. Места пока много. Где-то 30 гигов.
                                                                                          Ну хотя бы отличить глухие от звонких.
                                                                                            grisania
                                                                                            Ну хотя бы отличить глухие от звонких.
                                                                                            ????
                                                                                            Это ты о чем?
                                                                                              Цитата Skif @
                                                                                              Ну хотя бы отличить глухие от звонких.

                                                                                              наличие основного тона делает классификацию фонем на глухие и звонкие. Мы должны проверить две статистические гипотезы:
                                                                                              1-ая гипотеза: есть основной тон;
                                                                                              2-ая гипотеза: нет основного тона.
                                                                                              Также есть алгоритмы, которые определяют начало основного тона. Если основной меняетя, то говорят, что произошла разладка случайного процесса.
                                                                                              Если есть основной тон, то фонема стационарный марковский случайный процесс на длинном промежутке времени, значит, ее можно описать авторегрессией, а для авторегрессий придумано куча алгоритмов по разладке
                                                                                                grisania
                                                                                                М.А Сапожков: "Речевой сигнал в кибернетике и связи".
                                                                                                Я не могу до сервака достучаться и книжку скачать... Что то случилось... Я вчера TIMIT качал, а сегодня даже он недоступен.. :wall:
                                                                                                  Если кому нужны исходники моего спектрального анализатора... Пишите скину.. Просто мне нужно там код в порядок привести и коментарии расставить. Лениво просто.Но если кто интересуется пишите, сделаю коментарии...
                                                                                                    Цитата Skif @
                                                                                                    Я не могу до сервака достучаться и книжку скачать... Что то случилось... Я вчера TIMIT качал, а сегодня даже он недоступен

                                                                                                    И я не достучаться. На этой неделе подниму его.
                                                                                                      Цитата Skif @
                                                                                                      grisania
                                                                                                      Убедил...

                                                                                                      Добавлено
                                                                                                      Ктонибудь выделяет периоды речи? Кто и какие алгоритмы использует. Какой диапазон изменения основного тона используется в программах.
                                                                                                      Я выделяю периодичность по спектру.
                                                                                                      Диапазон изменения 70-250Гц но этого недостаточно. В книжках даны средние значения, а в жизни разброс огромен 50-500Гц.

                                                                                                      Да, это и есть разброс основного тона (для различных людей, возрастов интонаций). Но обычно ограничиваются 80-400. Более крайние ну очень редки. Лучше выделяй тон, основываясь или на кепстральном подходе (на dsp-book в книжках он описан) или SIFT (LPC) (книжка Маркела и Грэя "Линейное предсказание речи).
                                                                                                        2Skif

                                                                                                        файл какой-то битый..

                                                                                                        по поводу ОТ - есть тут диссертация у меня по этой теме. Там приблизительно описаны существующие эффективные алгоритмы и новый, что автор разработал. Существующие могу написать, новый - только после защиты автора (хотя, у него верно публикации есть, посмотрю)
                                                                                                          Цитата neurofish @
                                                                                                          файл какой-то битый..

                                                                                                          neurofish
                                                                                                          Ты о чем?
                                                                                                          Плиз, скинь ежели чего накопаеш по ОТ.
                                                                                                            Цитата

                                                                                                            Ты о чем?

                                                                                                            о файле project1.zip, который ты в этой ветке прикрепил. Мой архиватор говорит - неожиданный конец, видимо архиватор хотел большего, а что есть - то есть :)

                                                                                                            по ОТ пишу цитатами из дисера, как всякие формулы писать и прочее не представляю, расскажите - напишу:
                                                                                                            Цитата
                                                                                                            Задача определения частоты основного тона 0 F периодического сигнала многие
                                                                                                            годы привлекала внимание исследователей и изучается до сих пор. Частота основного
                                                                                                            тона обратна периоду, который может быть определен как величина минимального не-
                                                                                                            нулевого временного сдвига, оставляющего сигнал неизменным. В таком виде это оп-
                                                                                                            ределение подходит только для идеально периодичного сигнала. Реальные сигналы,
                                                                                                            представляющие практический интерес, не являются идеально периодичными.
                                                                                                            В случае речевого сигнала под периодом основного тона подразумевается период
                                                                                                            импульсов голосового источника, возникающих в результате колебаний голосовых
                                                                                                            складок. Периодичность этих колебаний может нарушаться из-за изменения амплиту-
                                                                                                            ды, частоты или формы этих колебаний (например, изменения соотношения длительно-
                                                                                                            сти интервалов открытой и закрытой голосовой щели). Возможно возникновение хри-
                                                                                                            пов, а также явления дифонии, при котором одновременно образуются два тона разной
                                                                                                            высоты при произнесении одного звука. Степень периодичности самого речевого сиг-
                                                                                                            нала может быть ещё ниже вследствие непостоянства формы голосового тракта и нали-
                                                                                                            чия шума. Поэтому в случае реальных сигналов уместнее говорить не о периоде им-
                                                                                                            пульсов, а об их длительностях, а под частотой основного тона 0 F понимать среднюю
                                                                                                            оценку этой частоты на некоем интервале.


                                                                                                            Цитата

                                                                                                            Эти свойства речевого сигнала значительно затрудняют задачу определения 0 F , на
                                                                                                            её решение и по сей день направлено большое количество усилий. При этом аналитиче-
                                                                                                            ские подходы, которые основываются на строго сформулированных известных или
                                                                                                            предполагаемых свойствах речевого сигнала, часто требуют введения в алгоритмы не-
                                                                                                            кого эвристического блока, который должен компенсировать различие между учтен-
                                                                                                            ными и неучтенными свойствами сигнала.
                                                                                                            Обзоры различных подходов к решению задачи определения 0 F приводятся в рабо-
                                                                                                            тах [71, 130]. Можно выделить два типа подходов: спектральные и временные. Спек-
                                                                                                            тральные обычно основаны на извлечении спектральных пиков. Временные использу-
                                                                                                            ют, как правило, автокорреляционный подход. В последнее время было предложено
                                                                                                            несколько методов, которые по характеристикам превосходят традиционные методы.
                                                                                                            Некоторые методы обладают большей точностью, некоторые – большей устойчивостью
                                                                                                            к шумам. Например, метод YIN [57], основанный на автокорреляции, является одним
                                                                                                            из наиболее точных методов оценки для сигнала с хорошим отношением сигнал-шум.
                                                                                                            Shimamura предложил временной метод [142], устойчивый к белому Гауссовому шуму,
                                                                                                            а Liu и Lin – спектральный [103].


                                                                                                            Цитата

                                                                                                            Также
                                                                                                            недавно были предложены методы оценки 0 F для речи, переданной по телефонному
                                                                                                            каналу [88, 151]. Спектральные методы DASH и REPS [115] обеспечивают высокую
                                                                                                            точность оценки 0 F при искажении спектра сигнала и в присутствии шума.


                                                                                                            Добавлено
                                                                                                            Цитата

                                                                                                            Устойчивый метод оценки 0 F дал бы ключ к решению широкого круга общих ре-
                                                                                                            чевых задач. В системах синтеза речи по тексту информация о поведении 0 F служит
                                                                                                            для построения интонационного контура. С помощью 0 F передается значительное ко-
                                                                                                            личество семантической информации, лежащей выше фонетического и лексического
                                                                                                            уровней. В тональных языках относительное изменение 0 F определяет лексическое
                                                                                                            значение слова, и в этом случае системы распознавания речи должны использовать её
                                                                                                            для избежания неоднозначности. Информация о частоте основного тона должна ис-
                                                                                                            пользоваться в задаче идентификации диктора.
                                                                                                            Во многих речевых задачах требуется помимо 0 F знать длительности и положения
                                                                                                            импульсов голосового источника. Например, для решения обратной задачи (определе-
                                                                                                            ние формы речевого тракта по сигналу) необходимо использовать резонансные часто-
                                                                                                            ты, вычисленные на участках голосовых импульсов, где голосовые связки сомкнуты, т.
                                                                                                            к. частоты, вычисленные на интервале открытой щели, испытывают влияние подсвя-
                                                                                                            зочной области и могут отличаться от резонансных частот тракта на 20% [19]. Задача
                                                                                                            вычисления длительностей и положений импульсов голосового источника принадле-
                                                                                                            жит к классу принципиально более сложных задач по сравнению с определением 0 F .
                                                                                                            До сих пор не было предложено удовлетворительного метода её решения. В этой задаче
                                                                                                            недостаточно получить оценку 0 F в привычном смысле (т. е. среднюю на интервале),
                                                                                                            необходимо учитывать особенности последовательности импульсов, связанные с на-
                                                                                                            рушениями периодичности. Очевидно, что качество её решения напрямую зависит от
                                                                                                            точности и устойчивости оценки 0 F . При этом не требуется высокая точность опреде-
                                                                                                            ления 0 F , так как небольшая ошибка может быть компенсирована за счет использова-
                                                                                                            ния энергетических характеристик сигнала. Однако грубые ошибки (например, 20% и
                                                                                                            более) приведут к серьёзным сбоям при синхронном анализе. Такое же требование к
                                                                                                            точности возникает в задаче сжатия речи с последующим ресинтезом: при ресинтезе
                                                                                                            грубые ошибки в определении частоты основного тона не компенсируются человече-
                                                                                                            ским слухом, а, напротив, подчеркиваются, и могут привести к значительному ухудше-
                                                                                                            нию разборчивости. Поэтому имеет смысл при тестировании точности вычисления 0 F
                                                                                                            акцентировать внимание именно на грубых ошибках.


                                                                                                            Добавлено
                                                                                                            это общие слова, дальше там разбор методов с формулами. Если конму-нибудь нужно, говорите как и куда
                                                                                                              http://www.dialog-21.ru/Archive/2003/Bojkov.htm
                                                                                                              Применение вейвлет-анализа сигнала в системе распознавания речи
                                                                                                              Бойков Ф.Г. Старожилова Т.К.
                                                                                                                http://www.fips.ru/cdfi/fips.dll?ty=49&docid=2268504&lb=1
                                                                                                                патент
                                                                                                                СПОСОБ РАСПОЗНАВАНИЯ ФОНЕМ РЕЧИ И УСТРОЙСТВО ДЛЯ РЕАЛИЗАЦИИ СПОСОБА

                                                                                                                основываются на "биспектре"

                                                                                                                Добавлено
                                                                                                                http://www.ksu.ru/eng/science/fccl/issue001/conf_spe.97/egor_dub.pdf
                                                                                                                Об анализе слуховых образов речевого сигнала
                                                                                                                  Не пойму проблем с выделением основного тона из фонемы. Если фонема сонорная, то она содержит основной тон.
                                                                                                                  Тогда фонема в начале содержит атаку - импульс, который возбуждает все частоты.
                                                                                                                  Далее смотрим текущий спектр, и как написано в книге Харкевич А.А. «Спектры и Анализ» стр. 102-103
                                                                                                                  Цитата
                                                                                                                  Спектр короткого промежутка процесса – за небольшое время от его начала – однороден, так как короткий отрезок любого процесса есть просто короткий импульс. Если в дальнейшем происходит повторение некоторого цикла явления, то в текущем спектре начинаёт сформироваться максимумы на основной частоте и ее гармониках . Эти максимумами становятся все более острыми высокими, а значения спектральной плотности в интервалах между максимумами все убывает и лишь в пределе вырождается в линейчатый спектр.

                                                                                                                  Ясно, что надо уметь считать текущий спектр, но его производная по времени является мгновенным спектром (Харкевич А.А. «Спектры и Анализ» стр. 105). Текущий спектр можно посчитать через БПФ. Зная призводную, можно востановить текущий спектр. Ну а дальше надо писать программы. Какие здесь трудности? Я только усматриваю, что трудность это сделать в реальном времени, но компы становятся все мощней
                                                                                                                    По непонятной причине project1.zip битый и никто не сказал. Вот он же но + исходники. Простите, за небрежный код, отсутстие коментариев и ошибки в коде. Но надеюсь все и так будет понятно. :)

                                                                                                                    Добавлено
                                                                                                                    Я все проверил. Качается. Да... только архив получился странный. Внутри него как-бы файл непонятный а в нем файлики мои. Но WinRar все распаковал. Я проверил. Удачи. Видно чегото с файлами происходит при закачке. Я отправляю одно а скачваю другое. И размер разный..... Плиз сообщите если у вас все хорошо скачается. Ну и вообще жду любых отзывов.
                                                                                                                    Прикреплённый файлПрикреплённый файлspectrum_analyzer.zip (194.87 Кбайт, скачиваний: 645)
                                                                                                                      Цитата grisania @
                                                                                                                      Не пойму проблем с выделением основного тона из фонемы. Y

                                                                                                                      Скачай мой спектральный анализатор, чтобы посмотреть тот спектральный сигнал, который я анализирую. Может я плохой математик,но у меня ничего не получается. Глазами четко все вижу, а практически сделать не могу, чтобы ОТ определялся так-же точно, как я его вжу на сонограмме. Я пытаюсь рисовать красные полоски на сонограмме которые должны четко идти по полоскам которые обрзуют гласные. Все вроде рабтает, да не так как мне хочется. Иногда я вижу периодичность, а программа дает сбой. И потом не могу одновременно анализировать жеские и мужские голоса. Из за большого разброса частоты ОТ.
                                                                                                                        2skif
                                                                                                                        скачал, работает красиво :) а чего так мало функциональности?
                                                                                                                          Цитата neurofish @
                                                                                                                          скачал, работает красиво :) а чего так мало функциональности?

                                                                                                                          У меня есть прога которая суперфункциональная и даже гласные распонает, но на 1с звука она тратит 60 сек обработки. Меня это сильно напрягает, вот сейчас занимаюсь оптимизацией. Скоро будет и функциональность. Просто я хочу улучшить алгоритм выделения ОТ. Идея одна появилась... Почитал теорию поля немножко. Как поверхности анализировать. Сейчас пишу нечто, что позволит отлаживать алгоритм. Просто тяжало искать логические ошибки. Скоро будет продолжение. Рад, что понравилось. :)
                                                                                                                            Цитата Skif @
                                                                                                                            Я все проверил. Качается. Да... только архив получился странный. Внутри него как-бы файл непонятный а в нем файлики мои. Но WinRar все распаковал. Я проверил. Удачи. Видно чегото с файлами происходит при закачке. Я отправляю одно а скачваю другое. И размер разный..... Плиз сообщите если у вас все хорошо скачается. Ну и вообще жду любых отзывов.

                                                                                                                            Я скачал и запускаю Project1.exe. Только окно и все.
                                                                                                                            Советую добавить подсчет RMS во времени.
                                                                                                                            http://citeseer.ifi.unizh.ch/cache/papers/cs/21996/http:zSzzSzspeech.iitm.ernet.inzSzMainzSzpublicationszSzMSTheseszSzSivaRamKrishnaThesis.pdf/rao00recognition.pdf
                                                                                                                            Считать RMS где-то 5 мс. Пока не знаю сколько мс взять - 5 мс или меньше, чтобы считать этот кусочек звука импульсом.
                                                                                                                            В этом дисере есть картинки по 10 мс, и видно что их нельзя считать импульсами. Это поможет увидеть начало атак, а это и должно быть началом фонем, по краней мере для переходов согласных в гласные Это точно так, когда кончается взрывная согласная и начинается гласная. Смотри это в этом дисере.
                                                                                                                              Цитата Skif @
                                                                                                                              Может я плохой математик,но у меня ничего не получается. Глазами четко все вижу, а практически сделать не могу, чтобы ОТ определялся так-же точно, как я его вжу на сонограмме. Я пытаюсь рисовать красные полоски на сонограмме которые должны четко идти по полоскам которые обрзуют гласные. Все вроде рабтает, да не так как мне хочется. Иногда я вижу периодичность, а программа дает сбой. И потом не могу одновременно анализировать жеские и мужские голоса. Из за большого разброса частоты ОТ.

                                                                                                                              Поскольку спектр имеет периодический характер, то при взятии преобразования Фурье от него на полученном новом спектре мы должны иметь пик на частоте основного тона. Подробнее об это можно можно почитать в статье AN EFFICIENT PITCH-TRACKING ALGORITHM USING A COMBINATION OF FOURIER TRANSFORMS
                                                                                                                                Цитата phoenix367 @
                                                                                                                                Поскольку спектр имеет периодический характер, то при взятии преобразования Фурье от него на полученном новом спектре мы должны иметь пик на частоте основного тона.

                                                                                                                                а еще лучше FFT(коффициенты автокорреляции(FFT(сигнал))) - основной тон виден как на ладони.

                                                                                                                                Может кто подскажет как вычислить еще F2, F3, F4?
                                                                                                                                Сообщение отредактировано: DimmK -
                                                                                                                                  Цитата

                                                                                                                                  а еще лучше FFT(коффициент автокорреляции(FFT(сигнал))) - основной тон виден как на ладони.

                                                                                                                                  эээ, один коэффициент или несколько? и сколько, если несколько?
                                                                                                                                    Цитата phoenix367 @
                                                                                                                                    Поскольку спектр имеет периодический характер, то при взятии преобразования Фурье от него на полученном новом спектре мы должны иметь пик на частоте основного тона.

                                                                                                                                    Проблема 1. Там будет много пиков и не всегда пик относящийся к частоте ОТ будет максимальным.
                                                                                                                                    Проблема 2. Низкая точность определения ОТ. Ошибка более 10%.
                                                                                                                                    Проблема 3. Для софта работающего в реалтайме выполнять многократно ффТ это проблема.

                                                                                                                                    Ну вот вроде и все. Я сегдня все же попробую. Может все и получится но пока я писсимистически смотрю на тако предложение.
                                                                                                                                      Цитата neurofish @
                                                                                                                                      эээ, один коэффициент или несколько? и сколько, если несколько?


                                                                                                                                      1. Делаешь FFT сигнала - получаешь например 256 коэффициентов FFT на отсчет.
                                                                                                                                      20*log10(abs(FFT))
                                                                                                                                      2. По ним считаешь коэффициент автокорреляции - получаешь 512 штук симетричных относительно середины.
                                                                                                                                      3. К коэффициентам автокорреляциии применяешь FFT получаешь 256 коэф.
                                                                                                                                      20*log10(abs(FFT))
                                                                                                                                      4. Выводишь график - на нем график вроде ПЕРИОДА основного тона (пока не разобрался) - из него обратным преобразованием надо получить ЧАСТОТУ.
                                                                                                                                      5. И еще можно сгладить график
                                                                                                                                      Сообщение отредактировано: DimmK -
                                                                                                                                        Цитата DimmK @
                                                                                                                                        Может кто подскажет как вычислить еще F2, F3, F4?

                                                                                                                                        Что ты имееш ввиду под F2, F3, F4?
                                                                                                                                          Цитата DimmK @
                                                                                                                                          1. Пелаешь FFT сигнала - получаешь например 256 коэффициентов FFT на отсчет.
                                                                                                                                          2. По ним считаешь коэффициент автокорреляции - получаешь 512 штук симетричных относительно середины.
                                                                                                                                          3. К коэффициентам автокорреляциии применяешь FFT получаешь 256 коэф.
                                                                                                                                          4. Выводишь график - на нем график вроде ПЕРИОДА основного тона (пока не разобрался) - из него обратным преобразованием надо получить ЧАСТОТУ.
                                                                                                                                          5. И еще можно сгладить график

                                                                                                                                          Загрузил ты этими преобразования.... Надо почитать.. Я еще качаю то что ты порекомендовал.
                                                                                                                                          Я по тупому сделал FFT и нашел максимум в области частот ОТ. Пока низкая точность определения ОТ.
                                                                                                                                          Глянь..
                                                                                                                                          И чем выше ОТ тем больше ошибка. В диапазоне 50-250Гц вполне неплохо. Но этого мало для женского голоса.
                                                                                                                                          Сообщение отредактировано: Skif -
                                                                                                                                            Добавлено
                                                                                                                                            DimmK
                                                                                                                                            Короче... если как ты говориш взять 512 отсчетов. Пусть разложим спектр от 0 до 3000 Гц. с шагом в пять Гц мы получим 600 точек... около 512.
                                                                                                                                            преобразование фурье даст ряд амплитуд для частот 5 10 15 ... 1270.
                                                                                                                                            т.е точность определения основного тона с частотой в Но это частота от спектра.
                                                                                                                                            Знчит для определения реальной частоты всплеска нужно
                                                                                                                                            512/pos где pos это позиция максимума в спетре спектра. Седовательно мы можнем получить позичию максимума с точностью...
                                                                                                                                            пусть ОТ=100 ГЦ... 256/12*5=105 256/13*5=100 ошибка в пять герц.
                                                                                                                                            ОТ=200 гц ... 256/6*5=210 256/7*5=185 уже 25 Гц
                                                                                                                                            Формула используемая для расчета частоты ОТ
                                                                                                                                            F=n/pos*5
                                                                                                                                            n-число гармоник ... результат БПФ
                                                                                                                                            pos- позиция максимума в спектре
                                                                                                                                            5-шаг фильтров для построения сонограммы речи...
                                                                                                                                            Слишком большая ошибка....

                                                                                                                                            Добавлено
                                                                                                                                            А так как спектр периодичен то при ошибке определения частоты ОТ в 25 Гц. для десятой гармоники ОТ ошибка будет 250 Гц это уже больше периода. Ты перескочиш через один всплеск в районе 2000Гц.
                                                                                                                                            Сообщение отредактировано: Skif -
                                                                                                                                              У меня вот что получилось:
                                                                                                                                              1.Спектрограмма
                                                                                                                                              Сообщение отредактировано: DimmK -

                                                                                                                                              Прикреплённый файлПрикреплённый файлspektrogramma.jpg (101.71 Кбайт, скачиваний: 839)
                                                                                                                                                2. FFT от FFT
                                                                                                                                                Прикреплённый файлПрикреплённый файлFFT_ot_FFT.jpg (84.13 Кбайт, скачиваний: 625)
                                                                                                                                                  3. FFT - автокорреляция - FFT
                                                                                                                                                  Прикреплённый файлПрикреплённый файлFFT_avtokorrelyatsiya__FFT.jpg (118.2 Кбайт, скачиваний: 633)
                                                                                                                                                    FFT - автокорреляция - FFT - cсглаживание
                                                                                                                                                    Прикреплённый файлПрикреплённый файлFFT_avtokorrelyatsiya__FFT_sglazhivanie.jpg (91.06 Кбайт, скачиваний: 709)
                                                                                                                                                      Цитата DimmK @
                                                                                                                                                      FFT - автокорреляция - FFT - cсглаживание

                                                                                                                                                      Ок. Я только не понял чего ты по осям откладываеш? У тебя по оси частот 0-250 Это Гц/1?
                                                                                                                                                      И конечная картинка. Это не ОТ. Вот посмитри, что у меня получилось.
                                                                                                                                                      Судя по всему ты используеш FFT для построения спктрограммы. Много шума.
                                                                                                                                                      У меня фильтры все более гладкое. Я не говорю, что фльтры лучше. У всего есть + и -.
                                                                                                                                                      Классно ты с цветом придумал... Больший чем у мня динамический диапазон.
                                                                                                                                                      У тебя на спектрограмме логорифмический масштб ампитуды или линейный?
                                                                                                                                                      На чем пишеш программу?

                                                                                                                                                      Добавлено
                                                                                                                                                      Посмотри какая большая ошибка для женского голоса с частотой ОТ = 206 Гц.
                                                                                                                                                      Ну это можно устранить. Можеш показать свой результат в таком-же виде. Ато так не понятно...... Пока буду думать как определять ОТ для высоких частот. У меня в базе есть женские голоса с более высокой частотой ОТ. И они пока не детектятся.
                                                                                                                                                      Можно конечно сделать выбор пола пользователя для улучшения детектирования.
                                                                                                                                                      Прикреплённый файлПрикреплённый файлДетектирование_ОТ.jpg (49.02 Кбайт, скачиваний: 607)
                                                                                                                                                        http://www.dsp.sut.ru/rus/research/pda/pda.html
                                                                                                                                                        Цитата

                                                                                                                                                        Сайт содержит.
                                                                                                                                                        ТЕСТОВЫЕ ФАЙЛЫ ДЛЯ ОЦЕНКИ ПОМЕХОУСТОЙЧИВОСТИ ВЫДЕЛИТЕЛЕЙ ОСНОВНОГО ТОНА РЕЧИ.
                                                                                                                                                        Тестовые файлы содержащие речь дикторов
                                                                                                                                                        Тестовые файлы содержащие протяженные гласные звуки
                                                                                                                                                        Описание тестовых файлов для оценки помехоустойчивости выделителей ОТ.
                                                                                                                                                        Методика оценки помехоустойчивости выделителей ОТ речи изложена в докладе ПОМЕХОУСТОЙЧИВЫЙ ВЫДЕЛИТЕЛЬ ОСНОВНОГО ТОНА РЕЧИ, представленном на 7-й Международной Конференции и Выставке "Цифровая Обработка Сигналов и ее Применение" (DSPA-2005), проходившей в Москве 16-18 марта 2005 г.


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

                                                                                                                                                          FFT - от - FFT дает график частоты периодов графика FFT(сигнала).

                                                                                                                                                          nFFT/(частота FFT - от - FFT) = координата точки по высоте на графике FFT(сигнала).

                                                                                                                                                          (координата точки на графике FFT(сигнала)+1) * шаг графика FFT(сигнала) = частота(сигнала).

                                                                                                                                                          шаг графика FFT = 8000/512=15.6250

                                                                                                                                                          Оценка ошибки

                                                                                                                                                          Основной тон на графике FFT - от - FFT находится в пределах 50-100
                                                                                                                                                          nFFT=512
                                                                                                                                                          512/100=5.1200
                                                                                                                                                          512/101=5.0693
                                                                                                                                                          (5.1200+1)*15.6250=95.6250 Гц - ОТ 1
                                                                                                                                                          (5.0693+1)*15.6250=94.8328 Гц - ОТ 2
                                                                                                                                                          95.6250-94.8328=0.7922 Гц возможная ошибка
                                                                                                                                                          (95.6250-94.8328)/95.6250*100%=0.8284% возможная ошибка

                                                                                                                                                          (512/50+1)*15.6250=175.6250 Гц - ОТ 1
                                                                                                                                                          (512/51+1)*15.6250=172.4877 Гц - ОТ 2
                                                                                                                                                          175.6250-172.4877=3.1373 Гц возможная ошибка
                                                                                                                                                          (175.6250-172.4877)/175.6250*100%=1.7864% возможная ошибка
                                                                                                                                                          Сообщение отредактировано: DimmK -

                                                                                                                                                          Прикреплённый файлПрикреплённый файлFFT_avtokorrelyatsiya__FFT_sglazhivanie2.jpg (82.01 Кбайт, скачиваний: 603)
                                                                                                                                                            График основного тона
                                                                                                                                                            Прикреплённый файлПрикреплённый файлOT2.jpg (101.41 Кбайт, скачиваний: 753)
                                                                                                                                                              Цитата DimmK @
                                                                                                                                                              шаг графика FFT = 8000/512=15.6250

                                                                                                                                                              512 ??? Это энергия спектра или весь спектр?
                                                                                                                                                              При выполнении FFT1 результатом от 0 до n/2 это коэфф синуса а от n/2 до n cos.
                                                                                                                                                              Можно ли взять FFT2 от FFT1 не преобразовывая FFT1 в энергию? Ты как делаеш?
                                                                                                                                                              Я везде анализирую энергию и поэтому исходная длина уменьшается в 4 раза.
                                                                                                                                                                от 0 до 512/2.
                                                                                                                                                                график abs(fft()) получается 256 делений от 0 Гц до 4000Гц
                                                                                                                                                                А почему в 4 - у меня только в 2 раза.

                                                                                                                                                                Кстати FFT-автокорреляция-FFT - это известный метод, нет?.
                                                                                                                                                                Если нет - то круто - в дисер вставлю - как новизну. :)

                                                                                                                                                                Может кто-нибуть все-таки знает как остальные фоманты определить?
                                                                                                                                                                F1- первая форманта - основной тон - это вроде получилось
                                                                                                                                                                F2- вторая форманта
                                                                                                                                                                F3- третья форманта
                                                                                                                                                                F4- четвертая форманта

                                                                                                                                                                Вроде как надо первую форманту (основной тон) офильтровать - тогда врорая форманта появится, и так далее - правильно или нет?
                                                                                                                                                                  1. Определеш первую гармонику.
                                                                                                                                                                  2. Все остальные гармоники кртные. F2=F1*2,F3=F1*3 и так далее.

                                                                                                                                                                  Получаеш масив F1,F2,F3....Fmax
                                                                                                                                                                  Далее его нужно нормировать по частоте.
                                                                                                                                                                  И на полученной картинке будут четко видны формантные частоты...

                                                                                                                                                                  Смотри прикрепленные картинки.
                                                                                                                                                                  Прикреплённый файлПрикреплённый файлОТ_detection.jpg (43.96 Кбайт, скачиваний: 746)
                                                                                                                                                                    formants

                                                                                                                                                                    -юсртыхэю
                                                                                                                                                                    Цитата DimmK @
                                                                                                                                                                    Кстати FFT-автокорреляция-FFT - это известный метод, нет?.
                                                                                                                                                                    Если нет - то круто - в дисер вставлю - как новизну. :)

                                                                                                                                                                    Я не слышал.
                                                                                                                                                                    Тоже собираюсь писать дисер...

                                                                                                                                                                    -юсртыхэю
                                                                                                                                                                    Цитата DimmK @
                                                                                                                                                                    Вроде как надо первую форманту (основной тон) офильтровать - тогда врорая форманта появится, и так далее - правильно или нет?

                                                                                                                                                                    Я думаю, что фильтрация не поможет. Да и как ты фильтровать будеш? Частота ОТ меняется....
                                                                                                                                                                    Прикреплённый файлПрикреплённый файлformants.jpg (38.74 Кбайт, скачиваний: 646)
                                                                                                                                                                      Цитата Skif @
                                                                                                                                                                      1. Определеш первую гармонику.
                                                                                                                                                                      2. Все остальные гармоники кртные. F2=F1*2,F3=F1*3 и так далее.
                                                                                                                                                                      Получаеш масив F1,F2,F3....Fmax

                                                                                                                                                                      Это понятно.
                                                                                                                                                                      Цитата Skif @
                                                                                                                                                                      Далее его нужно нормировать по частоте.

                                                                                                                                                                      Уточни пожалуйста как это сделать.
                                                                                                                                                                      Я пробовал растягивать и сжимать FFT так, чтобы ОТ был на одной частоте.
                                                                                                                                                                      Но что-то плоховато получается.
                                                                                                                                                                      Цитата Skif @
                                                                                                                                                                      И на полученной картинке будут четко видны формантные частоты...
                                                                                                                                                                      Смотри прикрепленные картинки.

                                                                                                                                                                      Про кратные гармоники - все понятно, а откуда форманты взялись - объясни плиз.

                                                                                                                                                                      Цитата Skif @
                                                                                                                                                                      Я думаю, что фильтрация не поможет. Да и как ты фильтровать будеш? Частота ОТ меняется....

                                                                                                                                                                      Дык ее же определили и отследили.
                                                                                                                                                                        Цитата grisania @
                                                                                                                                                                        Цитата phoenix367 @
                                                                                                                                                                        Поэтому нужно как-то предварительно классифицировать фонемы, что бы повысить процент распознавания.

                                                                                                                                                                        Я тут раз 20 писал, что надо применять признаки Якобсона. Они хорошо бьют фонемы на бинарные классы. Этих 12 бинарных классов достаточно, чтобы вообще все фонемы расклассифицировать. Но честно говоря, я не нашел в инете четкого описания этих классов. Все о них говорят, но четко не описывают. Какой-то дурдом. Также не нашел описания амеровских бинарных классов. Нашел только у Сапожникова в его старой книжке, там есть интересные мысли про то, как бить на классы, используя наблюдения за спектром.
                                                                                                                                                                        На классы можно бить по-разному. Например, иерахически
                                                                                                                                                                        ANALYSIS OF VOCAL PHONEMES AND FRICATIVE CONSONANT DISCRIMINATION BASED ON PHONETIC ACOUSTICS FEATURES
                                                                                                                                                                        http://itc.ktu.lt/itc343/Driaunys343.pdf
                                                                                                                                                                        Я на тему как бить на классы набрал много всякого материала амеровского. Надо как-то систематизировать. Я хочу это приспособить для сегментации фонем. Мне кажется, что и сегментировать надо сначало на классы, а потом в классе уточнять какая фонема началась.

                                                                                                                                                                        Это совершенно неважно - у кого и сколько классов (их не более 14), а вот вопрос М и Н - принципиально важен, т. к. без них не может быть распознавания, поэтому - здесь не нужно огорчаться. Напомню Вам, что ажиотаж с классами есть и в С++, но распоз-ю это безразлично.
                                                                                                                                                                          Цитата DimmK @

                                                                                                                                                                          Уточни пожалуйста как это сделать.
                                                                                                                                                                          Я пробовал растягивать и сжимать FFT так, чтобы ОТ был на одной частоте.

                                                                                                                                                                          я делаю это так.
                                                                                                                                                                          1. Получаю массив Af1,Af2,Af3... где Af1,Af2,Af3 это амплитуды спектра для соответстующих частот.
                                                                                                                                                                          (Еси ОТ увеличивается то число элементов массива уменьшается.)
                                                                                                                                                                          поиск Af1,Af2,Af3.. желательно делать в некотором диапазоне так как есть ошибка определения ОТ. Т.е ищем F1+-ошибка определения ОТ. Я беру 20Гц.
                                                                                                                                                                          2.Далее Af1,Af2,Af3... массив растягиваю на длину N. Я беру N=200.
                                                                                                                                                                          И все. Это и будет картинка с формантами.

                                                                                                                                                                          -юсртыхэю
                                                                                                                                                                          Цитата DimmK @
                                                                                                                                                                          Про кратные гармоники - все понятно, а откуда форманты взялись - объясни плиз.

                                                                                                                                                                          Сигнал голосовой с дискретным спектром фильтруется проходя через ротовой резонатор у которого имеется несколько резонансов.
                                                                                                                                                                          Эти резонансы называются формантными частотами. Так как спетр сигнала голосовой свзки имеет дискретный характер. То АЧХ ротового фильтра восстанавливается по дискретным точкам. Эти точки мы выше определили как F1,F2....Fn. Fn это чатота приближенная к максимальной чатоте спектрограммы, в твоем случае это 8000Гц.
                                                                                                                                                                          К примеру:
                                                                                                                                                                          F1=100Гц,Fn=F80=8000 Ошибка = 0;
                                                                                                                                                                          F1=120Гц,Fn=F66=7920 Ошибка = 80;
                                                                                                                                                                          F1=140Гц,Fn=F57=7980 Ошибка = 20;
                                                                                                                                                                          F1=160Гц,Fn=F50=8000 Ошибка = 0;

                                                                                                                                                                          Короче с достаточной точностью можо принять что Fn=8000Гц.
                                                                                                                                                                          Тогда растянув массив AF1,AF2,AF3...AFn на 200 точек мы получим массив в котором будет не дискетный, а сплошной спектр с шагом в 40Гц.

                                                                                                                                                                          Как то так. Надеюсь понятно. Я не умею хорошо объяснять. Ну если чего не понятно то спрашивай.
                                                                                                                                                                            :angry: Я его в jpg переименую. Может там какая софтина на серваке его не пускает и бьет. Кто их знает. Ведь jpeg без проблем качается. Потом в зип переименуеш.... и откроеш.... Хотя наврятли поможет...

                                                                                                                                                                            Добавлено
                                                                                                                                                                            Работает. Ты его в zip переименуй. Не знаю по каким причинам получилось, но главное этот не битый. :) УРА. УРА. УРА. Посмотри. Я кстати сделал красивые цвета.

                                                                                                                                                                            -юсртыхэю
                                                                                                                                                                            Цитата botanik++ @
                                                                                                                                                                            Я тут раз 20 писал, что надо применять признаки Якобсона. Они хорошо бьют фонемы на бинарные классы. Этих 12 бинарных классов достаточно, чтобы вообще все фонемы расклассифицировать. Но честно говоря, я не нашел в инете четкого описания этих классов. Все о них говорят, но четко не описывают. Какой-то дурдом.

                                                                                                                                                                            Можеш описать свои исследования в кратце. Какие парметры анализируемой тобой соногрммы? Как ты выдляеш форманты? Как ты сегментируеш на фонемы?
                                                                                                                                                                            Если есть практические результаты то пожалуйста выкладывай. А утверждть, что нужно использовать признаки в корых ты сам не до конца разобрался.... мы это все можем. У меня пока толком нечего даже анализировать.
                                                                                                                                                                            Сорри за критику.
                                                                                                                                                                            Попробуем поискать про Яобсона чегонибудь. Ну то, что я сделал работает на нейросетях. Следующий этап распознавалкии гласных это обучения. Пока мои алгоритмы не оптимальны и тормозят. Они сишком медленные для реалтайма. Теперь буду думать, как это оптимизировать. Месяц назад на выделене формант у меня уходило в 40 раз больше машинного времени и надежность выделения ОТ была намного ниже. Багдаря DimmK удалось ускорить выделение ОТ и повысить надежность.

                                                                                                                                                                            Добавлено
                                                                                                                                                                            Якобсон лингвист-теоретик, а мы тут о практке беседуем. Ему может и достаточно 12 бинарных признаков, а нейросеть с 140 совсем не бинарными признаками распознает только отдельно произнесенные гласные с вероятностью в 98%. :)
                                                                                                                                                                            Сообщение отредактировано: Skif -

                                                                                                                                                                            Прикреплённый файлПрикреплённый файлrenamezip.jpg (170.68 Кбайт, скачиваний: 407)
                                                                                                                                                                              Для закачки файла щелкните по нему правой кнопкой и выберите сохранить как. Просто щелчком его не скачать. Удачи. Видимо не любят exe шники на этом форуме. Но главное что есть jpeg :)
                                                                                                                                                                                http://www.smolny.nw.ru/minerva/ch9/content9_4.html

                                                                                                                                                                                Добавлено
                                                                                                                                                                                http://www.smolny.nw.ru/minerva/ch9/content9_4.html
                                                                                                                                                                                Глава 9. Восприятие речи
                                                                                                                                                                                9.1. Введение
                                                                                                                                                                                9.2. Неомоторная модель и теория прямого восприятия
                                                                                                                                                                                9.3. Модель анализа через синтез
                                                                                                                                                                                9.4. Модели, использующие дифференциальные признаки
                                                                                                                                                                                9.5. Модели нормального процесса речи и механизмы речевых нарушений

                                                                                                                                                                                Содержание
                                                                                                                                                                                9.4.1. Введение
                                                                                                                                                                                9.4.2. Модель LAFF
                                                                                                                                                                                9.4.3. Модель LAFS
                                                                                                                                                                                9.4.4. Моделирование слуха
                                                                                                                                                                                9.4.5. Квазинейронные модели
                                                                                                                                                                                9.4.6. Модель взаимной активации
                                                                                                                                                                                9.4.7. Модель с использованием логики размытых (нечетких) множеств
                                                                                                                                                                                9.4.8. Модель "перцептивной стрелки"
                                                                                                                                                                                9.4.9. Логогенная модель
                                                                                                                                                                                9.4.10. Кортежные модели
                                                                                                                                                                                9.4.11. Ограничивающие модели
                                                                                                                                                                                9.4.12. Заключение


                                                                                                                                                                                http://www.jip.ru/2004/202-220.pdf
                                                                                                                                                                                В.Н.Сорокин, А.И.Цыплихин
                                                                                                                                                                                Сегментация и распознавание гласных
                                                                                                                                                                                Сообщение отредактировано: DimmK -
                                                                                                                                                                                  Цитата DimmK @
                                                                                                                                                                                  http://www.smolny.nw.ru/minerva/ch9/content9_4.html

                                                                                                                                                                                  Наши извинения...Элемент, который вы запросили, не существует на данном сервере, либо не может быть обслужен.
                                                                                                                                                                                  Пожалуйста, внимательно проверьте web адрес либо используйте поиск по сайту чтобы найти то, что ищете.
                                                                                                                                                                                  If you know you have the correct web address but are encountering an error, please contact the Управление сайтом.
                                                                                                                                                                                  Спасибо.
                                                                                                                                                                                  404 Not Found

                                                                                                                                                                                  Может логин и пароль нужен?
                                                                                                                                                                                  Очень хоца глянуть..

                                                                                                                                                                                  Ты смотрел мою прогу?
                                                                                                                                                                                  А Цыплихина с Сорокиным я давно скачал, у меня помойму их статей около пяти. Ну мне они не помогли.
                                                                                                                                                                                  http://www.jip.ru/2006/177-207-2006.pdf
                                                                                                                                                                                  А.И.Цыплихин, В.Н.Сорокин
                                                                                                                                                                                  Сегментация речи на кардинальные элементы

                                                                                                                                                                                  http://www.jip.ru/2004/141-159.pdf
                                                                                                                                                                                  А.С.Леонов, И.С.Макаров, В.Н.Сорокин и А.И.Цыплихин
                                                                                                                                                                                  Артикуляторный ресинтез фрикативных

                                                                                                                                                                                  http://www.jip.ru/2004/133-140.pdf
                                                                                                                                                                                  А.С. Леонов, И.С. Макаров, В.Н. Сорокин, А.И. Цыплихин
                                                                                                                                                                                  Артикуляторный ресинтез гласных

                                                                                                                                                                                  Еще одна просто Вордовский документ... Не помню где скачал.

                                                                                                                                                                                  ДВУМЕРНОЕ РАСПРЕДЕЛЕНИЕ ДЛИТЕЛЬНОСТЕЙ ФОНЕТИЧЕСКИХ СЕГМЕНТОВ
                                                                                                                                                                                  Прикреплённый файлПрикреплённый файлFoneticheskieSegmenti_Ciplihin.zip (84.29 Кбайт, скачиваний: 430)
                                                                                                                                                                                    Цитата Skif @
                                                                                                                                                                                    Тогда растянув массив AF1,AF2,AF3...AFn на 200 точек мы получим массив в котором будет не дискетный, а сплошной спектр с шагом в 40Гц.


                                                                                                                                                                                    Сделал выделение резонансных частот для слова "мама"
                                                                                                                                                                                    Прикреплённый файлПрикреплённый файлMAMA__spectr_i_OT_.jpg (86.64 Кбайт, скачиваний: 706)
                                                                                                                                                                                      to:Skif
                                                                                                                                                                                      сделал выделение формант через основной тон голоса - как ты советовал.
                                                                                                                                                                                      Получается что форманты изменяются при изменении высоты основного тона - а этого вроде быть не должно - или я не прав?
                                                                                                                                                                                      Прикреплённый файлПрикреплённый файлMAMA__spectr_cherez_OT_.jpg (19.68 Кбайт, скачиваний: 631)
                                                                                                                                                                                        to:Skif
                                                                                                                                                                                        Потом попробовал просто усреднить спектр - получается более красиво - форманты остаются на своих местах.
                                                                                                                                                                                        Так как правильно? Ты как думаешь?

                                                                                                                                                                                        Добавлено
                                                                                                                                                                                        Цитата Skif @
                                                                                                                                                                                        Цитата (DimmK @ Сегодня, 08:35)
                                                                                                                                                                                        http://www.smolny.nw.ru/minerva/ch9/content9_4.html

                                                                                                                                                                                        Наши извинения...Элемент, который вы запросили, не существует на данном сервере, либо не может быть обслужен.
                                                                                                                                                                                        Пожалуйста, внимательно проверьте web адрес либо используйте поиск по сайту чтобы найти то, что ищете.
                                                                                                                                                                                        If you know you have the correct web address but are encountering an error, please contact the Управление сайтом.
                                                                                                                                                                                        Спасибо.
                                                                                                                                                                                        404 Not Found

                                                                                                                                                                                        Может логин и пароль нужен?
                                                                                                                                                                                        Очень хоца глянуть..

                                                                                                                                                                                        Ты смотрел мою прогу?

                                                                                                                                                                                        Ссылка у меня работает, попробуй обратиться в другое время.
                                                                                                                                                                                        Прогу смотрел - у тебя ОТ определяет точнее чем у меня.
                                                                                                                                                                                        Прологарифмируй интенсивность 20*log10(FFT) - график будет ярче на высоких частотах.
                                                                                                                                                                                        У меня в проге на высоких частотах почему-то пошло расхождение FFT с резонансными частотами.
                                                                                                                                                                                        Домножил вычисленные частоты на 1.015 - и вроде вычисленные резонансы попали в резонансы FFT.
                                                                                                                                                                                        Как думаешь почему такое может быть?
                                                                                                                                                                                        Прикреплённый файлПрикреплённый файлMAMA__usrednenie_spectra_.jpg (56.64 Кбайт, скачиваний: 587)
                                                                                                                                                                                          Цитата DimmK @
                                                                                                                                                                                          сделал выделение формант через основной тон голоса - как ты советовал.
                                                                                                                                                                                          Получается что форманты изменяются при изменении высоты основного тона - а этого вроде быть не должно - или я не прав?

                                                                                                                                                                                          Да форманты могут менятся когда угодно и где угодно. Это косвенно связано и с ОТ.
                                                                                                                                                                                          1. При произесении гласных и сонорнх ротовой резонатор возбуждает импульсный сигнал идущий с голосовой связки и при изменении его спектра изменяется и спектр формант. Но это не влияет на частоту положения формант. Это только может влиять на амплитуду ВЧ составляющих.
                                                                                                                                                                                          2. При поизнесении гласных происходит незначительная перестройка ротовых резонаторов. Это одно из отличиельных признаков речи (ничто не стабильно в ее параметрах). Ты попробуй синтезировать речь. Как только один из параметров речи перестает колебаться около своего среднего значения резко падает распознаваемость фонемы.
                                                                                                                                                                                          3.
                                                                                                                                                                                          Конечно есть ошибки рассчетов. См выше.
                                                                                                                                                                                          Fn это чатота приближенная к максимальной чатоте спектрограммы, в твоем случае это 8000Гц.
                                                                                                                                                                                          К примеру:
                                                                                                                                                                                          F1=100Гц,Fn=F80=8000 Ошибка = 0;
                                                                                                                                                                                          F1=120Гц,Fn=F66=7920 Ошибка = 80;
                                                                                                                                                                                          F1=140Гц,Fn=F57=7980 Ошибка = 20;
                                                                                                                                                                                          F1=160Гц,Fn=F50=8000 Ошибка = 0;
                                                                                                                                                                                          Короче с достаточной точностью можо принять что Fn=8000Гц.

                                                                                                                                                                                          Они тоже могут дать некоторые изменения положения формант.
                                                                                                                                                                                          4. Логические ошибки в алгоритме. Не всегда программа делает то, что ты хочеш от нее. Она делает то что ты написл :).
                                                                                                                                                                                            Цитата DimmK @
                                                                                                                                                                                            Потом попробовал просто усреднить спектр - получается более красиво - форманты остаются на своих местах.
                                                                                                                                                                                            Так как правильно? Ты как думаешь?

                                                                                                                                                                                            Я думаю проблемы с выделением ОТ.
                                                                                                                                                                                            Цитата DimmK @
                                                                                                                                                                                            Прогу смотрел - у тебя ОТ определяет точнее чем у меня.

                                                                                                                                                                                            У меня шаг сонограммы не 15 а 3.9Гц сейчас.

                                                                                                                                                                                            Цитата DimmK @
                                                                                                                                                                                            Прологарифмируй интенсивность 20*log10(FFT) - график будет ярче на высоких частотах.

                                                                                                                                                                                            Да там логарифмический масштаб. Попробуй ползунок яркость повыше задрать. А может усиление микрофона слабое.

                                                                                                                                                                                            Цитата DimmK @
                                                                                                                                                                                            У меня в проге на высоких частотах почему-то пошло расхождение FFT с резонансными частотами.
                                                                                                                                                                                            Домножил вычисленные частоты на 1.015 - и вроде вычисленные резонансы попали в резонансы FFT.
                                                                                                                                                                                            Как думаешь почему такое может быть?

                                                                                                                                                                                            У меня подобное было. Помойму это был косяк в алгоритме. Я максимум неправильно находил. В условии стояло (x[i]>x[i-1] and x[i]>=x[i+1]) И иногда максиум определялся немножко раньше чем он есть. А еще у меня были ложные максимумы и я выбирал первый. Это тоже давало определение максимума раньше чем он есть.

                                                                                                                                                                                            См рисунок.
                                                                                                                                                                                            Сообщение отредактировано: Skif -

                                                                                                                                                                                            Прикреплённый файлПрикреплённый файлmax_detection.jpg (97.5 Кбайт, скачиваний: 562)
                                                                                                                                                                                              Усовершенствовал алгоритм - считаю ОТ как "центр масс", + окна хэмминга везде где идет усреднение по интервалу.
                                                                                                                                                                                              Почти совпадает с резонансными частотами :)

                                                                                                                                                                                              Не могу понять откуда взять первую, вторую и третью форманты?
                                                                                                                                                                                              Из спектра сформированного из значений резонансных частот?
                                                                                                                                                                                              И F1, F2, F3 - это первые три точки этого сформированного спектра, или первые три максимума?
                                                                                                                                                                                              Прикреплённый файлПрикреплённый файлаоуиыэ_аоуиыэ_аоуиыэ_3диктора__спектр_и_резонансы.jpg (180.35 Кбайт, скачиваний: 525)
                                                                                                                                                                                                аоуиыэ-аоуиыэ-аоуиыэ-3диктора--спектр_по_резонансам
                                                                                                                                                                                                Прикреплённый файлПрикреплённый файлаоуиыэ_аоуиыэ_аоуиыэ_3диктора__спектр_по_резонансам.jpg (118.17 Кбайт, скачиваний: 529)
                                                                                                                                                                                                  аоуиыэ-аоуиыэ-аоуиыэ-3диктора--спектр_усредненный
                                                                                                                                                                                                  Прикреплённый файлПрикреплённый файлаоуиыэ_аоуиыэ_аоуиыэ_3диктора__спектр_усредненный.jpg (64.02 Кбайт, скачиваний: 527)
                                                                                                                                                                                                    http://audio.micronet.lv/books/AldoshinaPsychoacoustics.zip
                                                                                                                                                                                                    Ирина Алдошина
                                                                                                                                                                                                    Основы психоакустики.

                                                                                                                                                                                                    Читать всем!!!

                                                                                                                                                                                                    Хотя бы со страницы 110
                                                                                                                                                                                                    Часть 17 Слух и речь.
                                                                                                                                                                                                      Цитата DimmK @
                                                                                                                                                                                                      Усовершенствовал алгоритм - считаю ОТ как "центр масс", + окна хэмминга везде где идет усреднение по интервалу.
                                                                                                                                                                                                      Почти совпадает с резонансными частотами :)

                                                                                                                                                                                                      Всегда и все можо сделать еще лучше.Это хороший способ точного детектирования ОТ при низком разрешении спектрограммы.
                                                                                                                                                                                                      Цитата DimmK @
                                                                                                                                                                                                      Не могу понять откуда взять первую, вторую и третью форманты?
                                                                                                                                                                                                      Из спектра сформированного из значений резонансных частот?
                                                                                                                                                                                                      И F1, F2, F3 - это первые три точки этого сформированного спектра, или первые три максимума?

                                                                                                                                                                                                      В общем я считаю это нереально детектировать формантные частоты. Это стоппер. Задача которая кажется слишком простой. Но ты на решние ее можешь потратить жизнь. Это только мое личное мнение. Многие Ученые думают, пишут, что это проще пареной репы. Но......
                                                                                                                                                                                                      Вот несколько проблем которые я встретил.
                                                                                                                                                                                                      1. Каждый диктор имеет ложные формантные частоты свойственные только ему.
                                                                                                                                                                                                      2. Не ложная форманта может превратится не в максимум а в перегиб функции спектра. Т.е. ее можно не отдетектировать.
                                                                                                                                                                                                      3. Есть пересечения в частотах формант различных гласных. Это опсано почти везде.
                                                                                                                                                                                                      4. Форманты И и Ы очень не стабильны.

                                                                                                                                                                                                      Я предлагаю использовать всю функцию спектра для анализа. См рисунок.
                                                                                                                                                                                                      Прикреплённый файлПрикреплённый файлMask_Analyze.jpg (112.56 Кбайт, скачиваний: 559)
                                                                                                                                                                                                        Есть у кого идеи, как содавать маски по предложенному мной выше методу.
                                                                                                                                                                                                        Если у кого есть другие идеи по распознаанию полученнх спектов, то поделитесь плиз.
                                                                                                                                                                                                          Цитата Skif @
                                                                                                                                                                                                          Если кому нужны исходники моего спектрального анализатора...
                                                                                                                                                                                                          Пишите скину.. Просто мне нужно там код в порядок привести и коментарии расставить.
                                                                                                                                                                                                          Лениво просто.Но если кто интересуется пишите, сделаю коментарии...

                                                                                                                                                                                                          Подготавливай код, мне интересно.

                                                                                                                                                                                                          Скачано, сразу не заметил.
                                                                                                                                                                                                            RAD
                                                                                                                                                                                                            Дай недельку. Я там выше сырец закинул.
                                                                                                                                                                                                            Сообщение отредактировано: Skif -
                                                                                                                                                                                                              Коллеги, читал я что здесь написано и не выдержал.
                                                                                                                                                                                                              1.Основной тон не является формантой и его частота обозначается F0.
                                                                                                                                                                                                              2.Не путайте гармоники основного тона с формантами. Гармоники обозначаются 2F0,3F0 и т.д., а форманты F1,F2 и т.д. Значения частот формант для гласных чуть ли не в каждой книге по распознаванию речи указаны. Если не будет единого обозначения вы друг друга не поймёте.
                                                                                                                                                                                                              3.Зачем обидели Лию Васильевну Бондарко. Очень уважаемую в наших кругах женщину. Она доктор филологических наук, а не технических, поэтому не знаю чего вы ожидали, начиная читать её книгу (кучу формул что ли?). А лингвистика в распознавании играет огромную роль.
                                                                                                                                                                                                              Спасибо за внимание.
                                                                                                                                                                                                                За пункты 1 и 2 плюсик.
                                                                                                                                                                                                                А вот третий пункт я не понял, видать где-то упустил ссылку на книгу.
                                                                                                                                                                                                                Но мне простительно, я тут не постоянно нахожусь.
                                                                                                                                                                                                                  Цитата kaa1 @
                                                                                                                                                                                                                  Коллеги, читал я что здесь написано и не выдержал.
                                                                                                                                                                                                                  1.Основной тон не является формантой и его частота обозначается F0.
                                                                                                                                                                                                                  2.Не путайте гармоники основного тона с формантами. Гармоники обозначаются 2F0,3F0 и т.д., а форманты F1,F2 и т.д. Значения частот формант для гласных чуть ли не в каждой книге по распознаванию речи указаны. Если не будет единого обозначения вы друг друга не поймёте.

                                                                                                                                                                                                                  Спасибо. - А то запутался из-за невнимательности.
                                                                                                                                                                                                                    kaa1
                                                                                                                                                                                                                    А Вы может, если имеете отношение к филологии, укажете литературу где конкретно описаны артикуляционные признаки фонем русской речи?
                                                                                                                                                                                                                      Цитата kaa1 @
                                                                                                                                                                                                                      Значения частот формант для гласных чуть ли не в каждой книге по распознаванию речи указаны.

                                                                                                                                                                                                                      Ну простите за, то что обозначения для частоты ОТ и для формантных частот не бьют с общепринятыми. Просто, в тех книжках, что я читал я встречал разные обозначения и не придавал этому этому знаячения. Спасибо за замечание.

                                                                                                                                                                                                                      Прошу заметить, что в книжках даны усредненные значения формантных частот. При разработке "распознавалки" нужно немножко больше чем усредненные параметры. Причем от книжки к книжке они меняются. В тех книжках где даны области, они пересекаются. А исходя из моих экспериментов, я могу сказать, что это не так. Просто для отличия фонем в зоне пересечения формантных частот необходимо анализировать большее число параметров. К примеру расстояние между F1 и F2.
                                                                                                                                                                                                                      Сообщение отредактировано: Skif -
                                                                                                                                                                                                                        Skif
                                                                                                                                                                                                                        Да, формантные частоты....
                                                                                                                                                                                                                        а ты шепотом фразу надиктуй и посмотри какие там формантные частоты...
                                                                                                                                                                                                                          decan
                                                                                                                                                                                                                          А по мне все в норме. Смотри прикрепленный рисунок.
                                                                                                                                                                                                                          Может ты путаешь форманты с гармониками основного тона?
                                                                                                                                                                                                                          Прикреплённый файлПрикреплённый файлШепот.JPG (38.32 Кбайт, скачиваний: 689)
                                                                                                                                                                                                                            Skif
                                                                                                                                                                                                                            Там шкал к сожалению нет, но я про то , что в шёпоте до 1000 гц по определению ничего нет.
                                                                                                                                                                                                                              Но что-то всё-таки в нём есть, раз мы понимаем то, что говориться шёпотом.
                                                                                                                                                                                                                                Не хочется писать большое сообщение, но надо. Рад, что мои замечания не остались незамеченными - это значит, что все здесь время от времени присутствующие хотят разобраться в проблеме.

                                                                                                                                                                                                                                1.Фонетическая литература,в которой в какой-то мере присутствует описание признаков фонем (хотя чуть ли не каждый признак можно попытаться оспорить):
                                                                                                                                                                                                                                а). Л.Л.Буланин. Фонетика современного русского языка.
                                                                                                                                                                                                                                б). Л.В.Златоустова,Р.К.Потапова,В.В.Потапов,В.Н.Трунин-Донской. Общая и прикладная фонетика.
                                                                                                                                                                                                                                в). Л.В.Бондарко. Звуковой строй современного русского языка.

                                                                                                                                                                                                                                2. По поводу частот формант. Для определения фонемы в основном используют 1-ю и 2-ю форманты. Сейчас, мне кажется, в основном все используют значения частот формант, определённых Фантом ещё в 60-х. На счёт этих частот существуют различные мнения. Вплоть до того, что они могут изменяться в зависимости от положения человека относительно микрофона. Здесь встаёт вопрос о том, что имеет большее влияние на определение звука: речеобразование или речевосприятие. Но это история длинная и я не хочу её затрагивать.

                                                                                                                                                                                                                                3. К филологии я отношение имею такое же как и вы. Я занимаюсь распознаванием речи. Из результатов могу озвучить, что выделяю ЧОТ с погрешностью менее 0,5%. Сегментация на вокализованные и невокализованные звуки осуществляется с точностью не менее 95%. Практически добился определения частот 1-й и 2-й форманты, используя определение форманты как максимума в спектре.

                                                                                                                                                                                                                                4. Как я понимаю, большая часть участников форума - аспиранты. Очень хотелось бы знать географию и научных руководителей, чтобы примерно оценить направления исследований. Я сам из Томска. Научный руководитель Бондаренко В.П.
                                                                                                                                                                                                                                  Цитата kaa1 @
                                                                                                                                                                                                                                  К филологии я отношение имею такое же как и вы. Я занимаюсь распознаванием речи. Из результатов могу озвучить, что выделяю ЧОТ с погрешностью менее 0,5%.

                                                                                                                                                                                                                                  Как делал, если при помощи авторегресии, то можно делать сегментацию, начало новой фонемы это разладка авторегресии. Про разладку авторегресси написано написанл масса статей.
                                                                                                                                                                                                                                  Цитата kaa1 @
                                                                                                                                                                                                                                  Сегментация на вокализованные и невокализованные звуки осуществляется с точностью не менее 95%. Практически добился определения частот 1-й и 2-й форманты, используя определение форманты как максимума в спектре.

                                                                                                                                                                                                                                  вокализованные и невокализованные звуки - это шумные и нешумные?.
                                                                                                                                                                                                                                    Авторегрессией у нас занимались более 10 лет назад и она не даёт хороших результатов.
                                                                                                                                                                                                                                    Вокализованные (vocal) и невокализованные (nonvocal) - это звуки, образованные с участием голосового источника и без его участия соответственно.
                                                                                                                                                                                                                                      Цитата kaa1 @
                                                                                                                                                                                                                                      К филологии я отношение имею такое же как и вы. Я занимаюсь распознаванием речи. Из результатов могу озвучить, что выделяю ЧОТ с погрешностью менее 0,5%. Сегментация на вокализованные и невокализованные звуки осуществляется с точностью не менее 95%. Практически добился определения частот 1-й и 2-й форманты, используя определение форманты как максимума в спектре.

                                                                                                                                                                                                                                      Алгоритм известен или модификация старого или совершенно новый? На TIMIT проверял?

                                                                                                                                                                                                                                      Добавлено
                                                                                                                                                                                                                                      Цитата kaa1 @
                                                                                                                                                                                                                                      Вокализованные (vocal) и невокализованные (nonvocal) - это звуки, образованные с участием голосового источника и без его участия соответственно.

                                                                                                                                                                                                                                      vocal переводится как звучный, а тогда nonvocal не звучный.
                                                                                                                                                                                                                                      Почему плохо распознаются nonvocalic методом главных компанент, можешь объяснить
                                                                                                                                                                                                                                      Fonem klasa "vocalic" raspoznano=>92.6613%
                                                                                                                                                                                                                                      Fonem klasa "nonvocalic" raspoznano=>63.134%
                                                                                                                                                                                                                                        TIMITа у меня нет. Алгоритм выделения основного тона и гармоник новый. Примерное местоположение формант я определяю как максимальную по интенсивности гармонику в определённой полосе частот. Но с формантами всё это требует проверки. Хотя графики получаются довольно точно совпадающие с классическими.
                                                                                                                                                                                                                                        Термины "вокализованный" и "невокализованный" также общеприменимы (см. пер. с англ. Фланаган "Анализ, синтез и восприятие речи", например).
                                                                                                                                                                                                                                        Я не занимаюсь ни методом главных компонент, ни СММ, ни другими способами статистического распознавания. У меня всё базируется на фильтрах, соответствующих слуховой системе человека.
                                                                                                                                                                                                                                        Могу предположить, что если речь слитная, то у глухих звуков есть увеличение интенсивности в районе ЧОТ вокализованных. Поэтому я определяю наличие основного тона по наличию двух первых гармоник. Примерный алгоритм определения ЧОТ описан в последнем сборнике РАО.
                                                                                                                                                                                                                                        Сообщение отредактировано: kaa1 -
                                                                                                                                                                                                                                          Цитата kaa1 @
                                                                                                                                                                                                                                          TIMITа у меня нет. Алгоритм выделения основного тона и гармоник новый. Примерное местоположение формант я определяю как максимальное значение гармоники в определённой полосе частот. Но с формантами всё это требует проверки. Хотя графики получаются довольно точно совпадающие с классическими.
                                                                                                                                                                                                                                          .........................
                                                                                                                                                                                                                                          Могу предположить, что если речь слитная, то у глухих звуков есть увеличение интенсивности в районе ЧОТ вокализованных. Поэтому я определяю наличие основного тона по наличию двух первых гармоник. Примерный алгоритм определения ЧОТ описан в последнем сборнике РАО.


                                                                                                                                                                                                                                          Я тут понял, вроде почему мой ftp глохнет. Нельзя для ftp помещать много маленьких файло, например как в TIMIT. Надо сжимать. Поэтому его востановлю еще раз и скажу тебе где скачать TIMIT. Только не скачивайте модемами - мой ftp ломается, он не любит малой скорости.
                                                                                                                                                                                                                                          Пришлм мне статью про алгоритм определения ЧОТ из сборника РАО, если не трудно на мыло
                                                                                                                                                                                                                                          grisania@yandex.ru.
                                                                                                                                                                                                                                          Сообщение отредактировано: grisania -
                                                                                                                                                                                                                                            Отправил. Смысл в том, что после маскировки сигнала явно видна периодическая структура вокализованных звуков. Это даёт возможность создать набор масок. Сигнал сравнивается с каждой из масок. Если получившееся значение схожести сигнала и маски подпадает под ограничительный порог, то дискрета сигнала признаётся вокализованной. Дальше следуют определённые накрутки , чтобы исключить случайные погрешности, и всё работает.
                                                                                                                                                                                                                                            Вероятность пропуска существующей границы 0,02.
                                                                                                                                                                                                                                            Вероятность определения несуществующей границы 0,08.
                                                                                                                                                                                                                                            Вероятность правильного определения временного значения границы равна 0,91 (при условии, что верное определение границы при погрешности 0,01с; при погрешности 0,02с - 0,94).
                                                                                                                                                                                                                                            Эксперимент проводился на русской слитной речи. 10 дикторов (5-муж., 5-жен.).
                                                                                                                                                                                                                                            Исследовано было 550 границ между вокализованными и невокализованными сегментами.
                                                                                                                                                                                                                                            Эти результаты можно улучшить, но пока руки не дошли до новых экспериментов.
                                                                                                                                                                                                                                            Сообщение отредактировано: kaa1 -
                                                                                                                                                                                                                                              Цитата kaa1 @
                                                                                                                                                                                                                                              Отправил. Смысл в том, что после маскировки сигнала явно видна периодическая структура вокализованных звуков. Это даёт возможность создать набор масок. Сигнал сравнивается с каждой из масок. Если получившееся значение схожести сигнала и маски подпадает под ограничительный порог, то дискрета сигнала признаётся вокализованной. Дальше следуют определённые накрутки , чтобы исключить случайные погрешности, и всё работает.
                                                                                                                                                                                                                                              Вероятность пропуска существующей границы 0,02.
                                                                                                                                                                                                                                              Вероятность определения несуществующей границы 0,08.
                                                                                                                                                                                                                                              Вероятность правильного определения временного значения границы равна 0,91 (при условии, что верное определение границы при погрешности 0,01с; при погрешности 0,02с - 0,94).
                                                                                                                                                                                                                                              Эксперимент проводился на русской слитной речи. 10 дикторов (5-муж., 5-жен.).
                                                                                                                                                                                                                                              Исследовано было 550 границ сегментов.
                                                                                                                                                                                                                                              .

                                                                                                                                                                                                                                              Что такое маскировка - это удаление не нужных гармоник как в сжатии MPEG.
                                                                                                                                                                                                                                              В своем дискриминантном анализе я ищу такие 2 фильтра для vocal и notvocal, которые имеют наименьшию энергию распознавания. Можно конечно искать такие два 2 фильтра только в частотной области, но так построенные фильтры плохо распознают.
                                                                                                                                                                                                                                              Я предполагаю что после сжатия MPEG, то есть после маскирования такой дискриминантный анализ будет лучше, но я не умею делать маскирование, т.е сжатие MPEG. Может знаешь как это делать?
                                                                                                                                                                                                                                                Маскировка - удаление из спектра несущественных для слуха человека компонент. При маскировке ни одна гармоника не удаляется. В статье есть рисунок, на котором приведён сигнал после одновременной (частотной) маскировки. По осям время и частота.
                                                                                                                                                                                                                                                http://www.625-net.ru/archive/z0600/7.htm
                                                                                                                                                                                                                                                Кое-что там есть.
                                                                                                                                                                                                                                                Сообщение отредактировано: kaa1 -
                                                                                                                                                                                                                                                  Цитата kaa1 @
                                                                                                                                                                                                                                                  Маскировка - удаление из спектра несущественных для слуха человека компонент. При маскировке ни одна гармоника не удаляется.

                                                                                                                                                                                                                                                  Что-то не врубаюсь. :wall: Нет ли противоречия в этой фразе:
                                                                                                                                                                                                                                                  удаление из спектра несущественных для слуха человека компонент. При маскировке ни одна гармоника не удаляется
                                                                                                                                                                                                                                                    Первая гармоника - основной тон(F0). Допустим, что F0=100Гц, тогда вторая гармоника 2F0=200Гц. Между ними 100Гц. С учётом критических полос и т.д. можно отбросить частотную полосу порядка 50Гц, в которой интенсивность сигнала меньше порога слышимости для данной полосы частот.
                                                                                                                                                                                                                                                    Фильтры я не сам писал. На это нужно слишком много времени. А сейчас как раз сижу с этим разбираюсь досконально, чтобы написать соответствующий параграф в диссертацию.
                                                                                                                                                                                                                                                    Сообщение отредактировано: kaa1 -
                                                                                                                                                                                                                                                      kaa1
                                                                                                                                                                                                                                                      Мне тоже интересен алгоритм РАО. radz на yandex'е.
                                                                                                                                                                                                                                                        Он вам особо сильно не поможет, потому что во многом привязан к системе фильтров. Но всем, что опубликовано в открытой печати я готов поделиться.
                                                                                                                                                                                                                                                          Цитата grisania @
                                                                                                                                                                                                                                                          Пришлм мне статью про алгоритм определения ЧОТ из сборника РАО, если не трудно на мыло
                                                                                                                                                                                                                                                          grisania@yandex.ru.

                                                                                                                                                                                                                                                          а этой статье есть статья
                                                                                                                                                                                                                                                          Бондаренко В.П., Коцубинский В.П., Мещеряков Р.В. Адаптивный анализ голосового сигнала // Интеллектуальные системы в управлении, конструировании и образовании / Под ред. А.А. Шелупанова. – Томск: STT, 2004. - 216 с. – С.58-61.
                                                                                                                                                                                                                                                          Можешь ее прислать.

                                                                                                                                                                                                                                                          Если есть русские фонемы и их много, то я могу сделать и распознавание на вокализованные и невокализованные.
                                                                                                                                                                                                                                                          Однако я запутался вокализованные - это гласные и сонорные согласные, т.е содержащие основной тон.
                                                                                                                                                                                                                                                          Тогда что такое глухие и звонкие в книжке Сапожкова стр. 328. Там тоже глухие и звонкие делятся н эти классы в зависимости от наличия основного тона.
                                                                                                                                                                                                                                                          Пока невоклизованные плохо распознаются энергетическим дискриминантым анализом. Но невоклизованные, которые не распознаюся, имеют большие всплески по амплтуде. Можно конечно их отсортировать (отсчетов всего 512) и убрать большие всплески по амплтуде, но как их устранить по науке? Может есть известные алгоритмы?
                                                                                                                                                                                                                                                            Самое главное, что есть в этой статье, - описание системы фильтров. Чтобы взять эту статью нужно время. Есть более поздний вариант с примерным описанием фильтров.
                                                                                                                                                                                                                                                            К вокализованным относятся звуки с наличием основного тона (гласные, сонанты, звонкие), к невокализованным - без основного тона, т.е. в их образовании не участвуют голосовые складки (глухие).
                                                                                                                                                                                                                                                            В речевом сигнале по суммарной энергии довольно тяжело осуществлять разбиение на эти два класса, особенно в слитной речи. Вполне возможно, что алгоритм работает правильно, а неверное определение класса - недостаток самого алгоритма, а не его работы. Часто энергия невокализованных звуков, например глухих смычных на участке самой смычки, превышает ту же характеристику у безударных гласных второго порядка, щелевых звонких и др.
                                                                                                                                                                                                                                                              Цитата kaa1 @
                                                                                                                                                                                                                                                              Часто энергия невокализованных звуков, например глухих смычных на участке самой смычки, превышает ту же характеристику у безударных гласных второго порядка, щелевых звонких и др.

                                                                                                                                                                                                                                                              Это действительно так, когда накладываешь окно, то распознавания улучшается. Значит, окно на краях убирает ударение. Но думаю, что окно не должно быть симметричным. Надо продумать вид такого окна. Оно очень важно, так как начало фонемы по любому нельзя точно определить, а окно будет сглаживать ошибки выбора начало фонем.
                                                                                                                                                                                                                                                              Если к вокализованным относятся гласные, сонанты, звонкие, то это звонкие как в книжке Сапожкова.
                                                                                                                                                                                                                                                              Но это замечательно, если есть алгоритм определения начало основного тона у вокализованных фонем, значит, можно сегментировать начало вокализованных фонем.

                                                                                                                                                                                                                                                              Все же как убирать всплески энергии у невокализованных звуков? Я перед распознаванием каждую фонему растягиваю по максимальной амплитуде. Например, можно у всех фонем сделать максимальную амплитуду единицей. Но если есть всплеск по амплитуде, то он все портит. А у невокализованных фонем это часто бывает. Любопытно, как ухо человека убирает всплеск?
                                                                                                                                                                                                                                                              Если никто ничего путного не посоветует, то буду химичить.
                                                                                                                                                                                                                                                              1 вариант. Отсортирую, и буду брать RMS, в который входит всплеск и сравнивать его с другими, если нет значительных изменений, то все в порядке - это не всплеск.
                                                                                                                                                                                                                                                              2 вариант. Найду всплеск, осмотрю рядом отсчеты, если там нет такого резкого изменения, то это всплеск - его надо убрать.
                                                                                                                                                                                                                                                              Что любопытно, то это то, что в вокализованные звуки нельзя втащить всплеск. Мешает основной тон. Я пытался сам внести, проговаривая вокализованные звуки. Только увеличивается громкость вокализованного звука и все.
                                                                                                                                                                                                                                                                Цитата grisania @
                                                                                                                                                                                                                                                                в вокализованные звуки нельзя втащить всплеск.

                                                                                                                                                                                                                                                                У вокализованных это проявляется по другому. У звонких смычных происходит скачок частоты основного тона. Ударность гласного может быть определена за счёт скачка ЧОТ или увеличения длительности звука.
                                                                                                                                                                                                                                                                Цитата grisania @
                                                                                                                                                                                                                                                                Любопытно, как ухо человека убирает всплеск?

                                                                                                                                                                                                                                                                А вот это уже вопрос интересный. Возможно, ему не надо убирать этот всплеск, потому что это является характеристикой какого-либо класса глухих звуков по месту образования (пример со смычными глухими). Здесь главный вопрос - какие параметры использует слух для определения вокализации сегмента. Для выяснения этого и строятся различные модели. И у каждой модели есть свой потолок, определяемый степенью адекватности этой модели исследуемой системе. Соответсвенно и результаты имеют свой потолок.
                                                                                                                                                                                                                                                                Я считаю, что подобрался к действительности довольно близко, используя как параметр наличие первых двух гармоник основного тона. Ошибки возникают только на звонких щелевых (ж,з) и н из-за небольшой относительной амплитуды второй гармоники. Её заглушают боковые составляющие первой гармоники (основоного тона) в связи с возникающей в сигнале модуляцией. Это моё личное мнение, но у Сорокина в "Теории речеобразования" есть таблица, из которой следует, что при маскировке белым шумом наиболее плохой процент распознавания именно у этих трёх фонем.
                                                                                                                                                                                                                                                                На прикреплённом рисунке речевой сигнал после маскировки, которая осуществляется и в слуховой системе. По оси абсцисс - время, по оси ординат - частотные каналы (127 - 70 Гц, 0 - 2500 Гц, шкала - логарифмическая). Амплитуда двоичная: если данная точка спектра воспринимается слуховой системой, то амплитуда равна 1, и наоборот. Сегменты, на которых чётко видны две первые гармоники, вокализованы.Фраза "Это учебное".
                                                                                                                                                                                                                                                                Сообщение отредактировано: kaa1 -

                                                                                                                                                                                                                                                                Прикреплённый файлПрикреплённый файлРисунок1.png (178.98 Кбайт, скачиваний: 746)
                                                                                                                                                                                                                                                                  У одного человека основной тон может быть разным на различных фонемах?
                                                                                                                                                                                                                                                                    Цитата
                                                                                                                                                                                                                                                                    У одного человека основной тон может быть разным на различных фонемах?


                                                                                                                                                                                                                                                                    Да, он может быть разным даже на одной фонеме. :) Это вообще вещи не связанные друг с другом.
                                                                                                                                                                                                                                                                      Цитата nsh @
                                                                                                                                                                                                                                                                      Цитата
                                                                                                                                                                                                                                                                      У одного человека основной тон может быть разным на различных фонемах?


                                                                                                                                                                                                                                                                      Да, он может быть разным даже на одной фонеме. :) Это вообще вещи не связанные друг с другом.

                                                                                                                                                                                                                                                                      Ура кто-то ответил =)

                                                                                                                                                                                                                                                                      пожалуста если это не страшный боян скажите (сверху все я читал ругаться не надо :) )
                                                                                                                                                                                                                                                                      что такое:

                                                                                                                                                                                                                                                                      1. основной тон,
                                                                                                                                                                                                                                                                      2. форманта.

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


                                                                                                                                                                                                                                                                          Вот тут у меня 4 диктора произносят одну фонему, у всех разное количество формант. Как можно сказать по этим спектрограммам что это один звук? =)
                                                                                                                                                                                                                                                                          никак?
                                                                                                                                                                                                                                                                          user posted image
                                                                                                                                                                                                                                                                            Ну надо различать один звук и одну фонему. Звуки все говорят разные.

                                                                                                                                                                                                                                                                            Если набрать статистику по диктору какие у него форманты к каким звукам относятся то гласные можно различать. И то не наверняка.
                                                                                                                                                                                                                                                                              Есть статья
                                                                                                                                                                                                                                                                              Ямов С.И., Кабак И.С., Курочкин С.Н., Бродин А.Г.
                                                                                                                                                                                                                                                                              МНОГОУРОВНЕВАЯ СИСТЕМА РАСПОЗНАВАНИЯ РЕЧИ
                                                                                                                                                                                                                                                                              там про распознавание фонем
                                                                                                                                                                                                                                                                              только теория
                                                                                                                                                                                                                                                                              если надо кину

                                                                                                                                                                                                                                                                              Добавлено
                                                                                                                                                                                                                                                                              :) читаю глупо получилось: если надо кину,
                                                                                                                                                                                                                                                                              :) я людей не кидаю
                                                                                                                                                                                                                                                                                Цитата Ich_bin_Turisten @
                                                                                                                                                                                                                                                                                Есть статья
                                                                                                                                                                                                                                                                                Ямов С.И., Кабак И.С., Курочкин С.Н., Бродин А.Г.
                                                                                                                                                                                                                                                                                МНОГОУРОВНЕВАЯ СИСТЕМА РАСПОЗНАВАНИЯ РЕЧИ
                                                                                                                                                                                                                                                                                там про распознавание фонем
                                                                                                                                                                                                                                                                                только теория
                                                                                                                                                                                                                                                                                если надо кину

                                                                                                                                                                                                                                                                                Добавлено
                                                                                                                                                                                                                                                                                :) читаю глупо получилось: если надо кину,
                                                                                                                                                                                                                                                                                :) я людей не кидаю

                                                                                                                                                                                                                                                                                Киньте пожалуйста если не трудно, yco1694[собачка]yandex.ru

                                                                                                                                                                                                                                                                                -Added
                                                                                                                                                                                                                                                                                Цитата nsh @
                                                                                                                                                                                                                                                                                Ну надо различать один звук и одну фонему. Звуки все говорят разные.

                                                                                                                                                                                                                                                                                Если набрать статистику по диктору какие у него форманты к каким звукам относятся то гласные можно различать. И то не наверняка.

                                                                                                                                                                                                                                                                                Т.е. Вы говорите сейчас только о диктороЗависимом распозновании?
                                                                                                                                                                                                                                                                                  Если набрать большую статистику по большому числу разных дикторов, можно выносить и независимые решения :P

                                                                                                                                                                                                                                                                                  Добавлено
                                                                                                                                                                                                                                                                                  Статья Ямов С.И., Кабак И.С., Курочкин С.Н., Бродин А.Г.
                                                                                                                                                                                                                                                                                  МНОГОУРОВНЕВАЯ СИСТЕМА РАСПОЗНАВАНИЯ РЕЧИ

                                                                                                                                                                                                                                                                                  http://magazine.stankin.ru/arch/n_01/con_sys/005.html

                                                                                                                                                                                                                                                                                  Ну почитать можно
                                                                                                                                                                                                                                                                                    Цитата nsh @
                                                                                                                                                                                                                                                                                    Если набрать большую статистику по большому числу разных дикторов, можно выносить и независимые решения :P

                                                                                                                                                                                                                                                                                    Добавлено
                                                                                                                                                                                                                                                                                    Статья Ямов С.И., Кабак И.С., Курочкин С.Н., Бродин А.Г.
                                                                                                                                                                                                                                                                                    МНОГОУРОВНЕВАЯ СИСТЕМА РАСПОЗНАВАНИЯ РЕЧИ

                                                                                                                                                                                                                                                                                    http://magazine.stankin.ru/arch/n_01/con_sys/005.html

                                                                                                                                                                                                                                                                                    Ну почитать можно

                                                                                                                                                                                                                                                                                    большое спасибо.
                                                                                                                                                                                                                                                                                      Цитата navigator29 @
                                                                                                                                                                                                                                                                                      Вот тут у меня 4 диктора произносят одну фонему, у всех разное количество формант. Как можно сказать по этим спектрограммам что это один звук? =)
                                                                                                                                                                                                                                                                                      никак?
                                                                                                                                                                                                                                                                                      user posted image

                                                                                                                                                                                                                                                                                      Подскажите, в какой программе можно получить вот такой график по конкретной фонеме? Нужна не спектрограмма, а спектр.
                                                                                                                                                                                                                                                                                      А отсюда соответствующий вопрос. Спектрограмма имеет ось времени, в случае спектра её нет. Как в этом случае эта программа будет обрабатывать звукой файл, в котором время учитывается, как само собой разумеющееся.
                                                                                                                                                                                                                                                                                        это, скорее всего, возможно только для стационарных звуков. А их немного. Можно вычислять средний спектр (в спектралабе), но это сомнительный способ. Что касается картинки, то, судя по надписи, изображен то ли звук "и", то ли звук "ы". А они могут иметь несколько реализаций и быть нестационарными
                                                                                                                                                                                                                                                                                          Цитата neurofish @
                                                                                                                                                                                                                                                                                          это, скорее всего, возможно только для стационарных звуков. А их немного. Можно вычислять средний спектр (в спектралабе), но это сомнительный способ. Что касается картинки, то, судя по надписи, изображен то ли звук "и", то ли звук "ы". А они могут иметь несколько реализаций и быть нестационарными

                                                                                                                                                                                                                                                                                          Спектрлаб это что такое?

                                                                                                                                                                                                                                                                                          Просто в книжках для некоторых звуков приводятся такие картинки, но не для всех. Я вот и хочу попробовать получить для некоторых других.
                                                                                                                                                                                                                                                                                          Если это сомнительный способ, то как тогда эти какртинки авторы получали?
                                                                                                                                                                                                                                                                                            Да любая программа это умеет, Wavesurfer http://www.speech.kth.se/wavesurfer/download.html например:

                                                                                                                                                                                                                                                                                            user posted image

                                                                                                                                                                                                                                                                                            Praat, конечно, продвинутее, но им пользоваться сложнее.
                                                                                                                                                                                                                                                                                              Цитата

                                                                                                                                                                                                                                                                                              Спектрлаб это что такое?

                                                                                                                                                                                                                                                                                              Spectralab - популярная программа анализа спектра

                                                                                                                                                                                                                                                                                              Цитата

                                                                                                                                                                                                                                                                                              Если это сомнительный способ, то как тогда эти какртинки авторы получали?

                                                                                                                                                                                                                                                                                              сомнителен этот способ не тем, что нельзя получить такой спектр, а тем, что пользы от этого занятия мало будет
                                                                                                                                                                                                                                                                                                Расчет спектра на времменом окне всегда дает лишь сечение спектрограммы, чтобы получить только классический компл. спектр, независимый от времени, надо взять фонограмму от минус бесконечности до плюс, что нереально.
                                                                                                                                                                                                                                                                                                Сообщение отредактировано: Hobbit -
                                                                                                                                                                                                                                                                                                  Цитата neurofish @
                                                                                                                                                                                                                                                                                                  сомнителен этот способ не тем, что нельзя получить такой спектр, а тем, что пользы от этого занятия мало будет

                                                                                                                                                                                                                                                                                                  А если на основе набранной статистики (для конкретного диктора) по конкретной фонеме попробовать изменять параметры цифрового фильтра для синтеза спектра, полученно по статистике. Разве так нельзя добиться более хорошего кчества синтеза?
                                                                                                                                                                                                                                                                                                    Можно такое, только называется это не синтез а преобразование голоса (voice conversion/voice transformation). Записывается 30-40 предложений, строится матрица линейных пробразований, чтобы точно подгонять параметры мел-кепстра. Потом человек говорит, а его речь преобразуется в другой голос. Получается очень неплохо.

                                                                                                                                                                                                                                                                                                    http://www.cs.cmu.edu/~awb/papers/icassp2005/0100009.pdf

                                                                                                                                                                                                                                                                                                    Исходники этого дела есть внутри festvox.
                                                                                                                                                                                                                                                                                                      Столкнулса вот с таким вопросом: опознавание тона (голоса) и формирование искуственного голоса по опознаним даним.
                                                                                                                                                                                                                                                                                                      Может кто-нибуть что-нибуть посоветовать! Буду благодарен за подходящую литературу. Спасибо! :)
                                                                                                                                                                                                                                                                                                        Цитата Lebedev @
                                                                                                                                                                                                                                                                                                        Как можно сказать по этим спектрограммам что это один звук?

                                                                                                                                                                                                                                                                                                        Нужно анализировать огибающую спектра. Для примера я прикрепил рисунок. Всплески на спектре кратны частоте основного тона (ОТ). А огибающая характеризует спектр резонаторов. В связи с тем что частота ОТ различная у разных дикторов точность определения огибающей меняется от диктора к диктору. У женских голосов частота ОТ максимальная и всвязи с этим огибающая получается не совсем точная.

                                                                                                                                                                                                                                                                                                        Добавлено
                                                                                                                                                                                                                                                                                                        Ко всему прочему важно при выполнении преобразования фурье учитывать что длина окна для различных дикторов постоянна, т.е. нужно использовать одну и ту же длину окна БПФ, для получения одной и той же частотной шкалы в результатах БПФ. От фонеме к фонеме спектры огибающих будут меняться и для нахождения областей в которых спектры различных фонем не пересекаюстя это отдельная задача.
                                                                                                                                                                                                                                                                                                        Прикреплённый файлПрикреплённый файлf530495abab671b49a.jpg (90.64 Кбайт, скачиваний: 669)
                                                                                                                                                                                                                                                                                                          Есть пара вопросов для уточнения, форманты: разные источники определяют несколько по-разному: 1- любой спектральный пик - форманта, 2- имеется область частоты ОТ с гармониками и более ВЧ-область формант, кто как понимает этот термин?

                                                                                                                                                                                                                                                                                                          ПС Также изучаю вопрос о спектральных методах оценки ОТ. Поэтому интересуют ссылки на публикации.
                                                                                                                                                                                                                                                                                                            Цитата Hobbit @
                                                                                                                                                                                                                                                                                                            имеется область частоты ОТ с гармониками и более ВЧ-область формант

                                                                                                                                                                                                                                                                                                            Гармоники основного тона уходят куда-то в район бесконечности, поэтому они не могут быть ниже по частоте, чем форманты.
                                                                                                                                                                                                                                                                                                            Есть, например, такая книга: Общая и прикладная фонетика: учеб. пособие / Л. В. Златоустова, Р. К. Потапова, В. В. Потапов, В. Н. Трунин-Донской.
                                                                                                                                                                                                                                                                                                            Выдержка из неё: "Наряду с частотой основного тона немаловажными параметрами, характеризующими вокализованный речевой сигнал, являются частоты формант. На форму звуковой волны, исходящей от голосового источника, накладываются частотные характеристики резонирующих полостей речевого тракта. Собственные частоты резонаторов являются наиболее усиленными в акустической картине звука. Эти усиленные частоты называют формантами.
                                                                                                                                                                                                                                                                                                            На данный момент существует несколько определений частоты форманты. Первое – частотой форманты называют частоту полюса фильтрующей функции речевого тракта. Второе – частотой форманты называют среднюю (средневзвешенную) частоту спектра в области соответствующей форманты. Третье – за частоты формант принимают частоты максимумов спектра. Наиболее общепринятым является третий вариант определения."
                                                                                                                                                                                                                                                                                                            Частота основного тона напрямую зависит от частоты колебаний голосовых складок. Гармоники основного тона кратны по частоте основному тону. Я на этом форуме значения формант уже приводил.
                                                                                                                                                                                                                                                                                                            Цитата Hobbit @
                                                                                                                                                                                                                                                                                                            интересуют ссылки на публикации

                                                                                                                                                                                                                                                                                                            Есть в этом форуме прикреплённая тема про основной тон, там кое-что найдёте. А ещё есть классики, например, Рабинер.
                                                                                                                                                                                                                                                                                                            Сообщение отредактировано: kaa1 -
                                                                                                                                                                                                                                                                                                              "Гармоники основного тона уходят куда-то в район бесконечности" - имелись ввиду первые 4-5.
                                                                                                                                                                                                                                                                                                              "частотные характеристики резонирующих полостей речевого тракта" - в каком диапазоне частот АЧХ имеет максимумы? Не в области ли ВЧ по отношения к первой строке? - отсюда второе возможное определение
                                                                                                                                                                                                                                                                                                              "Второе – частотой форманты называют среднюю (средневзвешенную) частоту спектра в области соответствующей форманты." Можно чуть подетальнее объяснить?
                                                                                                                                                                                                                                                                                                                Цитата Hobbit @
                                                                                                                                                                                                                                                                                                                имелись ввиду первые 4-5

                                                                                                                                                                                                                                                                                                                Цитата Hobbit @
                                                                                                                                                                                                                                                                                                                в каком диапазоне частот АЧХ имеет максимумы? Не в области ли ВЧ по отношения к первой строке?

                                                                                                                                                                                                                                                                                                                Нет, не в этой области. Частота 4-5-й гармоники может совпадать с частотой второй форманты. А основной тон может находиться в той же частотной области, что и первая форманта, поэтому область формант не является более высокочастотной.
                                                                                                                                                                                                                                                                                                                Цитата Hobbit @
                                                                                                                                                                                                                                                                                                                Можно чуть подетальнее объяснить?

                                                                                                                                                                                                                                                                                                                Если Вы употребляете понятие "область форманты", то значит Вы понимаете, что это такое, и у Вас не должно быть сложностей при вычислении средней частоты в этой области.
                                                                                                                                                                                                                                                                                                                Сообщение отредактировано: kaa1 -
                                                                                                                                                                                                                                                                                                                  У кого-нибудь есть программа Raw Waveform?
                                                                                                                                                                                                                                                                                                                  Прикреплённый файлПрикреплённый файлРисунок2.jpg (84.69 Кбайт, скачиваний: 603)
                                                                                                                                                                                                                                                                                                                    Ничего, что не в тему запостили ;) ?

                                                                                                                                                                                                                                                                                                                    Это не программа называется Raw Waveform, это окошко называется так. А программа какая-то наша самописная судя по всему. Гораздо проще скачать Wavesurfer, там всё такое же есть:

                                                                                                                                                                                                                                                                                                                    http://www.speech.kth.se/wavesurfer/download.html
                                                                                                                                                                                                                                                                                                                      Цитата nsh @
                                                                                                                                                                                                                                                                                                                      Ничего, что не в тему запостили ;) ?

                                                                                                                                                                                                                                                                                                                      Это не программа называется Raw Waveform, это окошко называется так. А программа какая-то наша самописная судя по всему. Гораздо проще скачать Wavesurfer, там всё такое же есть:

                                                                                                                                                                                                                                                                                                                      http://www.speech.kth.se/wavesurfer/download.html

                                                                                                                                                                                                                                                                                                                      Просто эта программа позволяет выделить фонемы (судя по указанным в этом окошке вверху фонемам "Вы мне писали"), я и подумала, что сюда можно писать. :huh:
                                                                                                                                                                                                                                                                                                                      Есть у меня Wavesurfer, но как в ней получить разбиение слов на фонемы (как в том окошке вверху)?
                                                                                                                                                                                                                                                                                                                        Это ручное выделение, если Вас это интересует. В Wavesurfer на панели щёлкаете правой кнопкой мыши - Add Pane->Transcription. Добавляется полоска с транскрипцией. На ней щёлкаете - Insert Label, двигаете метку, потом снова правой кнопой - Save All Labels. Сохраняете транскрипцию.

                                                                                                                                                                                                                                                                                                                        Добавлено
                                                                                                                                                                                                                                                                                                                        P.S. Ни одна программа так точно границы пока искать не может :)

                                                                                                                                                                                                                                                                                                                        Добавлено
                                                                                                                                                                                                                                                                                                                        Хотя нет, не так точно, на картинке после с перед а слишком рано граница :)
                                                                                                                                                                                                                                                                                                                          Получается, что это мы сами пишем названия фонем. А я подумала, что программа сама выводит их, т.е. распознает. :o

                                                                                                                                                                                                                                                                                                                          Я изучаю вопрос распознавания речи по спектрограмме. Получила спектрограммы разных звуков, получается, что совершенно разные фонемы почти не отличаются друг от друга. Как тогда вообще распознавать?
                                                                                                                                                                                                                                                                                                                            Ну как, про это целые книги написаны.

                                                                                                                                                                                                                                                                                                                            Вводную информацию можно посмотреть в энциклопедиях и поискать в сети, вроде

                                                                                                                                                                                                                                                                                                                            http://en.wikipedia.org/wiki/Speech_recognition

                                                                                                                                                                                                                                                                                                                            А более подробно нужно изучать по книге, вроде SLP:

                                                                                                                                                                                                                                                                                                                            http://festlang.berlios.de/docu/doku.php?id=speech_tech_faq&s=spoken

                                                                                                                                                                                                                                                                                                                            Добавлено
                                                                                                                                                                                                                                                                                                                            А по спектрограмме специалист распознавать звуки может, конечно. Но для этого опыт нужен. Немного про это описано в
                                                                                                                                                                                                                                                                                                                            книжке Кривновой "Общая фонетика", например, из доступного в сети:

                                                                                                                                                                                                                                                                                                                            http://www.philol.msu.ru/~otipl/SpeechGroup/publications/krivnova-2001-2004/glava11.doc

                                                                                                                                                                                                                                                                                                                            ну и на английском литературы полно, например

                                                                                                                                                                                                                                                                                                                            http://home.cc.umanitoba.ca/~robh/howto.html

                                                                                                                                                                                                                                                                                                                            Вобщем, если вы проблему уточните, можно будет и литературу подходящую подыскать.
                                                                                                                                                                                                                                                                                                                              nsh, спасибо за ссылки. Жаль, что все материалы на английском.
                                                                                                                                                                                                                                                                                                                              Из второй ссылки книги Spoken Language Processing vol. 1 и 2 не открываются или это только у меня?
                                                                                                                                                                                                                                                                                                                                Надо установить плагин для IE или просмотрщик djvu:

                                                                                                                                                                                                                                                                                                                                http://djvu.sourceforge.net/

                                                                                                                                                                                                                                                                                                                                Добавлено
                                                                                                                                                                                                                                                                                                                                Ну и вот это ещё стоит про спектрограммы поглядеть:

                                                                                                                                                                                                                                                                                                                                http://cslu.cse.ogi.edu/tutordemos/SpectrogramReading/spectrogram_reading.html
                                                                                                                                                                                                                                                                                                                                http://www.chass.utoronto.ca/~danhall/lin228/acoustics.html
                                                                                                                                                                                                                                                                                                                                http://arse.sourceforge.net/examples.shtml

                                                                                                                                                                                                                                                                                                                                И, если удастся:

                                                                                                                                                                                                                                                                                                                                Ladefoged, Peter: A Course In Phonetics: Third Edition, page 60. Harcourt Brace College Publishers, 1993
                                                                                                                                                                                                                                                                                                                                  Спасибо за ссылки!

                                                                                                                                                                                                                                                                                                                                  Проблема заключается в распознавании речи именно по спектрограмме.

                                                                                                                                                                                                                                                                                                                                  За Кривнову спасибо.
                                                                                                                                                                                                                                                                                                                                  Есть ли у кого-нибудь работы Зиновьевой Н.В? Например, Зиновьева Н.В. Система акустических ключей к распознаванию фонетических единиц русского языка?
                                                                                                                                                                                                                                                                                                                                    Лет десять назад я писал обзор по автоматическому распознаванию речи для одной фирмы, кусок из которого привожу:

                                                                                                                                                                                                                                                                                                                                    ...Считается, что для идентификации гласной достаточно двух первых формант, поэтому гласные часто изображают на плоскости F1,F2, где они образуют вытянутый треугольник. Возможно, третья форманта является дополнительным, избыточным признаком гласной. Некоторым подтверждением этой точки зрения является факт, что человек может научиться читать "видимую речь" (спектр в координатах ВРЕМЯ-ЧАСТОТА, где максимумы амплитуды спектра отображаются почернением или пиками для трехмерных изображений). Заранее отметим, что это умение никак не отразилось на создании систем автоматического распознавания речи. Либо виртуозы чтения не могут вербализовать правила, которыми они пользуются при чтении, то есть используются столь же мало познанные процессы зрительного восприятия, либо ошибки распознавания по видимой речи больше, чем в системах автоматического распознавания (уровень ошибок распознавания по видимой речи, насколько мне известно, никто не измерял)...

                                                                                                                                                                                                                                                                                                                                    Может быть, кто-нибудь сделает upgrade высказанных соображений?
                                                                                                                                                                                                                                                                                                                                      Ну да, прикольно было бы научиться, вот тут:

                                                                                                                                                                                                                                                                                                                                      http://home.cc.umanitoba.ca/~robh/

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

                                                                                                                                                                                                                                                                                                                                      Добавлено
                                                                                                                                                                                                                                                                                                                                      iitta: кстати, там есть архив спектрограм, там везде объяснено, почему какая-то фонема выделена. Хотя это объяснения на объяснения Шерлока Холмса похожи, слишком вытянуты.

                                                                                                                                                                                                                                                                                                                                      http://home.cc.umanitoba.ca/~robh/archive.html
                                                                                                                                                                                                                                                                                                                                        nsh: спасибо. Как я понял, это интернациональная забава специалистов в области речи.
                                                                                                                                                                                                                                                                                                                                          Нет ли случайно программы построения спектрограмм на Delphi?
                                                                                                                                                                                                                                                                                                                                            Есть, но бяку лучше бросить :)

                                                                                                                                                                                                                                                                                                                                            http://majority.wsnw.net/fft.zip
                                                                                                                                                                                                                                                                                                                                              Всем привет.

                                                                                                                                                                                                                                                                                                                                              Нет ли случайно у кого-нибудь MFCC на Delphi? Да в принципе и на С пойдет :-)
                                                                                                                                                                                                                                                                                                                                                china_630
                                                                                                                                                                                                                                                                                                                                                HTK вам в помощь. Линуховый вариант предоставляется в виде СИшных библиотек. Правда насчет коммерческого использования читайте условия.
                                                                                                                                                                                                                                                                                                                                                  Кто знает, где достать программу пофонемной сегментации при помощи вейвлет-анализа? Подскажите, пожалуйста.
                                                                                                                                                                                                                                                                                                                                                    Господа, подскажите, пожалуйста, методы (или ссылки на источники) для определения невокализованных участков. ЧОТ использовать не хочу.
                                                                                                                                                                                                                                                                                                                                                      Цитата sergun83 @
                                                                                                                                                                                                                                                                                                                                                      методы для определения невокализованных участков. ЧОТ использовать не хочу.

                                                                                                                                                                                                                                                                                                                                                      Энергия вокализованных звуков речи лежит в основном в низкочастотной области.
                                                                                                                                                                                                                                                                                                                                                      Возьмите отношение (или разницу) энергии в низкочастотной полосе и высокочастотной.
                                                                                                                                                                                                                                                                                                                                                      Например 100-600гц. и 4000-5500гц.
                                                                                                                                                                                                                                                                                                                                                        Цитата Анатоль @
                                                                                                                                                                                                                                                                                                                                                        Цитата sergun83 @
                                                                                                                                                                                                                                                                                                                                                        методы для определения невокализованных участков. ЧОТ использовать не хочу.

                                                                                                                                                                                                                                                                                                                                                        Энергия вокализованных звуков речи лежит в основном в низкочастотной области.
                                                                                                                                                                                                                                                                                                                                                        Возьмите отношение (или разницу) энергии в низкочастотной полосе и высокочастотной.
                                                                                                                                                                                                                                                                                                                                                        Например 100-600гц. и 4000-5500гц.

                                                                                                                                                                                                                                                                                                                                                        Спасибо за ответ, но энергия не подходит. Дело в том, что значения энергии для невокализованных звуков и значения энергии для тишины с шумом близки. А мне нужно отделить именно невокализованные звуки от тишины (шума).
                                                                                                                                                                                                                                                                                                                                                        Сообщение отредактировано: sergun83 -
                                                                                                                                                                                                                                                                                                                                                          Цитата sergun83 @
                                                                                                                                                                                                                                                                                                                                                          Дело в том, что значения энергии для невокализованных звуков и значения энергии для тишины с шумом близки.

                                                                                                                                                                                                                                                                                                                                                          Ну это не совсем так. Это справедливо для таких звуков, как "п" или "ф".
                                                                                                                                                                                                                                                                                                                                                          А энергия таких звуков как "ш" или "ч" очень большая. Да и других вполне заметна.
                                                                                                                                                                                                                                                                                                                                                          Но если шумы большие, то слабых шумных звуков Вы просто никак не обнаружите.
                                                                                                                                                                                                                                                                                                                                                          Ну разве что спект шумов Вам известен, или по динамике формант гласных можно определить прилегающие согласные.
                                                                                                                                                                                                                                                                                                                                                            Кстати интересная задачка - шум превышает по амплитуде в несколько раз звук "Ш".
                                                                                                                                                                                                                                                                                                                                                            Чего делать будем ?
                                                                                                                                                                                                                                                                                                                                                              Цитата shur_nn @
                                                                                                                                                                                                                                                                                                                                                              Кстати интересная задачка - шум превышает по амплитуде в несколько раз звук "Ш".
                                                                                                                                                                                                                                                                                                                                                              Чего делать будем ?

                                                                                                                                                                                                                                                                                                                                                              Будем уши затыкать.
                                                                                                                                                                                                                                                                                                                                                                Я попробовал смешать "Ш" c белым шумом 1:10. Если слушать шум, а потом сумму, то "Ш"
                                                                                                                                                                                                                                                                                                                                                                прекрасно слышно и распознаваемо.
                                                                                                                                                                                                                                                                                                                                                                  Цитата shur_nn @
                                                                                                                                                                                                                                                                                                                                                                  Я попробовал смешать "Ш" c белым шумом 1:10. Если слушать шум, а потом сумму, то "Ш" прекрасно слышно и распознаваемо

                                                                                                                                                                                                                                                                                                                                                                  Повторил Ваш эксперимент. Результат совсем противоположный.
                                                                                                                                                                                                                                                                                                                                                                  Даже если смешать (добавить) к "ш" белый шум такой же амплитуды, то распознать там "ш" совершенно невозможно.
                                                                                                                                                                                                                                                                                                                                                                  Тональные звуки можно услышать и распознать даже меньшей амплитуды, чем шум, а вот "ш" не получилось.
                                                                                                                                                                                                                                                                                                                                                                  Может Вы реагировали на изменение амплитуды шума и воспринимали это как наличие там "ш"?
                                                                                                                                                                                                                                                                                                                                                                    Я думаю, что Вы производили измерения по абсолютной величине, а не относительной.
                                                                                                                                                                                                                                                                                                                                                                    Я повторяю, сравните белый шум и белый шум+"Ш" в соотношении 10:1 (один за другим,
                                                                                                                                                                                                                                                                                                                                                                    интервал между звуками не более 0.5 сек.). Я это делал.
                                                                                                                                                                                                                                                                                                                                                                    Мое субъективное мнение, что относительно белого шума, звук "Ш" в белом шуме распознаваем
                                                                                                                                                                                                                                                                                                                                                                    довольно отчетливо. Хочу заметить, что мы с Вами наверняка не одинаковы в плане восприятия звуков.
                                                                                                                                                                                                                                                                                                                                                                    Я прослушивал звуки через наушники гарнитуры. Возможно Вы прослушивали
                                                                                                                                                                                                                                                                                                                                                                    их через акустику в условиях зашумленного помешения, или уровень
                                                                                                                                                                                                                                                                                                                                                                    звукового давление был недостаточный. Я провел довольно много времени за этим занятием.
                                                                                                                                                                                                                                                                                                                                                                    Конечно я допускаю мысль, что моя слуховая система адаптировалась.
                                                                                                                                                                                                                                                                                                                                                                    Я это слышу, значит распознавание шипящих на фоне белого шума возможно.
                                                                                                                                                                                                                                                                                                                                                                    Правда не уверен, что оно возможно с использованием спектрального анализа.
                                                                                                                                                                                                                                                                                                                                                                      Статью интересную по сегментации нашел.
                                                                                                                                                                                                                                                                                                                                                                      http://www.contrterror.tsure.ru/site/magazine12/07-16-Fedorov.htm
                                                                                                                                                                                                                                                                                                                                                                        Цитата shur_nn @
                                                                                                                                                                                                                                                                                                                                                                        Статью интересную по сегментации нашел.

                                                                                                                                                                                                                                                                                                                                                                        Да, весёлая статья. В начале 91% точность сегментации. Потом ни одного упоминания этого числа нет. Зато точность в выводах значится уже 85%, а затем 75%. Исследования проводились на отдельных словах, а не на слитной речи. Алфавит - 36 фонем. Интересно каких? Ощущение, что не было мягких. Возможно, не было некоторых классов безударных. 10 дикторов - не указано количество мужчин и женщин и, конечно, не указана точность сегментации для каждого пола. Все рисунки разные - нет двух одинаковых сигналов, на одном из которых была бы ручная, а на другом автоматическая сегментация. Похоже, рисунки были приведены не для сравнения ручной и автоматической сегментации. Что означает "точность" при результате 85% непонятно. При 75% - понятно (расхождение менее 15 мс). В первом варианте считалось правильным, если граница определена до середины фонемы или вообще попала на фонему? Слишком много непонятностей, недосказанностей, поэтому не стал бы доверять и результату и алгоритму.
                                                                                                                                                                                                                                                                                                                                                                          По многим замечаниям с Вами соглашусь. Однако этот вариант довольно интересен.
                                                                                                                                                                                                                                                                                                                                                                          Ошибка предсказания неоспоримый факт смены направления движения процесса.
                                                                                                                                                                                                                                                                                                                                                                          Возможно эта статья просто краткая информация о проделанной работе?
                                                                                                                                                                                                                                                                                                                                                                          Не знаю, но на мой взгляд в этой статье задано правильное направление.
                                                                                                                                                                                                                                                                                                                                                                            В источниках пишут, что для распознавания гласных звуков нужны первые две форманты: первая говорит о степени открытости-закрытости звука, вторая - о положении языка. Мне нужно написать такую программу в Матлабе.

                                                                                                                                                                                                                                                                                                                                                                            Насколько я понимаю, если имеется авторегрессионная модель, то форманты - это локальные максимумы.
                                                                                                                                                                                                                                                                                                                                                                            http://s51.radikal.ru/i132/0907/a5/bed119ca4e3c.gif

                                                                                                                                                                                                                                                                                                                                                                            Не могу понять, как можно их извлечь из авторегрессионной модели.

                                                                                                                                                                                                                                                                                                                                                                            Дополнено: этот вопрос снимается. Оказывается, функцию peaks нужно заменить на findpeaks.
                                                                                                                                                                                                                                                                                                                                                                            Скрытый текст

                                                                                                                                                                                                                                                                                                                                                                            Тут предлагается решение с использованием функции peaks, но оно выдаёт ошибку на последней из процитированных строк:

                                                                                                                                                                                                                                                                                                                                                                            ExpandedWrap disabled
                                                                                                                                                                                                                                                                                                                                                                              th = ar(x,n)        % auto-regressive model of voice
                                                                                                                                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                                                                                                                              [b,a] = th2tf(th)   % transfer function of vocal tract
                                                                                                                                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                                                                                                                              [h,w] = freqz(b,a); % frequency response of vocal tract
                                                                                                                                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                                                                                                                              f = w.*fs/(2*pi);
                                                                                                                                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                                                                                                                              semilogy(f,abs(h))              % semilogx and semilogy plot data
                                                                                                                                                                                                                                                                                                                                                                                                              % as logarithmic scales for the x- and y-axis,
                                                                                                                                                                                                                                                                                                                                                                                                              % respectively.
                                                                                                                                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                                                                                                                              xlabel('Frequeny (Hz)')
                                                                                                                                                                                                                                                                                                                                                                              ylabel('log scale frequency response')
                                                                                                                                                                                                                                                                                                                                                                              title('Auto-Regressive Model of Vocal Tract')
                                                                                                                                                                                                                                                                                                                                                                              hold on
                                                                                                                                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                                                                                                                              [floc,fmag] = peaks(abs(h));
                                                                                                                                                                                                                                                                                                                                                                              allfmnts = f(floc);    % ERROR - ??? Subscript indices must either be real positive integers or logicals. error


                                                                                                                                                                                                                                                                                                                                                                            И если имеется авторегрессионная модель, можно ли по ней полностью восстановить звук?
                                                                                                                                                                                                                                                                                                                                                                            Сообщение отредактировано: starn -
                                                                                                                                                                                                                                                                                                                                                                              Интересуюсь: алгоритмы есть, публикации есть, вроде как задача решена, так вот любопытно какой процент сейчас реально фонем распознается?
                                                                                                                                                                                                                                                                                                                                                                                Хотелось бы поднять и продолжить полезную тему. Прочитал всю, запасся огромным количеством разных ссылок, знаний и структуировал тот малый материал, который у меня пытается присутствовать :)

                                                                                                                                                                                                                                                                                                                                                                                Так и не понял, что такое гармоники. Форманты, понятно - всплески на спектре. А вот что такое гармоники? Такое впечатление, что тоже самое :) Скорее всего они наверное иногда совпадают, а иногда нет... Или совершенно не так?
                                                                                                                                                                                                                                                                                                                                                                                  Цитата Black*Eternal @
                                                                                                                                                                                                                                                                                                                                                                                  Так и не понял, что такое гармоники. Форманты, понятно - всплески на спектре

                                                                                                                                                                                                                                                                                                                                                                                  Тональные звуки состоят из частот, кратных частоте основного тона (ЧОТ).
                                                                                                                                                                                                                                                                                                                                                                                  Они и называются гармониками.
                                                                                                                                                                                                                                                                                                                                                                                  Когда звучит струна или голосовые связки то кроме основного тона (самой низкой частоты) в звуке есть и кратные ей частоты (гармоники). Обычно уменьшающейся амплитуды с ростом частоты.

                                                                                                                                                                                                                                                                                                                                                                                  Когда звук проходит через речевой аппарат человека, из за резонансных свойств речевых полостей некоторые частоты усиливаются (некоторые ослабляются). Резонансные максимумы речевого аппарата называют формантами.
                                                                                                                                                                                                                                                                                                                                                                                  Частоты и амплитуды формант, их динамика отображают положения и динамику артикуляции, поэтому важны для распознавания звуков речи.

                                                                                                                                                                                                                                                                                                                                                                                  На спектре звука мы можем наблюдать и гармоники и форманты.
                                                                                                                                                                                                                                                                                                                                                                                  Для низкого голоса, или при малой ширине окна гармоник мы не увидим, только форманты. Это максимумы огибающей спектра.
                                                                                                                                                                                                                                                                                                                                                                                    Цитата Анатоль @
                                                                                                                                                                                                                                                                                                                                                                                    Тональные звуки состоят из частот, кратных частоте основного тона (ЧОТ). Они и называются гармониками.
                                                                                                                                                                                                                                                                                                                                                                                    Когда звучит струна или голосовые связки то кроме основного тона (самой низкой частоты) в звуке есть и кратные ей частоты (гармоники).
                                                                                                                                                                                                                                                                                                                                                                                    ....
                                                                                                                                                                                                                                                                                                                                                                                    Когда звук проходит через речевой аппарат человека, из за резонансных свойств речевых полостей некоторые частоты усиливаются (некоторые ослабляются). Резонансные максимумы речевого аппарата называют формантами.

                                                                                                                                                                                                                                                                                                                                                                                    Гармоники "по совместительству" также являются некоторыми из формант?
                                                                                                                                                                                                                                                                                                                                                                                    Т.е. все высокие пики - это форманты, а гармониками являются из них те форманты, частоты которых кратны ЧОТу?
                                                                                                                                                                                                                                                                                                                                                                                    Или форманты это максимальные, а гармоники выражены очень малой мощностью и не имеют ничего общего с формантами? Пытаюсь понять как они друг с другом связаны.. :)
                                                                                                                                                                                                                                                                                                                                                                                      Цитата Black*Eternal
                                                                                                                                                                                                                                                                                                                                                                                      Гармоники "по совместительству" также являются некоторыми из формант?
                                                                                                                                                                                                                                                                                                                                                                                      Пытаюсь понять как они друг с другом связаны

                                                                                                                                                                                                                                                                                                                                                                                      Представте себе гребёнку, у которой зубья спилили так, что их высота вписывается в нек. гладкую кривую.
                                                                                                                                                                                                                                                                                                                                                                                      Представили?
                                                                                                                                                                                                                                                                                                                                                                                      Ну так зубья - это гармоники, а максимумы этой гладкой кривой - форманты.
                                                                                                                                                                                                                                                                                                                                                                                        Цитата Анатоль @
                                                                                                                                                                                                                                                                                                                                                                                        Цитата Black*Eternal
                                                                                                                                                                                                                                                                                                                                                                                        Гармоники "по совместительству" также являются некоторыми из формант?
                                                                                                                                                                                                                                                                                                                                                                                        Пытаюсь понять как они друг с другом связаны

                                                                                                                                                                                                                                                                                                                                                                                        Представте себе гребёнку, у которой зубья спилили так, что их высота вписывается в нек. гладкую кривую.
                                                                                                                                                                                                                                                                                                                                                                                        Представили?
                                                                                                                                                                                                                                                                                                                                                                                        Ну так зубья - это гармоники, а максимумы этой гладкой кривой - форманты.

                                                                                                                                                                                                                                                                                                                                                                                        Клёвый пример :)

                                                                                                                                                                                                                                                                                                                                                                                        Т.е. гармоники это сами составляющие (вот эти "вертикальные столбцы"), а форманты это локальные максимумы (этих столбцов)?
                                                                                                                                                                                                                                                                                                                                                                                          На рисунке всплески синего цвета это гармоники. Всплески красного цвета форманты.
                                                                                                                                                                                                                                                                                                                                                                                          Прикреплённый файлПрикреплённый файлБезымянный.PNG (9.94 Кбайт, скачиваний: 575)
                                                                                                                                                                                                                                                                                                                                                                                            Цитата Skif @
                                                                                                                                                                                                                                                                                                                                                                                            На рисунке всплески синего цвета это гармоники. Всплески красного цвета форманты.

                                                                                                                                                                                                                                                                                                                                                                                            О, спасибо за картинку!
                                                                                                                                                                                                                                                                                                                                                                                            А форманты это получается огибающая гормоники?
                                                                                                                                                                                                                                                                                                                                                                                              Цитата Black*Eternal @
                                                                                                                                                                                                                                                                                                                                                                                              А форманты это получается огибающая гормоники?

                                                                                                                                                                                                                                                                                                                                                                                              Именно так. Ну точнее сказать, что форманты огибающие гармоник. Первый синий всплеск это первая гармоика, ее частота равна частоте колебаний голосовых связок. Второй всплеск это вторая гармоника, частота второй гармоники в два раза больше первой. Третий всплеск это третья гармоника. Ее частота в три раза больше первой. Если к примеру обозначим частоту первой гармоники через F1 а вторую через F2 и так далее. F3, F4.... То справедливо записать F2=2*F1; F3=3*F1; F4=4*F1. Из этого следует что вычислив частоту первой гармоники мы можем вычислить все остальные гармоники и рассчитать огибающую гармоник которая является амплитудно частотной характеристикой формантного фильтра. Найдя максимумы амплитудно частотной характеристики формантного фильтра мы найдем формантные частоты.
                                                                                                                                                                                                                                                                                                                                                                                                Цитата Skif @
                                                                                                                                                                                                                                                                                                                                                                                                Из этого следует что вычислив частоту первой гармоники мы можем вычислить все остальные гармоники и рассчитать огибающую гармоник

                                                                                                                                                                                                                                                                                                                                                                                                По частоте первой гармоники мы можем вычислить частоты остальных гармоник, но не их амплитуды. Поэтому огибающей мы никак не получим из частоты первой гармоники.
                                                                                                                                                                                                                                                                                                                                                                                                  Цитата Анатоль @
                                                                                                                                                                                                                                                                                                                                                                                                  По частоте первой гармоники мы можем вычислить частоты остальных гармоник, но не их амплитуды. Поэтому огибающей мы никак не получим из частоты первой гармоники.

                                                                                                                                                                                                                                                                                                                                                                                                  Я подразумевал что спектр сигнала анализируемого отрезка времени уже расчитан. Верное замечание. Для того чтобы расчитать огибающую нужно знать спектр.
                                                                                                                                                                                                                                                                                                                                                                                                    Вот теперь я полностью понял, что имеется ввиду под гармониками и фонрмантами!

                                                                                                                                                                                                                                                                                                                                                                                                    По поводу "рассчитать огибающую гармоник" я тоже не понял. Частоты найти, это понятно. Я уже поэкспериментировал со звуками, там действительно частота второй двое выше первой и далее частоты последующих гармоник ровно выше на разницу второй-первой. А вот получить мощности их наверное невозможно из первой.. Этож звучание изменится, нет разве? А может ли быть два разных звука с одинаковой первой гормоникой по частоте и мощности?

                                                                                                                                                                                                                                                                                                                                                                                                    Кстати, а что такое обертон? Это другое название гармоник? :)
                                                                                                                                                                                                                                                                                                                                                                                                      Цитата Black*Eternal @
                                                                                                                                                                                                                                                                                                                                                                                                      Вот теперь я полностью понял, что имеется ввиду под гармониками и фонрмантами!

                                                                                                                                                                                                                                                                                                                                                                                                      По поводу "рассчитать огибающую гармоник" я тоже не понял. Частоты найти, это понятно. Я уже поэкспериментировал со звуками, там действительно частота второй двое выше первой и далее частоты последующих гармоник ровно выше на разницу второй-первой. А вот получить мощности их наверное невозможно из первой.. Этож звучание изменится, нет разве? А может ли быть два разных звука с одинаковой первой гормоникой по частоте и мощности?

                                                                                                                                                                                                                                                                                                                                                                                                      Кстати, а что такое обертон? Это другое название гармоник? :)

                                                                                                                                                                                                                                                                                                                                                                                                      Оберто́ны (нем. Oberton — «верхний тон») в акустике — колебания полного объёма, а также различных частей какого-либо звучащего тела (струны, столба воздуха, мембраны, голосовых связок и т. д.). Обычно понятие обертона смешивается с понятием гармонических созвуков, однако несмотря на то, что любой гармонический созвук является обертоном, не любой обертон является гармоническим созвуком.

                                                                                                                                                                                                                                                                                                                                                                                                      В общем обертон это то как звуччит инструмент. В нашем случае это звучание гласных речи. А инструментом является речеобразующий аппарат. человека :)

                                                                                                                                                                                                                                                                                                                                                                                                      Расчиатать огибающую гармоник значит нарисовать красную линию. См рисунок выше. Соединить максимумы гармоник между собой.
                                                                                                                                                                                                                                                                                                                                                                                                        Цитата Skif @
                                                                                                                                                                                                                                                                                                                                                                                                        В общем обертон это то как звучит инструмент.

                                                                                                                                                                                                                                                                                                                                                                                                        А набор гормоник ведь и определяет звучание инструмента?

                                                                                                                                                                                                                                                                                                                                                                                                        Так получается, что форманты это точки максимумов гармоник, которые мы соединяем линией?
                                                                                                                                                                                                                                                                                                                                                                                                        Ведь говорим мы во множественном числе "форманты", значит их много.. а огибающая одна :)
                                                                                                                                                                                                                                                                                                                                                                                                          формант вроде как 4 всего.
                                                                                                                                                                                                                                                                                                                                                                                                            Цитата MedEx @
                                                                                                                                                                                                                                                                                                                                                                                                            формант вроде как 4 всего.

                                                                                                                                                                                                                                                                                                                                                                                                            Получается, форманты это пики 4х первых гормоник?
                                                                                                                                                                                                                                                                                                                                                                                                              Ребята, вы мне вот что скажите. Я генерирую шум - случайные числа с гауссовским распределением.
                                                                                                                                                                                                                                                                                                                                                                                                              Потом проигрываю этот шум с повторением. Если длина повторяющегося куска шума меньше или равна где-то 1 секунда,
                                                                                                                                                                                                                                                                                                                                                                                                              на слух воспринимается постукивание или биение - неужели мозг успевает определить, что участок звука
                                                                                                                                                                                                                                                                                                                                                                                                              тот же самый? А на частоте дискретизации 44кгц и 2-секундный участок удаётся различить, более длинные - нет.
                                                                                                                                                                                                                                                                                                                                                                                                              Это как-то связано с тем, как мы распознаём звуки?

                                                                                                                                                                                                                                                                                                                                                                                                              Вот на Джаве полный сорс, если кто проверить захочет...

                                                                                                                                                                                                                                                                                                                                                                                                              ExpandedWrap disabled
                                                                                                                                                                                                                                                                                                                                                                                                                package audio.cords;
                                                                                                                                                                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                                                                                                                                                import java.io.ByteArrayOutputStream;
                                                                                                                                                                                                                                                                                                                                                                                                                import java.io.DataOutputStream;
                                                                                                                                                                                                                                                                                                                                                                                                                import java.util.Random;
                                                                                                                                                                                                                                                                                                                                                                                                                import javax.sound.sampled.AudioFormat;
                                                                                                                                                                                                                                                                                                                                                                                                                import javax.sound.sampled.AudioSystem;
                                                                                                                                                                                                                                                                                                                                                                                                                import javax.sound.sampled.SourceDataLine;
                                                                                                                                                                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                                                                                                                                                public class RepeatNoise {
                                                                                                                                                                                                                                                                                                                                                                                                                  public static void main(String[] args) throws Exception{
                                                                                                                                                                                                                                                                                                                                                                                                                      int sampleRate = 11025*4;
                                                                                                                                                                                                                                                                                                                                                                                                                      SourceDataLine line =
                                                                                                                                                                                                                                                                                                                                                                                                                              AudioSystem.getSourceDataLine(new AudioFormat(sampleRate,16,1,true,true));
                                                                                                                                                                                                                                                                                                                                                                                                                      line.open();
                                                                                                                                                                                                                                                                                                                                                                                                                      line.start();
                                                                                                                                                                                                                                                                                                                                                                                                                      Noise noise=new Noise();
                                                                                                                                                                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                                                                                                                                                      for( ;; ){
                                                                                                                                                                                                                                                                                                                                                                                                                          ByteArrayOutputStream ba = new ByteArrayOutputStream();
                                                                                                                                                                                                                                                                                                                                                                                                                          DataOutputStream dos = new DataOutputStream(ba);
                                                                                                                                                                                                                                                                                                                                                                                                                          for( int i=0; i<1000; i++ ){
                                                                                                                                                                                                                                                                                                                                                                                                                               dos.writeShort(noise.next());
                                                                                                                                                                                                                                                                                                                                                                                                                          }
                                                                                                                                                                                                                                                                                                                                                                                                                          line.write(ba.toByteArray(), 0, ba.size());
                                                                                                                                                                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                                                                                                                                                      }
                                                                                                                                                                                                                                                                                                                                                                                                                  }
                                                                                                                                                                                                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                                                                                                                                                                                  static class Noise{
                                                                                                                                                                                                                                                                                                                                                                                                                      short[] buf = new short[11025*4*4/5];
                                                                                                                                                                                                                                                                                                                                                                                                                      int idx=-1;
                                                                                                                                                                                                                                                                                                                                                                                                                      Noise(){
                                                                                                                                                                                                                                                                                                                                                                                                                          Random rnd = new Random(System.nanoTime());
                                                                                                                                                                                                                                                                                                                                                                                                                          for( int i=0; i<buf.length; i++ ){
                                                                                                                                                                                                                                                                                                                                                                                                                //              double s = 0;
                                                                                                                                                                                                                                                                                                                                                                                                                //              for( int j=0; j<12; j++ ){
                                                                                                                                                                                                                                                                                                                                                                                                                //                  s+=Math.random();
                                                                                                                                                                                                                                                                                                                                                                                                                //              }
                                                                                                                                                                                                                                                                                                                                                                                                                //              buf[i] = (short)(s/12*25000);
                                                                                                                                                                                                                                                                                                                                                                                                                              buf[i] = (short)(rnd.nextGaussian()*25000);
                                                                                                                                                                                                                                                                                                                                                                                                                          }
                                                                                                                                                                                                                                                                                                                                                                                                                      }
                                                                                                                                                                                                                                                                                                                                                                                                                      short next(){
                                                                                                                                                                                                                                                                                                                                                                                                                         idx = (idx+1)%buf.length;
                                                                                                                                                                                                                                                                                                                                                                                                                         return buf[idx];
                                                                                                                                                                                                                                                                                                                                                                                                                      }
                                                                                                                                                                                                                                                                                                                                                                                                                  }
                                                                                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                                                                                Цитата andrden @
                                                                                                                                                                                                                                                                                                                                                                                                                неужели мозг успевает определить, что участок звука
                                                                                                                                                                                                                                                                                                                                                                                                                тот же самый? А на частоте дискретизации 44кгц и 2-секундный участок удаётся различить, более длинные - нет.
                                                                                                                                                                                                                                                                                                                                                                                                                Это как-то связано с тем, как мы распознаём звуки?

                                                                                                                                                                                                                                                                                                                                                                                                                Ну на свой вопрос вы сами ответили. Вы же слышите эти биения. Значит мозг распознает. Если вы хотите избавится от биений. То попробуйте записать буфер до середины а потом записать его тем же содержимым зеркально. Щелчки пропадут. Но мозг думаю все равно будет слышать что сигнал периодический.

                                                                                                                                                                                                                                                                                                                                                                                                                Добавлено
                                                                                                                                                                                                                                                                                                                                                                                                                Задайте поконкретней вопрос, что вам нужно.
                                                                                                                                                                                                                                                                                                                                                                                                                  Цитата grisania @
                                                                                                                                                                                                                                                                                                                                                                                                                  Также есть алгоритмы, которые определяют начало основного тона. Если основной меняетя, то говорят, что произошла разладка случайного процесса.

                                                                                                                                                                                                                                                                                                                                                                                                                  Подскажите пожалуйста какие есть алгоритмы, которые свидетельствуют о разладке случайного процесса? :scratch:
                                                                                                                                                                                                                                                                                                                                                                                                                    Цитата MoTaJiKa @
                                                                                                                                                                                                                                                                                                                                                                                                                    Подскажите пожалуйста какие есть алгоритмы, которые свидетельствуют о разладке случайного процесса?
                                                                                                                                                                                                                                                                                                                                                                                                                    мне известен алгоритм change detection, основанный на изменении BIC в подокнах относительно их объединения. Разладка - понятие туманное и зависит от критерия и стат.модели.
                                                                                                                                                                                                                                                                                                                                                                                                                    Алгоритм предназначен для автоматический разметки речи на однородные элементы, включает в себя простое вычисление критерия и сложный процес многократного устранения возможных ошибок.
                                                                                                                                                                                                                                                                                                                                                                                                                    Вычисление критерия:
                                                                                                                                                                                                                                                                                                                                                                                                                    - вычисляется диагональная матрица дисперсий на некотором окне
                                                                                                                                                                                                                                                                                                                                                                                                                    - окно разбивается на две половины, для каждой половины тоже вычисляется матрица
                                                                                                                                                                                                                                                                                                                                                                                                                    - затем применяется BIC (google), идея заключается в том, что если произошло изменение, "объем" эллипсоида дисперсии всего окна больше суммы "объемов" половин. "Объем" нормирован на число отсчетов. С порогом беда, его следует искать.

                                                                                                                                                                                                                                                                                                                                                                                                                    Насколько я понимаю, это общий метод детекции разладки - вычисляем некий критерий (информационный, соответствия модели, что-нибудь еще) на целом окне и половинках, затем смотрим как все изменилось и по детектируем по порогу. Сложный этап интегрирует многократные прогоны детекции на разных длинах окна и т.п.
                                                                                                                                                                                                                                                                                                                                                                                                                    Сообщение отредактировано: neurofish -
                                                                                                                                                                                                                                                                                                                                                                                                                      Спасибо, neurofish. пока наткнулась на 3ри критерия
                                                                                                                                                                                                                                                                                                                                                                                                                      1. полагается, что сегмент описывается моделью АР при этом для обнаружения скачка в параметрах модели проверяются гипотезы, при этом статистика критерия базируется на ООП-обобщенном отношении правдоподобия.
                                                                                                                                                                                                                                                                                                                                                                                                                      2.критерий кумулятивных сумм (пока не вникала)
                                                                                                                                                                                                                                                                                                                                                                                                                      3. импульсный - касается только звонких сегментов (тоже нужно разбираться)
                                                                                                                                                                                                                                                                                                                                                                                                                        Здравствуйте. Какие параметры нужно высчитывать, чтобы классифицировать фонемы? Например для согласных, глухие они или звонкие? Шумовые или нет? Что нужно рассчитать для глассных? Как установить границы между фонемами?
                                                                                                                                                                                                                                                                                                                                                                                                                          Здравствуйте. У меня тот же вопрос, что и у vilin4ik'а, но с небольшими уточнениями. Фонемы представлены кусками звукового сигнала(пофонемная сегментация выполнена). Система должна распознавать слитную речь. Хотел использовать MFCC и Кохонена, но после прочтения Нейронная сеть Кохонена После MFCC просто руки опустились. :'( Сам в этой области новичок и большую часть материала не могу понять или понимаю с великим трудом. Посему хотелось бы увидеть название метода/методов или ссылку на них, а не направление читать литературу.
                                                                                                                                                                                                                                                                                                                                                                                                                            Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                            Посему хотелось бы увидеть название метода/методов или ссылку на них, а не направление читать литературу.


                                                                                                                                                                                                                                                                                                                                                                                                                            Скрытые марковские модели
                                                                                                                                                                                                                                                                                                                                                                                                                            http://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D1%80%D1%8B%D1%82%D0%B0%D1%8F_%D0%BC%D0%B0%D1%80%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C
                                                                                                                                                                                                                                                                                                                                                                                                                              Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                              Скрытые марковские модели


                                                                                                                                                                                                                                                                                                                                                                                                                              Ага. Спасибо. Могу я расчитывать на некоторые пояснения от Вас касательно этих моделей, если Вас не затруднит?
                                                                                                                                                                                                                                                                                                                                                                                                                                Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                Могу я расчитывать на некоторые пояснения от Вас касательно этих моделей, если Вас не затруднит?


                                                                                                                                                                                                                                                                                                                                                                                                                                Можете
                                                                                                                                                                                                                                                                                                                                                                                                                                  Источник цитаты

                                                                                                                                                                                                                                                                                                                                                                                                                                  Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                  Для лучшего понимания рассмотрим все вышесказанное на примере системы, предназначенной для распознавания речи. Для каждого слова из словаря W мы спроектируем СММ с N состояниями. Каждое слово в частности мы представим как последовательность спектральных векторов. Обучение мы будем считать завершенным, когда модель с выской точностью будет воспроизводить ту самую последовательность спектральных векторов, которая использовалась для обучения модели. Таким образом каждая отдельная СММ будет обучаться воспроизводить какое-либо одно слово, но обучать эту модель следует на нескольких вариантах произнесения этого слова; то есть например три человека (каждый по-своему) проговаривают слово «собака», а затем каждое сказанное слово конвертируется в упорядоченный по времени набор спектральных векторов, и модель обучается на основе этих трех наборов. Для каждого отдельного слова проектируются соответствующие модели. Сперва решается 3-я задача СММ: каждая модель настраивается на «произнесение» определенного слова из словаря W, согласно заданной точности. Для того чтобы интепретировать каждое состояние спроектированных моделей мы решаем 2-ую задачу, а затем выделяем те свойства спектральных векторов, которые имеют наибольший вес для определенного состояния. Это момент тонкой настройки модели. А уже после того, как набор моделей будет спроектирован, оптимизирован и обучен, следует оценить модель на предмет ее способности распознавать слова в реальной жизни. Здесь мы уже решаем 1-ую задачу СММ. Нам дается тестовое слово, представленное, разумеется, в виде наблюдаемой последовательности спектральных векторов. Далее мы вычисляем функцию соответствия этого тестового слова для каждой модели. Модель, для которой эта функция будет иметь наибольшее значение, будет считаться моделью названного слова.


                                                                                                                                                                                                                                                                                                                                                                                                                                  Проблема состоит в том, что на этапе распознавания фонем моя программа не имеет словаря и не должна его иметь. Таково ограничение указанное в задании. Я должен распознать фонему по куску звукового потока, содержащего только ее и ничего больше. Возможно ли использовать в качестве элементов словаря сами фонемы, а не слова? И что делать в таком случае с количеством состояний N, сколько состояний брать? И еще одна вещь. Источником образцов будут дети 4-7 лет. Имеет ли это значение при создании таких моделей?
                                                                                                                                                                                                                                                                                                                                                                                                                                    Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                    Возможно ли использовать в качестве элементов словаря сами фонемы, а не слова?


                                                                                                                                                                                                                                                                                                                                                                                                                                    Да

                                                                                                                                                                                                                                                                                                                                                                                                                                    Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                    И что делать в таком случае с количеством состояний N, сколько состояний брать?


                                                                                                                                                                                                                                                                                                                                                                                                                                    Изолированные звуки в окружении тишины - 5. Вырезанные из потока - 3.

                                                                                                                                                                                                                                                                                                                                                                                                                                    Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                    Источником образцов будут дети 4-7 лет. Имеет ли это значение при создании таких моделей?


                                                                                                                                                                                                                                                                                                                                                                                                                                    Нет
                                                                                                                                                                                                                                                                                                                                                                                                                                      Большое спасибо. Буду пробовать. Постараюсь вернуться с результатами в течение недели.
                                                                                                                                                                                                                                                                                                                                                                                                                                        Значит че сразу: 1 и тот же спектрально звук в разных контекстах слышится человеком как разные фонемы - проверено.
                                                                                                                                                                                                                                                                                                                                                                                                                                        С детекторами скачков тоже не так все просто: в реальной речи 99% сильно недоартикулированно, порой даже глухие взрывные смазываются, про Л и гласный-гласный я ва-аще молчу.
                                                                                                                                                                                                                                                                                                                                                                                                                                          Цитата
                                                                                                                                                                                                                                                                                                                                                                                                                                          По современным представлениям слух использует два разных алгоритма кодирования сигнала.
                                                                                                                                                                                                                                                                                                                                                                                                                                          1. На частотах до 3-4 кГц кодируется форма сигнала. Нейроны имеют разные пороги срабатывания, поэтому сигнал кодируется номером нейрона с самым высоким порогом и числом сработавших нейронов. Однако частота следования импульсов в отдельно взятом нейроне не может превышать 300-400 Гц, т.к. на выделение медиатора и восстановление электрического равновесия уходит 1-2 мс. Поэтому на средних частотах близкорасположенные нейроны объединяются в группу (до 10 нейронов) и возбуждаются периодами сигнала по очереди (это положение называется теорией залпов). Этот алгоритм требует периодической структуры сигнала на протяжение порядка 10 периодов, что в частотной области означает узкополосный сигнал с шириной полосы около 300-400 Гц. Это обеспечивается функциональной фильтрацией сигнала в улитке. Таким образом, диапазон частот кодируемого сигнала достигает 3-4 кГц.

                                                                                                                                                                                                                                                                                                                                                                                                                                          Если частота следования импульсов в нейроне не может превышать 300-400Гц, то он не заметит импульсы с частотой больше 400Гц.
                                                                                                                                                                                                                                                                                                                                                                                                                                          Здесь полная аналогия с делителями входной частоты цифровых частотомеров. Допустим, частотомер собран на микросхемах серии K176 с максимальной рабочей частотой 2000кГц. Тогда предельная частота, измеряемая частотомером равна 2000кГц. Для расширения диапазона входной сигнал делят на 10, т.е. ставили декаду, например, на счетчике K155ИЕ2, предельная частота которого 10-15МГц или К531ИЕ14 (40МГц).
                                                                                                                                                                                                                                                                                                                                                                                                                                          Таким образом, декада из 10 нейронов выдаст выходной импульс только при длине импульсной последовательности в 4000Гц.
                                                                                                                                                                                                                                                                                                                                                                                                                                          Значит, входные нейроны либо способны регистриовать импульсы, следующие с частотой более 400Гц, но делят их на некий коэффициент, тк собственная максимальная частота генерации нейронов не превышает 300-400Гц, либо теряют часть импульсов, либо функционирует по-другому.

                                                                                                                                                                                                                                                                                                                                                                                                                                          Добавлено
                                                                                                                                                                                                                                                                                                                                                                                                                                          Возможно, что все поле состоит из одинаковых нейронов, каждый нейрон соответствует определенной частоте. Выбирает частоту механическая система слухового аппарата, а нейроны преобразуют амплитуду сигнала в частоту следования импульсов.
                                                                                                                                                                                                                                                                                                                                                                                                                                            Не менее интересная задача - выделение речевого сигнала от шумов и музыкального сопровождения.
                                                                                                                                                                                                                                                                                                                                                                                                                                            Самым перспективным направлением является обработка спектрограмм звукового сигнала. В источниках часто пишут, что речевой сигнал очень изменчив. А если использовать это свойство для его детектирования и очистки о остальных шумов. Если посмотреть на спектрограммы в Adobe Audition CS, можно заметить характерные формантные кривые речевого сигнала. Как правило, они имеют большую плотность энергии. Речь имеет много высших гармоник, которые можно отфильтровать режекторным фильтром.
                                                                                                                                                                                                                                                                                                                                                                                                                                            Можно наложить решетку с шагом, кратным мгновенному значению частоты основного сигнала и обнулить их.

                                                                                                                                                                                                                                                                                                                                                                                                                                            1. Можно представить речевой сигнал в виде текстр наложенных одна на другую.
                                                                                                                                                                                                                                                                                                                                                                                                                                            2. В виде объекта (четкое изображение неподвижного камня, смазанное изображение летящего камня).
                                                                                                                                                                                                                                                                                                                                                                                                                                            3. Если выводить или обрабатывать график вертикального участка спектрограммы. Частота основного тона будет совершать характерное движение вокруг некоторого среднего значения, что ловится с помощью детектора движения ;)
                                                                                                                                                                                                                                                                                                                                                                                                                                            Если форманты шума или музыки колеблются с меньшей амплитудой, то при некоторой чувств-ти детектора движения, он их не заметит.
                                                                                                                                                                                                                                                                                                                                                                                                                                            Вспомните глаз лягушки.
                                                                                                                                                                                                                                                                                                                                                                                                                                            Есть желание написать программу и проверить?
                                                                                                                                                                                                                                                                                                                                                                                                                                              Если я вас правильно понял, то такой подход сможет немного подавить шум.
                                                                                                                                                                                                                                                                                                                                                                                                                                              Для качественной очистки надо использовать машинное обучение.
                                                                                                                                                                                                                                                                                                                                                                                                                                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                                                                                                                                                                                                                                                                                                                                                                                                              0 пользователей:


                                                                                                                                                                                                                                                                                                                                                                                                                                              Рейтинг@Mail.ru
                                                                                                                                                                                                                                                                                                                                                                                                                                              [ Script execution time: 0,3765 ]   [ 16 queries used ]   [ Generated: 16.04.24, 17:34 GMT ]