реклама на сайте
подробности

 
 
> Аудиокодек OGGVorbis на CM3, пробовал ли кто?
uk8amk
сообщение Dec 12 2014, 17:38
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 5-03-09
Пользователь №: 45 694



Кодек Vorbis, страница разработчика:
http://xiph.org/vorbis/
Декодер Tremor с уменьшенными требованиями к ресурсам проца(целочисленные алгоритмы):
http://svn.xiph.org/branches/lowmem-branch/Tremor/
По возможностям что-то вроде MP3.

1)Интересует, справится ли CortexM3, какой-нибудь типичный STM32 на 20-70МГц?
Везде только общие слова, без хотя бы примерного футпринта по килобайтам ОЗУ,флеш и без MIPS-ов.
Хочу попробовать играть моно звук с качеством 30-60кбит. Пробовал Speex, но он хорош только для речи, звуки и подобие музыки - ужас.

2)И если кто-то вдруг пробовал, то наберусь наглости спросить пример(кусок) embed проекта.
Сам пытался натянуть Vorbis Tremor, но в файле codebook.c слишком много ошибок в Keil MDK сыплется. А вникнуть во все ребусы - знаний пока маловато.

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
uk8amk
сообщение Dec 13 2014, 12:50
Сообщение #2





Группа: Участник
Сообщений: 14
Регистрация: 5-03-09
Пользователь №: 45 694



Вот для Speex.
Узкополосный режим:
CODE
Code (inc. data) RO Data RW Data ZI Data Debug
13024 248 22632 20 6588 348904 Grand Totals
13024 248 22632 20 6588 348904 ELF Image Totals
13024 248 22632 20 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 35656 ( 34.82kB)
Total RW Size (RW Data + ZI Data) 6608 ( 6.45kB)
Total ROM Size (Code + RO Data + RW Data) 35676 ( 34.84kB)

Ширикополосный режим(звук сочнее и приятней):
CODE
Code (inc. data) RO Data RW Data ZI Data Debug
16132 294 35320 20 7236 369915 Grand Totals
16132 294 35320 20 7236 369915 ELF Image Totals
16132 294 35320 20 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 51452 ( 50.25kB)
Total RW Size (RW Data + ZI Data) 7256 ( 7.09kB)
Total ROM Size (Code + RO Data + RW Data) 51472 ( 50.27kB)

В RO data уже включена звуковая демка длиной 16 секунд.
Это собрано под отладку VL discovery(32F100, 24МГц). На PA4 через кондёр пару мкф вешаем наушник и слушаем речь ))
Но буфер у ЦАПа не очень мощный, поэтому лучше добавить где-то 100 Ом, так меньше искажений.
В main.h - настройки декодера:
SND_8KHz, SND_16KHz - режим 8/16К
ENCODED_FRAME_SIZE - скорость потока под выбранное качество.
play_message() - принимает указатель на звуковой массив и играет его. Здесь вроде не так запутанно как в Vorbis.
Декодер требует кучу не меньше 5,5 кбайт.
Ну собственно это проект по мотивам аппноута ST(диктофон), его один человек перетащил на VLdiscovery, я вырезал лишние режимы для экономии памяти.
PCM WAV кодируются в заголовки с помощью утилиты от Energy Micro(тоже есть аппноут).

Проект брать здесь:
https://yadi.sk/d/_8sxQCQhdM9C2
Go to the top of the page
 
+Quote Post
Make_Pic
сообщение Feb 21 2015, 03:20
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 9-10-04
Из: Россия, Пермь
Пользователь №: 828



Цитата(uk8amk @ Dec 13 2014, 15:50) *
Вот для Speex.
...

Коль вы занимались Speex и с ним мало мальски разобрались, и судя по инфе первоисточника Speex он содержит следующие фичи:
Narrowband (8 kHz), wideband (16 kHz), and ultra-wideband (32 kHz) compression in the same bitstream
Intensity stereo encoding
Packet loss concealment
Variable bitrate operation (VBR)
Voice Activity Detection (VAD)
Discontinuous Transmission (DTX)
Fixed-point port
Acoustic echo canceller (AEC)
Noise suppression (NS)

Посему вопросы:
1) Можно ли использовать отдельно VAD, NS, AEC без кодирования сжатия в CELP, а использовать только как эхоподовитель для телефонной линии?
2) И из сходя из первого вопроса - Что для этого надо подправить в коде, если кто то разбирался в структуре кода, может кто то решал подобную задачу?
3) Можно ли подключить внешний звуковой кодек по I2S и что для этого потребуется изменить в коде?

Заранее спасибо.

Go to the top of the page
 
+Quote Post
misyachniy
сообщение Feb 27 2015, 17:34
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Портировал декодер MP3 га SAM7X
http://otladka.com.ua/index.php?page=shop....t&Itemid=71

В документации было написано, что достаточно 20-22MIPS.

Сам не мерял, stereo 128kbit работало,256 не всегда.
По моему страница программы была на ассемблере.
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Feb 27 2015, 18:25
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(misyachniy @ Feb 27 2015, 12:34) *
Портировал декодер MP3 га SAM7X
http://otladka.com.ua/index.php?page=shop....t&Itemid=71

В документации было написано, что достаточно 20-22MIPS.

Сам не мерял, stereo 128kbit работало,256 не всегда.
По моему страница программы была на ассемблере.


Я когдато сильно интересовался декодерами МП3. Помню что минимальные результаты были у людей на процах 60-70 Мегагерц с загрузкой 50%.
128 бит. Но по моему это был не кортекс. Гдето так.


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 01:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016