реклама на сайте
подробности

 
 
> кодировка человеческой речи, оптимальый метод
addi
сообщение Sep 7 2011, 13:24
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422



Есть необходимость "воспроизводения" с порта Cortex M0 несколько фраз

Есть ли в моем случае какие либо варианты в отношении кодировки и реализации?

Заранее благодарен

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 11)
alexeyv
сообщение Sep 8 2011, 03:19
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 298
Регистрация: 26-01-09
Из: Пермь
Пользователь №: 43 940



Сколько имеется памяти для хранения фраз?
Если много, то подойдет WAV с несжатым PCM-звуком. На 1 сек голоса надо примерно 8Кбайт.
Формат достаточно простой, и декодирование осуществляется очень просто.
Go to the top of the page
 
+Quote Post
addi
сообщение Sep 8 2011, 05:17
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422



Цитата(alexeyv @ Sep 8 2011, 07:19) *
Сколько имеется памяти для хранения фраз?
Если много, то подойдет WAV с несжатым PCM-звуком. На 1 сек голоса надо примерно 8Кбайт.
Формат достаточно простой, и декодирование осуществляется очень просто.

Спасибо большое за поддрежку

Есть 512кбайт для фраз, тока вот как мне оперировать записанными фразами в формате *.WAV не имея файловой системы и операционки.... ((((, видимо чтобы наружу воспроизвести из флешки(A25L040O-F) потребуется какойнибудь кодек
Go to the top of the page
 
+Quote Post
Porty
сообщение Sep 8 2011, 05:46
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 246
Регистрация: 28-05-08
Из: г. Ижевск
Пользователь №: 37 893



Цитата(addi @ Sep 8 2011, 09:17) *
Спасибо большое за поддрежку

Есть 512кбайт для фраз, тока вот как мне оперировать записанными фразами в формате *.WAV не имея файловой системы и операционки.... ((((, видимо чтобы наружу воспроизвести из флешки(A25L040O-F) потребуется какойнибудь кодек

сохрани вавку в формате 8 бит / 8кгц PCM - формат у неё будет очень простой, где то с смещения 0х40 пойдут байты выборок которые достаточно запихивать 8 тыщь раз в сек в 8 битный ЦАП или 8 битный ШИМ и подключить к звуковому ОУ с динамиком например. Всё - будет тебе звук, а файл в прогу поместить ещё проще - ты его преобразуй в инклудник сишный/асма (смотря чем пользуешся) в котором данные в виде массива констант и подключи в прогу.
Go to the top of the page
 
+Quote Post
addi
сообщение Sep 8 2011, 06:12
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422



Цитата(Porty @ Sep 8 2011, 09:46) *
сохрани вавку в формате 8 бит / 8кгц PCM - формат у неё будет очень простой, где то с смещения 0х40 пойдут байты выборок которые достаточно запихивать 8 тыщь раз в сек в 8 битный ЦАП или 8 битный ШИМ и подключить к звуковому ОУ с динамиком например. Всё - будет тебе звук, а файл в прогу поместить ещё проще - ты его преобразуй в инклудник сишный/асма (смотря чем пользуешся) в котором данные в виде массива констант и подключи в прогу.


Спасибо большое за совет, у меня 128кбайт флеш-паяти у Кортекса, возможно с инклудом может не хватить памяти, попробую тогда какнибудь сохранить во внешнюю поамять а потом из нее передавать на ШИМ
Go to the top of the page
 
+Quote Post
XVR
сообщение Sep 8 2011, 08:28
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Делал 3х и 4х битный ADPCM. Распаковывал и воспроизводил с помощью PIC16F876. Думаю мощи Cortex M0 хватит на десяток таких потоков одновременно sm.gif
Где то были сорцы, если надо поищу
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 8 2011, 09:09
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(XVR @ Sep 8 2011, 11:28) *
Где то были сорцы, если надо поищу

Поищите, пожалуйста. Любопытно будет взглянуть. А кодировали звук чем?
Go to the top of the page
 
+Quote Post
addi
сообщение Sep 8 2011, 09:19
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422



Цитата(XVR @ Sep 8 2011, 12:28) *
Делал 3х и 4х битный ADPCM. Распаковывал и воспроизводил с помощью PIC16F876. Думаю мощи Cortex M0 хватит на десяток таких потоков одновременно sm.gif
Где то были сорцы, если надо поищу

да, поищите пожалуйста
Go to the top of the page
 
+Quote Post
XVR
сообщение Sep 8 2011, 12:29
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата
А кодировали звук чем?
Самописной прогой. Исходник для кодирования строго WAV 8 KHz mono.

Вообще то это был музыкальный звонок, для хранения звуков использовалась Atmel'овская Data Flash (AT45D080 кажется - давно это было), программа на PC паковала файлы и загружала их в девайс (ну и удаляла, если надо)
Go to the top of the page
 
+Quote Post
XVR
сообщение Sep 8 2011, 19:06
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(XVR @ Sep 8 2011, 16:29) *
Самописной прогой.
Как обещал

Прикрепленный файл  dorbell.zip ( 117.71 килобайт ) Кол-во скачиваний: 95
Go to the top of the page
 
+Quote Post
Sirko
сообщение Sep 10 2011, 13:21
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 245
Регистрация: 15-08-07
Пользователь №: 29 795



Возможно не пригодится, но в сети проскакивали статьи про OGG формат. Причем вместе с исходниками на СИ как кодера, так и декодера. На сколько помню, видел сравнение с МП3 декодированием, причем сравнение чуть ли не в тактах проца на N попугаев. OGG формат требует на порядок меньше ресурсов, при этом без потери качества.

P.S.
За абсолютную достоверность не ручаюсь, давно было.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Sep 11 2011, 18:49
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



А что за фразы нужно воспроизводить?
Давным-давно нужно было сделать "звонилку" абонентам, чтобы зачитывала фразы и формировала сумму задолженности.
Все разбивалось на фонемы, которые потом просто собирались (с учетом всяких "рубль", "рубля" и тд) и отправлялись на voice-модем (2000г - под руками ничего ембеддерного тогда не было sm.gif )
ну и плюс анализ с ффт линии - КПВ там, голос абонента и прочее

Возможно, и в этом случае можно сделать нечто подобное. Файлы просто хранить как константный массив, не в виде файлов
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 14:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01448 секунд с 7
ELECTRONIX ©2004-2016