На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD, nsh
Страницы: (15) « Первая ... 4 5 [6] 7 8 ...  14 15 все  ( Перейти к последнему сообщению )  
> Фонемное распознавание речи
    Прогу пишу в матлабе - так быстрее и проще.

    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 Кбайт, скачиваний: 607)
      График основного тона
      Прикреплённый файлПрикреплённый файлOT2.jpg (101.41 Кбайт, скачиваний: 755)
        Цитата 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 Кбайт, скачиваний: 747)
              formants

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

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

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

              Я думаю, что фильтрация не поможет. Да и как ты фильтровать будеш? Частота ОТ меняется....
              Прикреплённый файлПрикреплённый файлformants.jpg (38.74 Кбайт, скачиваний: 647)
                Цитата 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 Кбайт, скачиваний: 409)
                        Для закачки файла щелкните по нему правой кнопкой и выберите сохранить как. Просто щелчком его не скачать. Удачи. Видимо не любят 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 Кбайт, скачиваний: 432)
                              Цитата Skif @
                              Тогда растянув массив AF1,AF2,AF3...AFn на 200 точек мы получим массив в котором будет не дискетный, а сплошной спектр с шагом в 40Гц.


                              Сделал выделение резонансных частот для слова "мама"
                              Прикреплённый файлПрикреплённый файлMAMA__spectr_i_OT_.jpg (86.64 Кбайт, скачиваний: 709)
                                to:Skif
                                сделал выделение формант через основной тон голоса - как ты советовал.
                                Получается что форманты изменяются при изменении высоты основного тона - а этого вроде быть не должно - или я не прав?
                                Прикреплённый файлПрикреплённый файлMAMA__spectr_cherez_OT_.jpg (19.68 Кбайт, скачиваний: 633)
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (15) « Первая ... 4 5 [6] 7 8 ...  14 15 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0809 ]   [ 14 queries used ]   [ Generated: 18.05.24, 05:16 GMT ]