Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: кодировка человеческой речи
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
addi
Есть необходимость "воспроизводения" с порта Cortex M0 несколько фраз

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

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

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

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

Есть 512кбайт для фраз, тока вот как мне оперировать записанными фразами в формате *.WAV не имея файловой системы и операционки.... ((((, видимо чтобы наружу воспроизвести из флешки(A25L040O-F) потребуется какойнибудь кодек
Porty
Цитата(addi @ Sep 8 2011, 09:17) *
Спасибо большое за поддрежку

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

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


Спасибо большое за совет, у меня 128кбайт флеш-паяти у Кортекса, возможно с инклудом может не хватить памяти, попробую тогда какнибудь сохранить во внешнюю поамять а потом из нее передавать на ШИМ
XVR
Делал 3х и 4х битный ADPCM. Распаковывал и воспроизводил с помощью PIC16F876. Думаю мощи Cortex M0 хватит на десяток таких потоков одновременно sm.gif
Где то были сорцы, если надо поищу
ViKo
Цитата(XVR @ Sep 8 2011, 11:28) *
Где то были сорцы, если надо поищу

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

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

Вообще то это был музыкальный звонок, для хранения звуков использовалась Atmel'овская Data Flash (AT45D080 кажется - давно это было), программа на PC паковала файлы и загружала их в девайс (ну и удаляла, если надо)
XVR
Цитата(XVR @ Sep 8 2011, 16:29) *
Самописной прогой.
Как обещал

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

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

Возможно, и в этом случае можно сделать нечто подобное. Файлы просто хранить как константный массив, не в виде файлов
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.