Технический форум по робототехнике.
yakuzaa » 10 мар 2009, 13:12
опааа! проект до жути интересен! У меня сейчас что-то похожее в mp3 плеере стоит - цифры от 0 до 19, затем десятки и сотни женским голосом записаны в AT45DB041, прога написана чтобы из этих кусочков числа набирать, голос оочень качественный.. а что если бы эта "говорилка" хранила свои сэмплы в датафлешке? тогда-же можно очень качественную говорилку сварганить - а то я глянул - здесь все буквы описаны мааленьким массивчиком...
- Код: Выделить всё • Развернуть
uint8_t PROGMEM sound_A []={( 46), 0xE1,0xC3,0xE1,0xC7,0x8F,0x0F };
uint8_t PROGMEM sound_E []={( 46), 0xF8,0x03,0x0F,0x07,0xC1,0xE3 };
uint8_t PROGMEM sound_I []={( 46), 0xFF,0x40,0x17,0xFF,0x00,0x03 };
uint8_t PROGMEM sound_O []={( 46), 0xF8,0x7C,0xC1,0xF1,0xF8,0x03 };
uint8_t PROGMEM sound_U []={( 46), 0xFE,0x00,0x7F,0xFC,0x00,0x03 };
и т.д.
кароче предлагаю сделать говорилке апгрейд!
Strijar » 10 мар 2009, 13:21
Здесь нет маленьких кусочков текста - здесь фонемы. Это и правда синтезатор речи - можно синтезировать любой текст, а не только то что записал разработчик
Duhas » 10 мар 2009, 13:28
вот если бы сделать конфигурируемый фыльтр, или скорее обработчик, для фонем.. дабы менять тон и тд.. вот это было б крутя...
yakuzaa » 10 мар 2009, 13:34
Выкладываю рабочие процедуры для вывода звука из AT45DB041
Низкоуровневая Voiceout([начало фрагмента] , [конец фрагмента]) служит для вывода определенного интервала страниц из памяти (всего из 2048)
вот, например фраза "тысяча" Voiceout(1256 , 1282); занимает всего 26 страниц...
матрица Say([номер сэмпла]) выводит уже "нарезанные" сэмплы
ну и самое интересное Corresp([любое число от 0 до 1999]) - набирает сэмплы в фразу
будет звучать как "тысяча девятьсот девяносто девять"
Добавлено спустя 4 минуты 28 секунд:
объясните, кто может - какие фонемы за что отвечают - я запишу голосовые фонемы и попробую это все в датафлеш запихать...
- Вложения
-
- dataflash.h
- (4.15 КиБ) Скачиваний: 575
-
- dataflash.c
- (8 КиБ) Скачиваний: 549
Strijar » 10 мар 2009, 13:44
yakuzaa писал(а):объясните, кто может - какие фонемы за что отвечают - я запишу голосовые фонемы и попробую это все в датафлеш запихать...
[[ru:Фонема]]Фоне́ма (др.-греч. φώνημα «звук») — минимальная единица звукового строя языка.
yakuzaa » 10 мар 2009, 13:52
да емае!
я знаю что такое фонемы! мне надо чтобы кто-нибудь объяснил назначения фонем в массиве
например, понятно что "sound_E" в массиве - это гласная "Е"
а вот какую букву этот массив воспроизводит - вообще не понятно:
- Код: Выделить всё • Развернуть
uint8_t PROGMEM sound_S_z2 []={( 46), 0xAA,0xAA,0x5A,0xA5, 0x5A,0xAA };
Strijar » 10 мар 2009, 14:20
yakuzaa писал(а):я знаю что такое фонемы! мне надо чтобы кто-нибудь объяснил назначения фонем в массиве например, понятно что "sound_E" в массиве - это гласная "Е"
а вот какую букву этот массив воспроизводит - вообще не понятно:
Странно, говорите что знаете что такое
фонемы а пишете про
буквы. Фонемы это
звуки, буква может состоять из нескольких фонем - из каких именно зависит от положения буквы в слове, от ударения итд итп. В этом и состоит
синтез. И проблема синтеза не в том что бы записать фонемы, а в том что бы их "состыковать". Фонемный синтез кстати один из самых примитивных...
yakuzaa » 10 мар 2009, 14:24
понятно, знач. не знаете....
люююууди! по таблице может кто-нибудь подсказать?
Strijar » 10 мар 2009, 14:47
yakuzaa писал(а):понятно, знач. не знаете....
А чего тут знать то? - "Программа документированна на языке Си"
Я бы сам глянул - но щас по уши в vhdl...
Duhas » 10 мар 2009, 14:51
поглядите куда кормятся данные массивы - найдете ответ...
yakuzaa » 10 мар 2009, 15:08
глянул - примерно понятно... думаю как сейчас сделать чтобы без особых переделок фонемы из датафлеш дергать...
Strijar » 10 мар 2009, 15:34
А зачем на датафлэш? Там фонем длинней 32 байт нет, в среднем 8-16. В первом сообщении было написано, что вся программа 2кб. Ну сделаете вы сэмплированые фонемы - это кардинально улучшит качество? Заблуждение.
yakuzaa » 10 мар 2009, 15:37
можно засемплировать не только отдельные фонемы, но и слоги, цифры... благо размер датафлеши позволяет...
dr-mobius » 31 мар 2009, 21:25
Привет всем.
Недавно видел плату с прикрученной SD картой.
Я так подумал прикинул и что надумал...
Записать на карту достаточное количество вариантов ответа, используя кодировку mp3.
Далее прицепить плату звукового сенсора..
Написать программу анализа вопросов и в зависимости от задаваемого вопроса проигрывать вариант ответа
Сорри темой ошибся...
Последний раз редактировалось
dr-mobius 31 мар 2009, 21:50, всего редактировалось 2 раз(а).
=DeaD= » 31 мар 2009, 21:26
И? В чем фишка?