Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.223.106.232] |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Размышляю на тему авто-группировки частиц фонем
В ввиду того что физика образования различных фонем всё таки разная не могу прийти к какому-то одному заключению Допустим я добился разбиения на фонемы/сеноны по постоянству звука Выглядит это примерно так (белые полосы внизу подчёркивают фонемы и сеноны): теперь надо как-то сгруппировать сеноны, так как это делает sphinxtrain вот мне кажется что если не ввести какие-то классы которые можно чётко определить, не получится сгруппировать сеноны так свойства у них различные может кто-нибудь поделится своими мыслями, опытом на тему того на основании чего можно группировать звуки в классы для последующей тренировки при помощи HHM например? |
Сообщ.
#2
,
|
|
|
Пока нет времени на реализацию, но есть время помечтать
Если научиться распозновать речь по получившимся отрезкам, то затем можно сделать ресинтезатор речи, т.е. на ходу распознавать речь любого лица и подменять звуки из базы звуков конкретного индивидуума Правда длину фонем при этом придётся сохранить, и если это действительно характерная черта для каждого индивидуума, то получится может не совсем то что ожидается... |
Сообщ.
#3
,
|
|
|
zamir
Цитата zamir @ вот мне кажется что если не ввести какие-то классы которые можно чётко определить, не получится сгруппировать сеноны так свойства у них различные Можно не классифицировать эти "частицы фонем", а кластеризировать их. Обучение происходит без учителя, и не нужно вводить чёткие классы. |
Сообщ.
#4
,
|
|
|
Цитата Если можно, выложите где-нибудь кусок распознаваемой фонограммы с этой фразой. Посмотрю, что там такое может быть. предлаю переместиться сюда, так как предыдущую тему открыл не я файл на котором я провожу эксперименты (его спектр изображён сверху): http://z1.prolink.ru/download/ru_0003.wav "Со спокойным мужеством Скайлс ожидал всего в этом безумном городе" фонетически выглядит так: ошибок в фонетическом составе мало 1) мужиством -> мужистом (хотя тут спорно иногда улавливаю В иногда нет, я думаю мозг додумывает, поэтому мерещется, но sphinx судя по всему улавливает) 2) всиво -> всивуо Цитата SFrm EFrm SegAScr Phone 0 41 -39695 SIL 42 52 -84365 s 53 55 -16717 ay 56 64 -58890 s 65 73 -42999 p 74 77 -12298 a 78 90 -44414 k 91 96 -22316 oo 97 100 -35746 j 101 109 -27919 n 110 114 -39913 y 115 129 -26764 m 130 132 -46473 m 133 138 -14566 uu 139 147 -26027 zh 148 150 -33243 y 151 159 -23166 s 160 165 -19877 t 166 168 -32705 v 169 172 -44791 ay 173 199 -94949 m 200 207 -33503 SIL 208 218 -39841 s 219 233 -45849 k 234 242 -18179 aa 243 245 -51983 j 246 256 -50911 l 257 275 -56925 s 276 280 -34013 SIL 281 286 -24088 a 287 300 -22549 zh 301 303 -10940 y 304 314 -33535 d 315 321 -16420 aa 322 329 -33160 l 330 335 -48379 f 336 351 -67022 ss 352 355 -19624 i 356 368 -27835 v 369 397 -150469 oo 398 409 -41431 SIL 410 426 -72257 v 427 432 -46433 ee 433 439 -33522 t 440 443 -42344 ay 444 451 -65483 m 452 458 -18920 bb 459 461 -26648 i 462 476 -25617 z 477 480 -46936 uu 481 483 -46039 m 484 493 -23543 n 494 496 -19114 ay 497 507 -21706 m 508 515 -34039 g 516 522 -16729 oo 523 529 -17752 r 530 532 -25181 ay 533 546 -86685 dd 547 555 -51044 i 556 610 -114574 SIL Total score: -2449055 Добавлено Ещё момент При тренировки и распознавании я использую готовую разметку от sphinx (2я линия полосок сверху) По мне так она немного кривовата посмотрите сколько выделено под фонему "М" в слове "мужествоМ" отсюда думаю результат "recog: f (m 175-201,201)" - т.е. Ф вместо М |
Сообщ.
#5
,
|
|
|
Цитата zamir @ "Со спокойным мужеством Скайлс ожидал всего в этом безумном городе" фонетически выглядит так: Ещё бы посмотреть как эта фраза распознаётся системой. Цитата zamir @ всиво -> всивуо А здесь вообще ничего странного, перед лабиализованной "О" лабиализуется губная "В", что приводит к эпентезе лабиализованной "У". Проще говоря, при быстрой речи, при произнесении "В", речевой аппарат готовится к произнесении "О" и плавно начинает перестраиваться, что и приводит к возникновению "У"-образного звука между "В" и "О". Это нормально и это нужно учитывать при преобразовании слова из морфологической записи в фонетическую. |
Сообщ.
#6
,
|
|
|
Цитата Ещё бы посмотреть как эта фраза распознаётся системой. Пока смотреть особо не на что (на мой взгляд) Мне надо сделать обучение с более большим колличеством данных (предварительно разобраться с тем как суммаризировать HMM модели) Затем переразметить с учём всех нюансов, перетренировать Затем доделать авто-разбиение на фонемы и после этого смотреть результат всё таки я не успею это сделать до конца отпуска Вот результат распознавания: Цитата recog: SIL (SIL 0-38,38) recog: p (s 39-50,50) recog: ay (ay 51-57,57) recog: s (s 58-63,63) recog: pp (p 64-71,71) recog: a (a 72-82,82) recog: k (k 83-87,87) recog: uu (oo 88-97,97) recog: rr (j 98-102,102) recog: mm (n 103-107,107) recog: mm (y 108-116,116) recog: mm (m 117-122,122) recog: n (m 123-129,129) recog: nn (uu 130-139,139) recog: sh (zh 140-145,145) recog: rr (y 146-151,151) recog: ss (s 152-159,159) recog: t (t 160-164,164) recog: z (v 165-168,168) recog: l (ay 169-174,174) recog: f (m 175-201,201) recog: SIL (SIL 202-204,204) recog: SIL (s 205-222,222) recog: kk (k 223-231,231) recog: aa (aa 232-241,241) recog: aa (j 242-250,250) recog: l (l 251-258,258) recog: ss (s 259-274,274) recog: tt (SIL 275-277,277) recog: SIL (a 278-288,288) recog: zh (zh 289-296,296) recog: zh (y 297-305,305) recog: d (d 306-313,313) recog: aa (aa 314-322,322) recog: l (l 323-329,329) recog: b (f 330-338,338) recog: ss (ss 339-349,349) recog: i (i 350-356,356) recog: v (v 357-369,369) recog: uu (oo 370-398,398) recog: SIL (SIL 399-404,404) recog: SIL (v 405-422,422) recog: l (ee 423-431,431) recog: b (t 432-439,439) recog: y (ay 440-445,445) recog: mm (m 446-452,452) recog: d (bb 453-458,458) recog: jo (i 459-464,464) recog: z (z 465-475,475) recog: uu (uu 476-480,480) recog: l (m 481-486,486) recog: mm (n 487-492,492) recog: ay (ay 493-497,497) recog: m (m 498-508,508) recog: b (g 509-513,513) recog: uu (oo 514-523,523) recog: r (r 524-529,529) recog: r (ay 530-535,535) recog: bb (dd 536-545,545) recog: i (i 546-563,563) recog: SIL (SIL 564-610,610) |
Сообщ.
#7
,
|
|
|
Кстати, из-за явлений коартикуляции часто из сочетаний -ово-, -оло-, -ини-, и т.д. пропадает средняя согласная. Тоже нужно учитывать.
Добавлено Цитата zamir @ Вот результат распознавания: вот я смотрю, гласная "Ы" ни разу правильно не определилась, хотя какая гласная никогда не редуцируется и хорошо распознаётся. Надо взять побольше обучающих данных или даже эту фразу в обучение добавить. Натренировать получше. Абсолютно не понятных ошибок нет, всё логично, все неточности распознавания можно объяснить. |
Сообщ.
#8
,
|
|
|
явлений для того что бы фонемный состав стал другой множестно
в транскриптор закладывалось только то что происходит с большой долей верояности остальное должно нормализироваться на уровне декодера-выравнивателя но текущие средства sphinx этого лишены, а генерить 20 и более различных произношений для одного и того же слова - перебор гораздо правильный задать выравнивателю и декодеру возможные коартикуляции это ещё одна из причин по которой хочется написать свой декодер Добавлено Цитата вот я смотрю, гласная "Ы" ни разу правильно не определилась, хотя какая гласная никогда не редуцируется и хорошо распознаётся.Надо взять побольше обучающих данных или даже эту фразу в обучение добавить. база для теста действительно маленькая - точной разметки на мой вгляд тоже нет - оставляет желать лучшего натренировать на большую базу в 108 часов я пока не готов потому что не разбирался как объединять HMM модели и соотвественно соотвесвующей функции у меня нет. Цитата Абсолютно не понятных ошибок нет, всё логично, все неточности распознавания можно объяснить. слышать приятно. но чесно говоря был шокирован результатом. в базе диктор один. разметка фонем есть. распознаю тоже самое что обучаю - результат совсем другой. вот это я объяснить кстати не смогу наверное recog: l (ee 423-431,431) recog: jo (i 459-464,464) Добавлено кстати слово "вэтам" (в этом) на спектрограмме выглядит также не понятно как и распознаётся толи там предыхание толи согласная наложена на гласную... посмотри пожалуйста, интересно ваше мнение |
Сообщ.
#9
,
|
|
|
Цитата zamir @ в базе диктор один. разметка фонем есть. распознаю тоже самое что обучаю - результат совсем другой. А сколько всего фонограмм таких используется для обучения? Я так понимаю, что эти фонограммы с разметкой лежат где-то в открытом доступе? |
Сообщ.
#10
,
|
|
|
сколько фонограмм сложно сказать - больше тысячи
максимум наверное 10000 и то не для всех фонем колличество фонем для каждой модели тоже разное все файлы есть в открытом доступе на voxforge.org разметка тоже есть в базе синтерзатора для festival от nsh и я свою где-то выкладывал на этом форуме использую то что самостоятельно разметил |
Сообщ.
#11
,
|
|
|
Цитата zamir @ вот это я объяснить кстати не смогу наверное recog: l (ee 423-431,431) recog: jo (i 459-464,464) Добавлено 8.08.12, 22:30 кстати слово "вэтам" (в этом) на спектрограмме выглядит также не понятно как и распознаётся толи там предыхание толи согласная наложена на гласную... посмотри пожалуйста, интересно ваше мнение recog: l (ee 423-431,431) Если выделить и послушать этот участок, то очень похоже на "Л". Сонорные часто с гласными путаются. "М" вместо "У" или "Н" вместо "О" у меня часто так было. recog: d (bb 453-458,458) recog: jo (i 459-464,464) Здесь тоже участок звучит как ДЁ, если слушать без контекста и чуть-чуть правую границу вправо сдвинуть. "В этам" нормально произнесено, можно было и правильно распознать recog: SIL (v 405-422,422) recog: l (ee 423-431,431) recog: b (t 432-439,439) recog: y (ay 440-445,445) recog: mm (m 446-452,452), хотя и ошибки не такие уж и странные: вместо одной взрывной "Т"-- другая "Б", самый конец "В" плюс ударная "Е" заменилось на "Л", а этот фрагмент так и звучит, "Ы"-образный звук похож на "Ы". Предлагаю у этой фонограммы в звуковом редакторе удалить самое начало длительностью 5мс (половина окна) и распознать ещё раз. Можно подумать, что ничего не изменится, но на самом деле результат будет совсем другой, и ошибки могут исправиться. Здесь может тоже нормально распознается: recog: b (g 509-513,513) recog: uu (oo 514-523,523) recog: r (r 524-529,529) recog: r (ay 530-535,535) recog: bb (dd 536-545,545) recog: i (i 546-563,563) |
Сообщ.
#12
,
|
|
|
Накосячил в коде.
Странно что вообще что-то распознавалось... Немного переразметил Очень наглядно видно что Й может выглядит как Ы или Э. Ранее я этого не замечал и ни где не видел информации об этом... Теперь буду знать © Радио Звезда Теперь результат распознавания выглядит так (мягкость стала нормально определяться): Цитата recog: SIL (SIL 0-15) recog: SIL (SIL 16-30) recog: SIL (SIL 31-39) recog: s (s 40-49) recog: jo (ay 50-57) recog: f (s 58-65) recog: p (p 66-71) recog: ay (a 72-81) recog: k (k 82-88) recog: oo (oo 89-97) recog: y (j 98-103) recog: n (n 104-108) recog: y (y 109-117) recog: m (m 118-130) recog: uu (uu 131-139) recog: zh (zh 140-144) recog: jo (y 145-151) recog: ss (s 152-160) recog: t (t 161-165) recog: v (v 166-169) recog: v (ay 170-173) recog: m (m 174-188) recog: pp (m 189-202) recog: SIL (SIL 203-206) recog: c (s 207-221) recog: SIL (s 222-223) recog: k (k 224-231) recog: aa (aa 232-242) recog: jo (j 243-250) recog: l (l 251-258) recog: s (s 259-273) recog: SIL (s 274-274) recog: SIL (SIL 275-279) recog: r (a 280-288) recog: zh (zh 289-297) recog: y (y 298-306) recog: d (d 307-314) recog: aa (aa 315-323) recog: v (l 324-329) recog: c (f 330-337) recog: ss (ss 338-350) recog: jo (i 351-357)recog: v (v 358-370) recog: oo (oo 371-385) recog: uj (oo 386-399) recog: SIL (SIL 400-406) recog: v (v 407-421) recog: SIL (v 422-423) recog: a (ee 424-431) recog: t (t 432-440) recog: n (ay 441-446) recog: m (m 447-454) recog: mm (bb 455-459) recog: ll (i 460-465) recog: z (z 466-475) recog: v (uu 476-481) recog: n (m 482-487) recog: n (n 488-492) recog: jo (ay 493-497) recog: n (m 498-508) recog: g (g 509-512) recog: oo (oo 513-522) recog: r (r 523-530) recog: y (ay 531-534) recog: dd (dd 535-546) recog: uj (i 547-561) recog: SIL (i 562-564) recog: SIL (SIL 565-598) recog: SIL (SIL 599-610) |
Сообщ.
#13
,
|
|
|
Два не очень (лично для меня!!!) очевидных факта:
Наличие ЧМ в речи -обязательно! Несущая частота ЧМ - никакой информации не несёт!!! Некоторые выводы: люди, занимающиеся Мел-кепстральными технологиями распознавания не в ту сторону гребут... Задача распознавания <==> синтеза вполне реальна! |
Сообщ.
#14
,
|
|
|
Цитата Некоторые выводы: люди, занимающиеся Мел-кепстральными технологиями распознавания не в ту сторону гребут... А вы на чем настаиваете? Есть информация, программы которые это доказывают, ваши наработки может есть, чтобы потестировать вживую ваш подход и результаты? Сказали А говорите и Б... Цитата Задача распознавания <==> синтеза вполне реальна! А кто спорит... |
Сообщ.
#15
,
|
|
|
Прикреплённый файл1.JPG (6,04 Кбайт, скачиваний: 482)
Прикреплённый файлА_Ы.jpg (93,18 Кбайт, скачиваний: 466) Исследования проводились на гласных звуках А-Ы (см. рисунок). Прежде всего хотелось понять где в этих сложных сигналах находится смысловая информация, отличающая один звук от другого. Сигнал рассматривался, как частотно-модулированный с числом гармоник до 15. Частоты модуляции определялись довольно точно, в соответствии с реальными фонемами. Потом я попытался эти формулы (для расчета ЧМ сигнала) упростить, пробуя "на слух" определить момент, когда полностью пропадает разборчивость сигнала. И вот здесь столкнулся с неожиданным результатом. Определить фонему на слух можно при любой форме ЧМ сигнала! То есть не надо дотошно копировать частоту. Все гласные звуки хорошо описываются вот такой, например формулой: (см. 1.jpg). Для разных фонем только коэффициенты Ai будут отличаться. Некоторые выводы: сама несущая частота ЧМ смысловой информации не несёт. И в принципе может быть, к примеру, одинаковой для всех фонем. Добавлено В формуле: Аi -амплитуда i-гармоники f0 – начальная частота первой гармоники, для моего голоса 120 Гц t_k – время сигнала |