Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сжимаем звук на AT91SAM7S32
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Eduard_k
Скажите, можно ли на AT91SAM7S32 сжимать звук PCM 16bit 10-16kHz до 10-20kbit? Какой кодек порекомендуете использовать, чтобы были доступны программы с открытым кодом? Есть ли альтернатива AT91SAM7S32 с меньшими габаритами и энергопотреблением? Можно ли использвать для данной задачи MSP430?

Спасибо
Evgeny_CD
Тут посмотрите
http://kbs.cs.tu-berlin.de/~jutta/toast.html
http://kbs.cs.tu-berlin.de/~jutta/gsm/
GSM 06.10 lossy speech compression
aaarrr
Цитата(Eduard_k @ Apr 22 2006, 22:05) *
Скажите, можно ли на AT91SAM7S32 сжимать звук PCM 16bit 10-16kHz до 10-20kbit? Какой кодек порекомендуете использовать, чтобы были доступны программы с открытым кодом?

Из относительно простых можно порекомендовать G726 - на 16 кбит речь звучит
вполне прилично, стандарт и исходники можно нагуглить.

Цитата(Eduard_k @ Apr 22 2006, 22:05) *
Есть ли альтернатива AT91SAM7S32 с меньшими габаритами и энергопотреблением? Можно ли использвать для данной задачи MSP430?

MSP потянет какой-нибудь упрощенный ADPCM, но и качество будет соответствующее.
Аппноты, кажется, у Тексаса были.
Evgeny_CD
Цитата(aaarrr @ Apr 22 2006, 23:43) *
Из относительно простых можно порекомендовать G726 - на 16 кбит речь звучит
вполне прилично, стандарт и исходники можно нагуглить.
http://www.koders.com/c/fidFB061A3A59F844A...0EEA2DDD87.aspx

Еще 721 кодек есть
http://www.koders.com/c/fid604ACEB42ED6253...483CE53FEC.aspx
http://www.mnlab.cs.depaul.edu/~ehab/Cours...esources/G.723/
http://www-mobile.ecs.soton.ac.uk/speech_c...ards/adpcm.html

http://www.faqs.org/faqs/comp-speech-faq/part2/ - FAQ
_artem_
Человек, вроде бы, входную 10-16 кГц хочет ...
aaarrr
Да, но не всегда наши желания совпадают с нашими возможностями smile.gif
С потоком 10-20кбит на слабом процессоре особо не разгуляешься.
Eduard_k
Цитата
MSP потянет какой-нибудь упрощенный ADPCM, но и качество будет соответствующее.
Аппноты, кажется, у Тексаса были.

Мне нужно чтобы качество вплотную приближалось к пределу стандарта, плюс еще контроллер будет наужен функциями управления. Какой другой контроллер можно применить? Может какой-нибудь ARM только маленький и с минимальным кол-вом обвязки. Что можно применить?
_artem_
Цитата(aaarrr @ Apr 22 2006, 23:47) *
Да, но не всегда наши желания совпадают с нашими возможностями smile.gif
С потоком 10-20кбит на слабом процессоре особо не разгуляешься.


Честно говоря я на этом поцессоре не работал , но 32 бита 55 МГц вроде бы не так уж и мало.Но мое мнение чисто субьективное .

2 Eduard_k: до меня товариши уже вам помогли, и много чего выложили . Есть готовый код, можете подправить его под ваши нужды, прокомпилировать и по листингу найти использование ресурсов .
Eduard_k
Цитата
Честно говоря я на этом поцессоре не работал , но 32 бита 55 МГц вроде бы не так уж и мало.Но мое мнение чисто субьективное

Речь идет о применении других процессоров. Дело в том, что AT91SAM7S32 подходит с большой натяжкой, он физичеки слижком большой и у него высокое энерго потребление ~60mA. Нужно какое-нибудь более миниатюрное и экономное решение но доступное в розничной продаже. Я предложил MSP430 но aaarrr заметил, что качество будет посредственным вот я и ищу другое решение.
acex2
Посмотрите еще на дешевые DSP, например dsPIC. Если не ошибаюсь, у них даже библиотечка сжатия речи есть.
Evgeny_CD
Цитата(Eduard_k @ Apr 23 2006, 02:01) *
...Речь идет о применении других процессоров. Дело в том, что AT91SAM7S32 подходит с большой натяжкой, он физичеки слижком большой и у него высокое энерго потребление ~60mA. Нужно какое-нибудь более миниатюрное и экономное решение но доступное в розничной продаже. Я предложил MSP430 но aaarrr заметил, что качество будет посредственным вот я и ищу другое решение...
Что-то от Ваших рассуждений веет "Хочу все и сразу!". Я бы предложил такой алгоритм действий:

1. Берем аудио редактор, например
http://www.goldwave.com/ (клизьмы водятся в изобилии http://astalavista.box.sk/ )
и пишем семплы звуков, которые хотим обрабатывать.

2. Берем готовый конвертер, например
http://www.germanixsoft.de/index.html (замечательная вещь! Рекомендую)
и конвертим их в разные форматы, добиваясь баланса между качеством и скоростью.

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

Для проверки всего на практике делаеся так. Берется камень с большими ОЗУ и ПЗУ (например, LPC2106, AT91SAM7S256), кусок аудио файла забивается как массив во FLASH, он кодируется выводом готовых значений в _одну_ ячейку памяти (никакой привязки к аппаратуре!), по входу в процедуру кодирования и выходу из нее меряется значение таймера (или ногой дергаем и смотрим осцилком), и принимается решение - успеваем или нет.

После этого выбираем целевой камень и "утаптываем" в него проект, попутно добавляя всю необходимую периферию.

4. По току потребления - а никто не мешает использовать DC-DC преобразователи 3.3 -> 1.8В Сэкономите по току почти в два раза! LM3670 - рекомендую.

5. Посмотрите еще LPC2103 - он быстре (70 Мгц), хорошо (быстро) работает в ARM режиме (в отличие от SAMxxx), и ток потребления у него 41 ма на 70 Мгц.

6. Уменьшите количество ограничивающих стереотипов в Вашей голове! Насчет в магазине продается и т.д. Выделите один день, разрисуйте всю даиграмму проекта (цели, ограничения и т.д.), выберите стратегию и придерживайтесь ее. Ни в коем случае не пытайтесь достичь всего и сразу!!!
AlexandrY
Цитата(Eduard_k @ Apr 22 2006, 21:35) *
Скажите, можно ли на AT91SAM7S32 сжимать звук PCM 16bit 10-16kHz до 10-20kbit?


Без проблем можно сделать только ADPCM из стандарта G.726, исходники есть в самих стандартах ITU-T
Декодеры G722.2, G723, G.728, G729 тоже можно по тем же исходникам из ITU-T.
А вот кодеры для этих стандартов будет очень проблемно делать, нужна будет очень сильная оптимизация, все корреляторы и фильты придется переписать на ассемблере для ARM.
А вот AT91SAM9261 любой кодек запросто потянет.
Stanislav
Цитата(AlexandrY @ Apr 23 2006, 23:51) *
...А вот AT91SAM9261 любой кодек запросто потянет.
Вообще-то для решения таких задач лучше сразу заложиться на сигнальный процессор. Например, ADSP-BF53x и по производительности - не чета ARMу, и энергии пожрёт гораздо меньше...
И по цене уж точно у 926-го выиграет.
vladec
Если кроме кодирования звука больше ничего не требуется, то безусловно, как справедливо заметил Stanislav лучше всего использовать сигнальный процессор. Архитектура сигнальных процессоров как раз и "заточена" под такие задачи. И еще замечание. Кодеки G610, G723, G728, G729 являются телефонными вокодерами, то есть они расщитаны на частоту дискретизации 8 кГц и не факт, что они без передискретизации будут работать на частотах 10 - 16 кГц.
Eduard_k
Какие существуют готовые кодеки с интегрированным сжатием звука?
vladec
Посмотрите MP3 кодек от VLSI http://www.vlsi.fi/datasheets/vs1011.pdf
AlexandrY
Цитата(Stanislav @ Apr 23 2006, 23:33) *
Цитата(AlexandrY @ Apr 23 2006, 23:51) *
...А вот AT91SAM9261 любой кодек запросто потянет.
Вообще-то для решения таких задач лучше сразу заложиться на сигнальный процессор. Например, ADSP-BF53x и по производительности - не чета ARMу, и энергии пожрёт гораздо меньше...
И по цене уж точно у 926-го выиграет.


Да нет, что касается звука то SAM9261 вне конкуренции, у него аж три порта для кодеков. Конкретно под обработку аудио заточеный проц.
aaarrr
Цитата(AlexandrY @ Apr 26 2006, 23:09) *
Да нет, что касается звука то SAM9261 вне конкуренции, у него аж три порта для кодеков. Конкретно под обработку аудио заточеный проц.

У AT91RM3400 тоже 3 порта для кодеков, но назвать его заточенным под аудио язык
не поворачивается smile.gif
Да еще ведь просили маленькое и маложрущее решение.
AlexandrY
Цитата(aaarrr @ Apr 27 2006, 00:00) *
Цитата(AlexandrY @ Apr 26 2006, 23:09) *

Да нет, что касается звука то SAM9261 вне конкуренции, у него аж три порта для кодеков. Конкретно под обработку аудио заточеный проц.

У AT91RM3400 тоже 3 порта для кодеков, но назвать его заточенным под аудио язык
не поворачивается smile.gif
Да еще ведь просили маленькое и маложрущее решение.


Не понял сравнения ARM7 и ARM9. Но в любом случае порты кодеков это намек на заточенность под аудио.
SAM9261 безусловно маленький (по размеру, естественно biggrin.gif ) . А потребление определяется тем как вы им управляете, в SAM9261 для управления все есть.
Stanislav
Цитата(AlexandrY @ Apr 26 2006, 23:09) *
Цитата(Stanislav @ Apr 23 2006, 23:33) *
Вообще-то для решения таких задач лучше сразу заложиться на сигнальный процессор. Например, ADSP-BF53x и по производительности - не чета ARMу, и энергии пожрёт гораздо меньше...
И по цене уж точно у 926-го выиграет.

Да нет, что касается звука то SAM9261 вне конкуренции, у него аж три порта для кодеков. Конкретно под обработку аудио заточеный проц.
Вот у меня есть плата ADSP-BF537 EZ-KIT Lite. С соответствующим процом, ессно.
А к ней ещё имеется плата аудио расширения Blackfin Audio EZ-Extender. На ней, кроме всего прочего, установлены два кодека AD1938, подключенные только к одному порту блэкфина. Каждый кодек имеет 4 канала ввода и 8 каналов вывода высококачественного 24-бит аудио. Итого: 8 ввода + 16 вывода при частоте выборки каждого канала в 48 и 96 кГц, и 8 ввода + 8 вывода при 196 кГц. Скорость обмена определяется кодеками (а не процессором).
Интересно, что будет делать SAM9261 с такой периферией?
Далее, производительность процессора обеспечивает обработку аудио данных с такой скоростью по любому из существующих стандартов по всем каналам одновременно, при этом в запасе у него ещё остаётся уйма свободного времени. Думаю, что ARMа и на один канал хватит с большой натяжкой.
При снижении тактовой частоты до 250 МГц внутренние схемы блэкфина жрут... 35 мВт. Очень хотелось бы узнать об ARM с таким потреблением. Прошу при этом отметить, что 1 МГц BFа в задачах сигнальной обработки равен минимум 10 МГц ARMa.
И ещё. Стоимость SAM9261 в России - более 20 зелёных, а "младших братьев" BF537го - BF531 и BF532 - 13-14$.
Я вовсе не хочу ругать SAM, для ряда задач он вполне применим.
Однако, "богу - богово, а кесарю - кесарево"©.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.