На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD, nsh
Страницы: (15) 1 [2] 3 4 ...  14 15 все  ( Перейти к последнему сообщению )  
> Фонемное распознавание речи
    Цитата 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 -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (15) 1 [2] 3 4 ...  14 15 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0415 ]   [ 16 queries used ]   [ Generated: 25.04.24, 00:46 GMT ]