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

Сжатие звука

Вот есть задача сжать речевой поток до 6-8 килобит в секунду. Проц предпологается TMS320VC5502. Поискал в инете нашёл speex - spexx. Бесплатный и вроде как для TMS скомпилить можно.... Но что то не работает. Виснет и всё. У кого нибудь был положительный опыт работы с этим кодеком ?

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


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

Вот есть задача сжать речевой поток до 6-8 килобит в секунду. Проц предпологается TMS320VC5502. Поискал в инете нашёл speex - spexx. Бесплатный и вроде как для TMS скомпилить можно.... Но что то не работает. Виснет и всё. У кого нибудь был положительный опыт работы с этим кодеком ?

посмотри еще http://www.hawksoft.com/hawkvoice/

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

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


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

Вот есть задача сжать речевой поток до 6-8 килобит в секунду. Проц предпологается TMS320VC5502. Поискал в инете нашёл speex - spexx. Бесплатный и вроде как для TMS скомпилить можно.... Но что то не работает. Виснет и всё. У кого нибудь был положительный опыт работы с этим кодеком ?

 

Если Вас не пугают патенты, можно попробовать G.729A (8 kbps) и G.723.1(6.3 и 5.3 kbps). Исходники можно найти на сайте ITU (вроде дают скачать) и в других местах. Еще отчличный кодек GSM(13 kbps), но он не подходит по вашим требованиям до 8 kbps.

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


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

C 8 килобитами тяжко, но вот 13 - есть free кодек

 

http://www.ilbcfreeware.org/

http://www.ietf.org/rfc/rfc3951.txt - есть исходники

 

Очень устойчив к выпадению пакетов.

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


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

Пожалуй по всем параметрам наиболее предпочитаемый - speex. Бесплатный, существует реализация с плавающей и фиксированной точкой, может работать с различными частоатами дискреизации и с различным битрейтом... Но не удаётся запучтить его на TMS320C55x... :blink:

Может кто их использовавших его откликнется ?

P.S. Всем ответившим спасибо за интересные ссылки. :cheers:

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


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

Пожалуй по всем параметрам наиболее предпочитаемый - speex. Бесплатный, существует реализация с плавающей и фиксированной точкой, может работать с различными частоатами дискреизации и с различным битрейтом... Но не удаётся запучтить его на TMS320C55x... :blink:

Может кто их использовавших его откликнется ?

P.S. Всем ответившим спасибо за интересные ссылки. :cheers:

 

Speex пробовать пока не приходилось. Но априори можно предположить что он будет требовать большей производительности на канал по сравнению с ACELP, поскольку speex это просто CELP (без А). Если у вас требуется передавать всего один канал, то это не проблема, если больше, нужно принимать во внимание и вычислительные затраты на каждый тип кодека.

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


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

Вот есть задача сжать речевой поток до 6-8 килобит в секунду. Проц предпологается TMS320VC5502. Поискал в инете нашёл speex - spexx. Бесплатный и вроде как для TMS скомпилить можно.... Но что то не работает. Виснет и всё. У кого нибудь был положительный опыт работы с этим кодеком ?

А зачем именно 6-8 kBps? В настоящее время существуют вокодеры и на более низкие скорости передачи. Рекомендую MELP (2400 bps), по качеству сравнимый с G723.1. Его разработал тот же TI, ссылки, к сожалению, дать не могу. Могу выслать исходники на C, но не сейчас.

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


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

исходники MELP 2.4 кб/cек легко найти гуглем

http://maya.arcon.com/ddvpc/melp.htm

 

Вообще-то MELP (2.4) по качеству уступает заметно G723.1 (6.3/5.3), особенно на женском голосе. Но в принципе для низкоскоростного вокодера качество хорошее.

Улучшенный MELP-E (в основном скоростями 1200 и теперь 600) стал стандартом НАТО STANAG 4591. Не женское это дело.

Учёные делают собственные нестандартные вариации MELPа, и судя по публикациям на 4 кбит/cек получают реально приличное качество.

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


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

исходники MELP 2.4 кб/cек легко найти гуглем

http://maya.arcon.com/ddvpc/melp.htm

 

Вообще-то MELP (2.4) по качеству уступает заметно G723.1 (6.3/5.3), особенно на женском голосе. Но в принципе для низкоскоростного вокодера качество хорошее.

Улучшенный MELP-E (в основном скоростями 1200 и теперь 600) стал стандартом НАТО STANAG 4591. Не женское это дело.

Учёные делают собственные нестандартные вариации MELPа, и судя по публикациям на 4 кбит/cек получают реально приличное качество.

Да, MELP содержит в себе хороший ресурс для усовершенствования. Ваш покорный слуга сделал это в двух вариантах - на 1600 и 1200 бит/с. Как Вы уже и отмечали, с высокими голосами работает хуже. Однако, подкупает простота - в своих вариантах я отказался от моделирования остаточного сигнала с помощью Фурье последовательности, а использовал более простую процедуру. Основная же проблема возникла с созданием собственных кодовых книг.

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


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

Основная же проблема возникла с созданием собственных кодовых книг.

 

Делали себе LBG VQ?

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


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

Основная же проблема возникла с созданием собственных кодовых книг.

 

Делали себе LBG VQ?

 

Простите, но этот термин мне не известен. Я же так же, как и в MELPе, использовал спектральное представдение остаточного сигнала, но с помощью тех же LSP, кои также проходили векторное квантование. Результат субъективно сравним с MELPом, однако, не содержит преобразования Фурье, который на асме в целых числах писать очень уж не хотелось.

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


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

Интересно а сколько по производительности займет MELP если его запихать в АRM какойнить маленький например LPC2138 имеет ли эта идея реализуемость или нет никто не пробывал ?

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


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

Интересно а сколько по производительности займет MELP если его запихать в АRM какойнить маленький например LPC2138 имеет ли эта идея реализуемость или нет никто не пробывал ?

 

 

MELP прожорлив. На DSP он пожирает 30-60 мипс. На АРМ будет ещё в несколько раз хуже.

Лучше юзайте SPEEX :-)

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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