Говорилка для AVR

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Говорилка для AVR

Сообщение _kp » 29 дек 2008, 14:40

Предлагается к вниманию компактная говорилка.
На малом объёме занимаемой ей кодовой памяти, достоинства собственно и заканчиваются. Но зато всего 2кв. (на ассемблере можно менее одного) Качество ужасное, но разобрать, при желании можно, в общем для использования в качестве дополнительного функционала, когда осталась не использованная память, например вместо звуков робота R2D2. Сам использовал, как фичу для отладочных нужд.
... это реинкарнация говорилки от спектрума.
Прилагается исходник и схема в протеусе.
SpRu2.zip
(49.52 КиБ) Скачиваний: 552
_kp
 
Сообщения: 8
Зарегистрирован: 16 дек 2008, 19:30

Re: Говорилка для AVR

Сообщение Myp » 29 дек 2008, 17:33

я так понял это именно как раз симуляция голоса?
тоесть читаем буквы тупо по очереди

на входе любой текст?
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Говорилка для AVR

Сообщение avr123.nm.ru » 29 дек 2008, 23:31

Вот схемка в PROTEUS (скачать прогу viewtopic.php?f=2&t=2398 ) - "накидал" да попробовл устройство ...

Изображение
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: Говорилка для AVR

Сообщение Myp » 30 дек 2008, 00:11

так ты самое главное не сказал
оно говорит ?:)
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Говорилка для AVR

Сообщение zubr » 30 дек 2008, 23:42

Прикольная штука. А откуда теория?
Убей не пойму как такое можно без теории написать.

Чтото похожее на БК-0010 было. Человек даже статью большую в журнале написал. Статья надо сказать меня тогда впечатлила.
Прога тоже была на пару килобайт.
За здравый смысл у нас принимается мнение большинства.
zubr
 
Сообщения: 431
Зарегистрирован: 20 ноя 2008, 19:31
Откуда: Чернобыль
прог. языки: асмемблер
ФИО: Валентин Семенович

Re: Говорилка для AVR

Сообщение Strijar » 02 янв 2009, 03:39

Я так понял - используется фонемный синтез. Изначально было для английского, а потом эти фонемы пристроили для русского.
Аватара пользователя
Strijar
 
Сообщения: 664
Зарегистрирован: 28 авг 2006, 17:09
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов

Re: Говорилка для AVR

Сообщение _kp » 11 янв 2009, 17:03

>на входе любой текст?
да, произвольный.

>оно говорит ?:)
говорит.

>Убей не пойму как такое можно без теории написать.
>Что то похожее на БК-0010 было.

Увы не писал, а дизассемблировал со спектрумовского диска.
А теорию и сам бы с удовольствием почитал. Особенно интересно как словари делать...
Не исключено, что то что мне попалось за основу, один из вариантов или клонов той программы.
Учитывая что говорилок и сечас не так много, а тогда тем более меньше было.

>Я так понял - используется фонемный синтез.
Верно.
>Изначально было для английского, а потом эти фонемы пристроили для русского.
Судя по звучанию, точно не для английского, а какой то другой язык. Ну а русский уж сам прикрутил.

Добавлено спустя 8 минут 7 секунд:
avr123.nm.ru, Схема несколько "странная", потому что чисто для эмуляци и рисовалась, что бы,
можно было запустиь программу, убедиться что работает... и при необходимости "испортить" её.
В протеусе каждая лишняя деталь тормозит эмуляцию в реалтайме. Поэтому всё лишнее и убрано, а так же, по причине работы в эмуляторе снижена частота процессора.
_kp
 
Сообщения: 8
Зарегистрирован: 16 дек 2008, 19:30

Yaourt спешит на помощь!

Сообщение Vooon » 11 янв 2009, 18:33

Yaourt спешит на помощь!

Код: Выделить всё
vovan@vovan-pc:~$ yaourt speech
1 extra/festival 1.96beta-1   
     Festival is a general multi-lingual speech synthesis system developed at
     CSTR (Centre for Speech Technology Research).                           
2 extra/flite 1.3-2                                                         
     A lighweight version of festival speech synthesis                       
3 extra/gnome-speech 0.4.21-1 [installed]                                   
     Gnome Text-to-Speech                                                   
4 extra/speex 1.2rc1-1 [installed]                                           
     A free codec for free speech                                           
5 community/espeak 1.40.01-1 [installed]
     Text to Speech engine for good quality English, with support for other
     languages
6 aur/epos 2.5.37-1 (8)
    A free text to speech synthesis system
7 aur/mbrola 3.01h-1 (6)
    A phoneme-to-audio converter used by many TTS (Text-to-speech) programs.
8 aur/sphinx4 1.0beta-3 (7)
    A voice (speech) recognition (dictation) 'lib' written in Java by CMU
9 aur/ilbc rfc3951-1 (8)
    A free speech codec suitable for robust VoIP
10 aur/gsm 1.0.12-6 (11)
    Shared libraries for GSM 06.10 lossy speech compression
11 aur/espeak 1.40.01-1 [installed] (81)
    Text to Speech engine for good quality English, with support for other languages
12 aur/sphinx2 0.6-2 (Out of Date) (9)
    Sphinx2 is a decoding engine for the Sphinx-II speech recognition system developed at Carnegie Mellon University.
13 aur/festival-hts-voices 2.0-2 (Out of Date) (9)
    Festival voices based on the HMM-Based Speech Synthesis System (HTS)
14 aur/amrnb 7.0.0.2-1 (178)
    3GPP Adaptive Multi-Rate Floating-point (AMR) Speech Codec
15 aur/amrwb 7.0.0.3-1 (96)
    3GPP AMR Adaptive Multi-Rate - Wideband (AMR-WB) Speech Codec
16 aur/speech-dispatcher 0.6.7-2 (4)
    High-level device independent layer for speech synthesis interface
17 aur/speex-beta 1.2beta3-2 (2)
    A free codec for free speech
18 aur/speex-svn 14893-1 (4)
    A free codec for free speech
19 aur/sphinxbase 0.4-1 (Out of Date) (4)
    Common library for sphinx speech recognition.
20 aur/pocketsphinx 0.5-1 (Out of Date) (4)
    PocketSphinx is a lightweight speech recognition engine, specifically tuned for handheld and mobile devices, though it works equally well on the desktop.
21 aur/festival-freebsoft-utils-cvs 20080930-1 (1)
    Utilities that allow Speech Dispatcher to use the Festival TTS system
22 aur/simon-juliusd 0.1-0 (0)
    Speech recognition program. Supplements mouse and keyboard
==>  Enter n° (separated by blanks, or a range) of packages to be installed
==>   ----------------------------------------------
==>


:D

Код: Выделить всё
vovan@vovan-pc:/tmp$ espeak "Hello world\!" -w hello-world.wav
vovan@vovan-pc:/tmp$ espeak 'Hello, this is Linus Torvalds and I pronounce "Linux" as "Linux".' -w pronounce-linux.wav
vovan@vovan-pc:/tmp$ espeak -v ru "Привет, Мир\!" -w hello-world-ru.wav
vovan@vovan-pc:/tmp$ espeak -v ru 'Привет, это Линус Торвальдс и я произношу "Linux" как "Линукс".' -w pronounce-linux-ru.wav
vovan@vovan-pc:/tmp$ oggenc *.wav               
Открытие с модулем wav: WAV file reader         
Кодирование "hello-world-ru.wav" в             
         "hello-world-ru.ogg"                   
с качеством 3,00                               
        [ 52,0%] [ 0m00s remaining] |           

Кодирование файла "hello-world-ru.ogg" завершено

        Длина файла:  0м 01,0с
        Оставшееся время: 0м 00,1с
        Выборка:      20,0389     
        Средний битрейт: 36,0 Кб/с
.......
vovan@vovan-pc:/tmp$


Меня не покидает очучение, что я получал лучший результат, чем этот.
Не вспомню только как??? :roll:

А вообще, это я просто тестирую OggHandler : )
Вложения
hello-world.ogg
(7.45 КиБ) Скачиваний: 4440
hello-world-ru.ogg
(8.82 КиБ) Скачиваний: 1234
pronounce-linux.ogg
(26.29 КиБ) Скачиваний: 1462
pronounce-linux-ru.ogg
(26.21 КиБ) Скачиваний: 237
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: Говорилка для AVR

Сообщение lenz » 11 янв 2009, 20:43

_kp писал(а):Предлагается к вниманию компактная говорилка. ...

Классная штука :Bravo: Собрал, попробовал. понравилось :good:
А можно ее запихать в мегу8 например или куда поменьше и ввод текста сделать по сом порту контроллера, сам не силен в программировании на С :cry: Но такую штуку всегда хотел :oops: Подъезжает так робот к стенке и голосом таким механическим "Обнаружено препятствие, объезжаю..."
Аватара пользователя
lenz
 
Сообщения: 9
Зарегистрирован: 09 янв 2009, 15:33
Откуда: Татарстан - Елабуга
Skype: lmahmutov
прог. языки: Avr Bascom, VB 6.0
ФИО: Махмутов Ленар

Re: Говорилка для AVR

Сообщение _kp » 11 янв 2009, 22:25

Yaourt, спасибо.
Посмотрю что из этого можно поместить в avr c флешкой.

Кое что из этого смотрел уже и отбросил. В Festival так накручено, что черт ногу сломит, не переварил. А espeak так и не удалось заставить нормально говорить по русски. Если ставить фнешнюю флешку и цап, то и качеству(хотя бы к разборчивости) требования возрастают.

И еще уточню, именного говорилка а не кодек с сильным сжатием мне нужен был из за специфики отлаживаемой системы. Дисплеи для наладки ставить было жирно, а уже имеющуюся в устройстве релюшку %) , использовать как динамик с низким кпд - самое то.
_kp
 
Сообщения: 8
Зарегистрирован: 16 дек 2008, 19:30

Re: Говорилка для AVR

Сообщение setar » 12 янв 2009, 01:25

_kp писал(а):... а уже имеющуюся в устройстве релюшку %) , использовать как динамик с низким кпд - самое то.

:Bravo: круто, очень здорово.
Всегда очень меня вопрос интересовал как у народа в голове рождаются такие гениально-простые (или просто-гениальные) идеи, это же нужно очень нестандартное и незакомплексованное мышление иметь! :)
Аватара пользователя
setar
Site Admin
 
Сообщения: 10989
Зарегистрирован: 04 окт 2004, 12:58
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко

Re: Говорилка для AVR

Сообщение algol1 » 12 янв 2009, 21:33

Насколько я знаю, в GSM используется вокодер, передаются лишь указания какой звук с какой частотой и тембром проиграть. Именно поэтому так неважнецки звучат всякие "мелодии ожидания". Где-то на просторах рунета встречал даже более менее работающий на таком принципе вокодер.
Прикольно то, что появляется возможность отрабатывать какие-то эмоции... :Rose:

Для эстетов есть финская микросхема MP3-кодек VS1011b, в связке с памятью и недорогим МК8бит можно записать кучу МР3 со слогами и звуками и воспроизводить :)
Вот например проект MP3-плеер:
http://www.mictronics.de/?page=mp3stick
функция плеера нам не нужна была, нужен был генератор который есть в VS1011, там вообще много чего есть, и DSP и General IO :)
и мы использовали дисплей от другого мобильного Siemens S65, он побольше разрешение имеет...
монтаж печатных плат http://www.mplata.ru
algol1
 
Сообщения: 57
Зарегистрирован: 11 янв 2009, 21:09
Откуда: Москва
ФИО: Головлев Александр Александрович

Re: Говорилка для AVR

Сообщение Kazakoff » 19 фев 2009, 12:03

А это на Atmega8 вазможно сделать?
Kazakoff
 
Сообщения: 4
Зарегистрирован: 19 фев 2009, 11:40
Откуда: Балаково

Re: Говорилка для AVR

Сообщение _kp » 19 фев 2009, 18:44

Конечно можно. ~2KB кода. Частота прочессора настраивается любая.
_kp
 
Сообщения: 8
Зарегистрирован: 16 дек 2008, 19:30

Re: Говорилка для AVR

Сообщение bolt » 20 фев 2009, 00:55

Я обычные Wav'ы на компе 8bit*8kHz писал, в EEPROM писал, а потом по I2C читал.
bolt
 
Сообщения: 281
Зарегистрирован: 01 дек 2008, 19:21

След.

Вернуться в Микроконтроллеры

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

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