Jump to content

    
Sign in to follow this  
addi

кодировка человеческой речи

Recommended Posts

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

 

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

 

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

 

 

Share this post


Link to post
Share on other sites

Сколько имеется памяти для хранения фраз?

Если много, то подойдет WAV с несжатым PCM-звуком. На 1 сек голоса надо примерно 8Кбайт.

Формат достаточно простой, и декодирование осуществляется очень просто.

Share this post


Link to post
Share on other sites
Сколько имеется памяти для хранения фраз?

Если много, то подойдет WAV с несжатым PCM-звуком. На 1 сек голоса надо примерно 8Кбайт.

Формат достаточно простой, и декодирование осуществляется очень просто.

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

 

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

Share this post


Link to post
Share on other sites
Спасибо большое за поддрежку

 

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

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

Share this post


Link to post
Share on other sites
сохрани вавку в формате 8 бит / 8кгц PCM - формат у неё будет очень простой, где то с смещения 0х40 пойдут байты выборок которые достаточно запихивать 8 тыщь раз в сек в 8 битный ЦАП или 8 битный ШИМ и подключить к звуковому ОУ с динамиком например. Всё - будет тебе звук, а файл в прогу поместить ещё проще - ты его преобразуй в инклудник сишный/асма (смотря чем пользуешся) в котором данные в виде массива констант и подключи в прогу.

 

Спасибо большое за совет, у меня 128кбайт флеш-паяти у Кортекса, возможно с инклудом может не хватить памяти, попробую тогда какнибудь сохранить во внешнюю поамять а потом из нее передавать на ШИМ

Share this post


Link to post
Share on other sites

Делал 3х и 4х битный ADPCM. Распаковывал и воспроизводил с помощью PIC16F876. Думаю мощи Cortex M0 хватит на десяток таких потоков одновременно :)

Где то были сорцы, если надо поищу

 

Share this post


Link to post
Share on other sites
Делал 3х и 4х битный ADPCM. Распаковывал и воспроизводил с помощью PIC16F876. Думаю мощи Cortex M0 хватит на десяток таких потоков одновременно :)

Где то были сорцы, если надо поищу

да, поищите пожалуйста

Share this post


Link to post
Share on other sites
А кодировали звук чем?
Самописной прогой. Исходник для кодирования строго WAV 8 KHz mono.

 

Вообще то это был музыкальный звонок, для хранения звуков использовалась Atmel'овская Data Flash (AT45D080 кажется - давно это было), программа на PC паковала файлы и загружала их в девайс (ну и удаляла, если надо)

 

Share this post


Link to post
Share on other sites

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

 

P.S.

За абсолютную достоверность не ручаюсь, давно было.

 

Share this post


Link to post
Share on other sites

А что за фразы нужно воспроизводить?

Давным-давно нужно было сделать "звонилку" абонентам, чтобы зачитывала фразы и формировала сумму задолженности.

Все разбивалось на фонемы, которые потом просто собирались (с учетом всяких "рубль", "рубля" и тд) и отправлялись на voice-модем (2000г - под руками ничего ембеддерного тогда не было :) )

ну и плюс анализ с ффт линии - КПВ там, голос абонента и прочее

 

Возможно, и в этом случае можно сделать нечто подобное. Файлы просто хранить как константный массив, не в виде файлов

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this