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

Посоветуйте процессор для вокодера

Аналогичный вопрос. Есть процик ADSP2185 28МГц, влезет ли в него самый дохлый вариант SPEEX на 4кбит/с? Язык предположительно будет asm.

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


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

Если asm то должно влезть. Оптимизированый под Блэкфин кодер SPEEX тянет 16 "мипс" (на самом деле Мгц)

Это не оценка - это на реальных тестах. Когда то пробовал портировать его под VDSP++

http://electronix.ru/forum/index.php?showt...SPEEX&st=15

А оптимизация там только частичная - ассемблерными вставками через H-файлы, причем без наворотов таких, чтобы по 2 мака за такт. Имею в виду то, что то, что там понаписано на ассемблере сможет исполнить любой DSP-процессор

 

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


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

Да, я уже смотрел оптимизацию под Блэкфин. Но там проект такой навороченный (в смысле куча лишних файлов), что быстро слабать его не получилось - надо разбираться.

 

А по памяти как? Что там больше всего жрет? Я, к сожалению, не Копенгаген в вокодерах, а разбираться в исходниках долго. Мне надо хотя бы прикидку иметь, браться за это или нет.

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


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

Да, я уже смотрел оптимизацию под Блэкфин. Но там проект такой навороченный (в смысле куча лишних файлов), что быстро слабать его не получилось - надо разбираться.

 

А по памяти как? Что там больше всего жрет? Я, к сожалению, не Копенгаген в вокодерах, а разбираться в исходниках долго. Мне надо хотя бы прикидку иметь, браться за это или нет.

 

 

Там проект не очень навороченый, если не брать всяких приблуд, а смотреть только на вокодер.

Там в проекте есть ещё и эхоподавитель, джитер-буффер, инкапсуляция в Ворбис и даже, кажется, RTP

Cам проект для Линукса, заточен под GNU C

 

Если смотреть только на вокодер, то это переносимый C-код, вычисления целочисленные. Там есть каталог ti/test_C54

Вот там в файле проекта перечислены все нужные для вокодера файлы, остальные не надо. Тест собран вокруг тестовой программы, а не вокруг наворотов системы. Я делал из него под VDSP++ для BF посредством включения нужного define и переписыванием нужных ассемблерных функций в синтаксис VDSP++/

Оптимизация для BF там оформлена в виде ассемблерных вставок в GNU С, сделана в виде h-файлов

Естественно внеязыковые средства в С VDSP не совпадают с C GNU

Я сделал за 2 дня, но я Копенгаген :rolleyes:

 

По памяти там обычные требования по вокодерам, ничего особенного. Точно не помню, но можно посчитать сколько нужно там под таблицы(они в отдельных файлах лежат). Думаю 16 кбайт хватит. Для BF легко вмещается во внутреннюю память.

Тем более, что у тех старинных ваших ADSP 28 мгц, памятть не обязана быть внутренней, насколько я понимаю это может быть просто внешняя статика без всяких WAIT STATE. C вейтстейтами, видимо, не потянет. И очевидно, для ADSP только ассемблер.

BF наоборот слишком сильный процессор для этого SPEEX. Это 25 (40 gcc) мипс получается если тупо откомпилировать - т.е. портировать без оптимизации. А с той оптимизацией, которая прописана Дэвидом для BF - 16 (понятно, что standalone без Линуксов и в результате - кеширования). Если тупо переписать всё в ассемблер, видимо можно и 10 получить

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


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

Спасибо за наводку. Видимо, так и придется сделать, если мне кинут эту работу.

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


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

Любопытно, что такого наизобретали в DSP Innovations, чтобы у них MELP1200 скушал 16 MIPS и 15.5 кслов памяти 55-го TMSa?

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


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

Любопытно, что такого наизобретали в DSP Innovations, чтобы у них MELP1200 скушал 16 MIPS и 15.5 кслов памяти 55-го TMSa?

 

Откууда дровишки? Там огромная трехуровневая кодовая книга. 132 кбайта, 44 мипс

http://focus.ti.com/dsp/docs/thirdparty/ca...?productId=4613

http://focus.ti.com/dsp/docs/thirdparty/ca...?productId=4612

У них на сайте указаны те же данные -

http://www.dspini.com/dspini_melpe.htm

 

Столько легко получить и на BF. Из-за размера таблиц кодирования melp1200 (600) стоит особняком - для оптимизации нужен или процессор с очень большой внутренней памятью или оптимизация будет состоять не столько в кодировании, сколько в эффективном кешировании таблиц.

На процессоре с 132 кбайта внутренней памяти может и 20 мипс получиться. А так - нет, мало таких процессоров

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


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

А Вы смотрИте не классический MELPe, а проприетарный. Я про него и полюбопытствовал.

Кстати, сколько портирование такого вокодера может у них стоить под определенный проц?

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


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

А Вы смотрИте не классический MELPe, а проприетарный. Я про него и полюбопытствовал.

Кстати, сколько портирование такого вокодера может у них стоить под определенный проц?

 

Так проприетарный - не MELPe

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


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

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

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

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

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

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

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

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

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

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