Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт июл 25, 2017 3:37 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 65 сообщений ]  На страницу 1 2 3 4 5 След.
Автор Сообщение
 Заголовок сообщения: Проект: Речевой движок
СообщениеДобавлено: Вс июл 05, 2009 12:12 pm 
Давно уже (года 2) вертится в виде фонового процесса в мозгу, с периодически всплывающими напоминающими вызовами идея сваять голосовой движок.

Варианты:

1) Произношение по буквам
Преимущества: легкость реализации, малое количество сэмплов.
Недостатки: низкое качество речи, трудно воспринимаемое неподготовленным слушателем.

2) Произношение по слогам
Преимущества: повышенное качество речи.
Недостатки: реализация труднее чем п.1, большое количество сэмплов.

3) Произношение по словам
Преимущество: максимальное качество воспроизведения.
Недостатки: реализация нереальна для одиночного разработчика, потому что количество сэмплов для русского языка порядка 120 тысяч, а если учитывать все падежи, и прочие особенности, то вообще нереальное.

Как итог, я лично пока готов заниматься только вариантом 1.

Есть у кого-нибудь соображения в тему?


Вернуться к началу
   
 Заголовок сообщения: Re: Проект: Речевой движок
СообщениеДобавлено: Вс июл 05, 2009 2:12 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн апр 16, 2007 6:38 pm
Сообщения: 1222
идея отличная.. но даже в первом варианте придется анализировать слово целиком, даже тщательней чем во 2-м варианте (т.к. надо определять мягкость/твердость, и т.д., в то время как во 2м варианте просто проигрываем нужный слог). В 3-м варианте конечно количество семплов неисчисляемо, зато код должен будет обрабатывать разве что только знаки препинания, а слова просто проигрывать (в отличие от 2-го не надо возиться с ударением, произношением букв не так как они пишутся (прим.: малако), хотя такой словарь вида " молоко-малако' " можно составить и для первых 2х вариантов).

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Вернуться к началу
 Заголовок сообщения: Re: Проект: Речевой движок
СообщениеДобавлено: Вс июл 05, 2009 3:32 pm 
Ну, идея со словарями старая. Правда в текущих движках под Windоws, иногда доводят до абсурда. Например что у Катерины, что у Алёны слово "тел" всегда читается в конце предложения как "телефон", как результат появляются пёрлы вроде "Коридоры были завалены множеством... телефон".


Вернуться к началу
   
 Заголовок сообщения: Re: Проект: Речевой движок
СообщениеДобавлено: Вс июл 05, 2009 5:48 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт мар 01, 2007 4:16 pm
Сообщения: 426
Думаю, что можно совместить все три вариант или только два. Не обязательно все существующие слова забивать в базу (представляю, как размер у неё получится, да и невозможно это), а только наиболее часто употребляемые или наименее качественно воспроизводимые другими методами. Например не будет большой сложностью воспроизводить все имена третьим способом, а так же слово Колибри ;-).

..bw


Вернуться к началу
 Заголовок сообщения: Re: Проект: Речевой движок
СообщениеДобавлено: Вс июл 05, 2009 8:06 pm 
Цитата:
Например не будет большой сложностью воспроизводить все имена третьим способом, а так же слово Колибри

ИМХО проблемно все имена знать, а тем более правильно произносить. По этой причине я остановлюсь либо на 1 варианте, либо на 2. Скорее всего изначально 1, затем переработаю до 2. Просто в процессе написания варианта 1 уже будут готовы промежуточные процедуры и написание варианта 2 несколько облегчится. Плюс потребуется решить проблему базы данных соответствия произносимых слов. Написание парсера (синтаксического анализатора) тоже непростая задача.


Вернуться к началу
   
 Заголовок сообщения: Проект: Речевой движок
СообщениеДобавлено: Вт окт 06, 2009 5:57 am 
Не в сети

Зарегистрирован: Вт окт 06, 2009 4:56 am
Сообщения: 1
Интересная тема, только идея была организовать воспроизведение слов в (к примеру) .мр3. Я конечно понимаю, что медиабибилиотека будет ого-го, но все же...
Эх, если б молодость бы знала, а старость все могла :)


Вернуться к началу
 Заголовок сообщения: Re: Проект: Речевой движок
СообщениеДобавлено: Вт окт 06, 2009 9:44 am 
Для воспроизведения слов mp3 возможно подойдет, но для звуков и слогов сомнительно, имхо будет заметное ухудшение разборчивости речи, кроме того усложнение реализации - нет готовой библиотеки, чтобы подать на вход упакованные данные, а на выходе получить распакованные.

А также:
www.vorbis.com
Цитата:
If you decide to sell your music in MP3 format, you are responsible for paying Fraunhofer a percentage of each sale because you are using their patents. Vorbis is patent and license-free, so you will never need to pay anyone in order to sell, give away, or stream your own music.


Вернуться к началу
   
 Заголовок сообщения: Re: Проект: Речевой движок
СообщениеДобавлено: Вт окт 06, 2009 11:55 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
Mario писал(а):
Для воспроизведения слов mp3 возможно подойдет, но для звуков и слогов сомнительно, имхо будет заметное ухудшение разборчивости речи, кроме того усложнение реализации - нет готовой библотеки чтобы подать на вход упакованные данные, а на выходе получить распакованные.

Это зависит от того, на какой гармонике обрезается частотный спектр. Чем короче сигнал, и чем больше в нем взрывных и шипящих согласных - тем выше доля верхних частот в спектре.

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

А библиотека кодеков действительно нужна. Так же как и драйвер для HD Audio.

_________________
Узкий специалист подобен флюсу: полнота его - односторонняя.
Козьма Прутков


Вернуться к началу
 Заголовок сообщения: Re: Проект: Речевой движок
СообщениеДобавлено: Пн ноя 01, 2010 12:16 pm 
Нагуглил список слогов здесь http://lingvoforum.net
Вложение:
syls.7z [21.14 КБ]
438 скачиваний

В списке 6357 слогов.


Вернуться к началу
   
 Заголовок сообщения: Re: Проект: Речевой движок
СообщениеДобавлено: Пн ноя 01, 2010 3:09 pm 
Впрочем я тут подумал - если отбросить правила русского языка (нам ведь не писать, а произносить) то можно обойтись 2-х, ну в крайнем случае 3-х символьными сочетаниями, а это чуть больше тысячи сочетаний, что уже в разы проще.

Пожалуй перед воспроизведением будет препарсинг слова. Преобразуем в таблицу указателей на звуковые блоки. Для каждого словосочетания достаточно 2-х байт - все равно количество словосочетаний не превысит 65536.

1) Итого например, слово "дирижабль", в первичном анализаторе:

0x0500 = ди
0x2300 = ри
0x1700 = жа
0x3300 = бль

0xFFFF = терминатор выражения

dw 0x0500, 0x2300, 0x1700, 0x3300, 0xFFFF

2) Далее вторичный код анализа воспроизводящий звук берет из таблицы указатели на области со звукам и циклически вызывает блок воспроизведения.

Можно конечно сразу составить таблицу соответствия буквосочетаний и областей звука, но например в 64-х битной среде уже придется по 8 байт на каждое буквосочетание расходовать если так. Хотя я пока не разбирался с перспективами использования Long Mode процессора.


Вернуться к началу
   
 Заголовок сообщения: Re: Проект: Речевой движок
СообщениеДобавлено: Пн ноя 01, 2010 5:49 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Когда-то довольно давно ковырял espeak (http://espeak.sourceforge.net/). Разобрать то, что он произносит, можно очень хорошо - а занимает все это всего около 1 мб со словарями.
Используется синтез по формантам.


Вернуться к началу
 Заголовок сообщения: Re: Проект: Речевой движок
СообщениеДобавлено: Пн ноя 01, 2010 9:53 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт июн 27, 2008 3:22 pm
Сообщения: 971
Нужно ещё будет подобрать подходящую скорость чтения, размер паузы между словами и в зависимости от знаков препинания.


Вернуться к началу
 Заголовок сообщения: Re: Проект: Речевой движок
СообщениеДобавлено: Вт ноя 02, 2010 6:06 pm 
Не в сети

Зарегистрирован: Вс ноя 04, 2007 2:46 am
Сообщения: 390
Mario, каждый слог нужно озвучивать в двух вариантах - ударном и не ударном.


Вернуться к началу
 Заголовок сообщения: Re: Проект: Речевой движок
СообщениеДобавлено: Вт ноя 02, 2010 8:04 pm 
Ударный и не ударный зачастую сложно решить. Вот как различать слова "зАмок" и "замОк"? Это только на словах все просто - программе не доступен сложный алгоритм анализа, который есть в голове человека.


Вернуться к началу
   
 Заголовок сообщения: Re: Проект: Речевой движок
СообщениеДобавлено: Вт ноя 02, 2010 8:22 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн апр 16, 2007 6:38 pm
Сообщения: 1222
ну espeak, например, вполне сносно отрабатывает значок ` в качестве ударения.

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 65 сообщений ]  На страницу 1 2 3 4 5 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB