roboforum.ru

Технический форум по робототехнике.

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

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

_kp » 29 дек 2008, 14:40

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

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

Myp » 29 дек 2008, 17:33

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

на входе любой текст?

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

avr123.nm.ru » 29 дек 2008, 23:31

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

Изображение

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

Myp » 30 дек 2008, 00:11

так ты самое главное не сказал
оно говорит ?:)

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

zubr » 30 дек 2008, 23:42

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

Чтото похожее на БК-0010 было. Человек даже статью большую в журнале написал. Статья надо сказать меня тогда впечатлила.
Прога тоже была на пару килобайт.

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

Strijar » 02 янв 2009, 03:39

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

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

_kp » 11 янв 2009, 17:03

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

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

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

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

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

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

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

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

lenz » 11 янв 2009, 20:43

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

Классная штука :Bravo: Собрал, попробовал. понравилось :good:
А можно ее запихать в мегу8 например или куда поменьше и ввод текста сделать по сом порту контроллера, сам не силен в программировании на С :cry: Но такую штуку всегда хотел :oops: Подъезжает так робот к стенке и голосом таким механическим "Обнаружено препятствие, объезжаю..."

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

_kp » 11 янв 2009, 22:25

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

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

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

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

setar » 12 янв 2009, 01:25

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

:Bravo: круто, очень здорово.
Всегда очень меня вопрос интересовал как у народа в голове рождаются такие гениально-простые (или просто-гениальные) идеи, это же нужно очень нестандартное и незакомплексованное мышление иметь! :)

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, он побольше разрешение имеет...

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

Kazakoff » 19 фев 2009, 12:03

А это на Atmega8 вазможно сделать?

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

_kp » 19 фев 2009, 18:44

Конечно можно. ~2KB кода. Частота прочессора настраивается любая.

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

bolt » 20 фев 2009, 00:55

Я обычные Wav'ы на компе 8bit*8kHz писал, в EEPROM писал, а потом по I2C читал.


cron
Rambler\'s Top100 Mail.ru counter