Перейти к содержанию
    

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

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

 

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

 

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поищите, пожалуйста. Любопытно будет взглянуть. А кодировали звук чем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

P.S.

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...