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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Sofware MP3, зацените
cebotor
сообщение Apr 16 2007, 09:56
Сообщение #16


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(viael @ Apr 14 2007, 22:03) *

все супер - но только как основа для творчество - так как кодек туда не прицеплен , ипользуется одноканальный цап самого филипса , а посему - файлы нужно писать на карточку в моно ....
а еще не понятно , хватит ли производительности если переделать в стерео. так как на атмеле хватает с трудом ....


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
misyachniy
сообщение May 29 2007, 11:10
Сообщение #17


Знающий
****

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



У меня есть AT91SAM7S-EK с AT91SAM7S64.

Влезет в него
http://www.mikrocontroller.net/articles/ARM_MP3/AAC_Player ?

Хочу попробовать перед изготовлением собственной платы.

Спасибо.
Go to the top of the page
 
+Quote Post
viael
сообщение May 29 2007, 13:03
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 200
Регистрация: 10-04-06
Из: Украина,Запорожье
Пользователь №: 15 979



Цитата(misyachniy @ May 29 2007, 15:10) *
У меня есть AT91SAM7S-EK с AT91SAM7S64.

Влезет в него
http://www.mikrocontroller.net/articles/ARM_MP3/AAC_Player ?

Хочу попробовать перед изготовлением собственной платы.

Спасибо.

Не хватит ОЗУ.Надо ~40кБ.Так что только SAM7S(X)256(512).
Go to the top of the page
 
+Quote Post
misyachniy
сообщение May 30 2007, 13:25
Сообщение #19


Знающий
****

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



Цитата(viael @ May 29 2007, 16:03) *
Не хватит ОЗУ.Надо ~40кБ.Так что только SAM7S(X)256(512).


С размером оперативки понятно.
Под ИАР проект кто нибудь переделал? Есть желание поделиться? ;-)
Go to the top of the page
 
+Quote Post
cebotor
сообщение May 31 2007, 09:05
Сообщение #20


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(misyachniy @ May 30 2007, 17:25) *
С размером оперативки понятно.
Под ИАР проект кто нибудь переделал? Есть желание поделиться? ;-)

в процессе smile.gif вялотекущее smile.gif


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
ivstech
сообщение Jun 1 2007, 02:31
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 204
Регистрация: 5-01-06
Пользователь №: 12 860



Цитата(misyachniy @ May 30 2007, 19:25) *
Под ИАР проект кто нибудь переделал? Есть желание поделиться? ;-)

Вот я делал под ИАР и под Кейл. Проигрывает только MP3 из FLASH контроллера. В качестве исходника был взят libmad. Еще пару процедур переделал на ассемблер. Звук выводится на TDA1543.
И встречный вопрос: есть желание поделиться печатными платами? ;-)

P.S. Оба варианта в архиве весят больше 500КБ, поэтому исходники только для IAR, для кейла надо выбрать другие исходники на асме *.s
Прикрепленные файлы
Прикрепленный файл  IAR.rar ( 347.26 килобайт ) Кол-во скачиваний: 284
 
Go to the top of the page
 
+Quote Post
cebotor
сообщение Jun 1 2007, 06:20
Сообщение #22


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 6-04-07
Из: Бронницы
Пользователь №: 26 809



Цитата(ivstech @ Jun 1 2007, 06:31) *
Вот я делал под ИАР и под Кейл. Проигрывает только MP3 из FLASH контроллера.

а почему только из flash контроллера ? фат не стали приделывать для карточки? отчего, если не секрет, задача другая ?

Сообщение отредактировал cebotor - Jun 1 2007, 06:21


--------------------
если еррата пуста - это не хорошо а плохо
Go to the top of the page
 
+Quote Post
ivstech
сообщение Jun 1 2007, 06:31
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 204
Регистрация: 5-01-06
Пользователь №: 12 860



Цитата(cebotor @ Jun 1 2007, 12:20) *
а почему только из flash контроллера ? фат не стали приделывать для карточки? отчего, если не секрет, задача другая ?

Просто хотел проверить, потянет ли АТ91SAM7S256 декодирование. Убедился, что хватает производительности. AAC_PLAYER, на который ссылаются в этой ветке, я тоже пытался переделать под IAR, но там не хватает многих ф-ций и т.п. В этом плане гораздо лучше поддается переделке филлипсовский пример, там, кроме того, не используется динамическое выделение памяти.
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Jun 1 2007, 12:52
Сообщение #24


Знающий
****

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



Цитата(ivstech @ Jun 1 2007, 05:31) *
И встречный вопрос: есть желание поделиться печатными платами? ;-)


Плату я хочу сделать в виде КИТ-а.

Пока SAM7X256 + DM9161(Etherenet) +CAN +USB+MMC/SD.
Звук TLV320AIC23.

По оптимистическому прогнозу будет осенью ;-)

Интересные по объему требуемое памяти данных/программ

Вариант по ссылке в этой ветке перегнал из GCC в IAR, оставил только MP3.
Без оптимизации.
Цитата
21 360 bytes of CODE memory
42 498 bytes of DATA memory
1 448 bytes of CONST memory

То есть как и говорили около 40К опертивки

Без оптимизации присоединил XCL and StartUp
Цитата
21 336 bytes of CODE memory
5 378 bytes of DATA memory
1 448 bytes of CONST memory

Память данных ужалась.
К чему бы это? Линкер не показывает функции в оперативке?

Вариант ivstech Без оптимизации
Цитата
22 140 bytes of CODE memory
7 668 bytes of DATA memory
158 790 bytes of CONST memory

Здесь понятно музыка "const char inp[4096*20]" 80К
И Хаффман табличками.
Но оперативку тоже корректно не показывает?
Go to the top of the page
 
+Quote Post
ivstech
сообщение Jun 15 2007, 02:48
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 204
Регистрация: 5-01-06
Пользователь №: 12 860



Цитата(misyachniy @ Jun 1 2007, 18:52) *
Пока SAM7X256 + DM9161(Etherenet) +CAN +USB+MMC/SD.
Звук TLV320AIC23.

На той же терраэлектронике TLV320AIC23 дороже, чем VS1000. Какой смысл декодировать МР3 программно?
Go to the top of the page
 
+Quote Post
_3m
сообщение Jun 18 2007, 13:17
Сообщение #26


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(ivstech @ Jun 15 2007, 06:48) *
На той же терраэлектронике TLV320AIC23 дороже, чем VS1000. Какой смысл декодировать МР3 программно?

Смысл - потренироваться на кошках. В боевой девайс не обязательно ставить TLV320AIC23, туда можно что-нибудь попроще, например DAC от холтека. Кроме того AIC23 - это не просто DAC, а весьма продвинутый аудиокодек, в нем имеются stereo-DAC, stereo-ADC (с цифровыми фильтрами), микшеры и коммутаторы, усилитель на наушники, микрофонный усилитель, также он допускает разные варианты тактирования и поддерживает разные сигнальные интерфейсы.
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Oct 18 2007, 15:14
Сообщение #27


Знающий
****

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



Цитата(_3m @ Mar 16 2007, 21:25) *
Не забудьте поправить исходник - в проекте неправильно инициализируется кодек TLV320AIC23B и в плейлист не загружаются AAC и MP4 файлы.


Пробую запустить синусоиду из массива.
Обмен по I2C похоже правильно идет. Сброс кодека и регулировка громкости.
Иницализацию SSC в режиме I2S перепроверил несколько раз - нету синусоиды :-(
Есть возможность поделится правильным комплектом?
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Nov 6 2007, 12:15
Сообщение #28


Знающий
****

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



Синусоиды и WAV научился проигрывать.
MP3 не хочет декодировать.
Считывание с карточки похоже правильно. Имена и размеры считывает корректно.
Но не играет а только хрипит :-(

Нашел где ошибка появляется.

В файле bitsstrim.c есть функция int UnpackFrameHeader(MP3DecInfo *mp3DecInfo, unsigned char *buf)
Она ищет начало фрейма и проверяет его на корректность. Начало фрейма ищется корректно
А вот эта проверка не проходит

Код
    fh = ((FrameHeader *)(mp3DecInfo->FrameHeaderPS));

    /* read header fields - use bitmasks instead of GetBits() for speed, since format never varies */
    verIdx =         (buf[1] >> 3) & 0x03;
    fh->ver =        (MPEGVersion)( verIdx == 0 ? MPEG25 : ((verIdx & 0x01) ? MPEG1 : MPEG2) );
    fh->layer = 4 - ((buf[1] >> 1) & 0x03);     /* easy mapping of index to layer number, 4 = error */
    fh->crc =   1 - ((buf[1] >> 0) & 0x01);
    fh->brIdx =      (buf[2] >> 4) & 0x0f;
    fh->srIdx =      (buf[2] >> 2) & 0x03;
    fh->paddingBit = (buf[2] >> 1) & 0x01;
    fh->privateBit = (buf[2] >> 0) & 0x01;
    fh->sMode =      (StereoMode)((buf[3] >> 6) & 0x03);      /* maps to correct enum (see definition) */    
    fh->modeExt =    (buf[3] >> 4) & 0x03;
    fh->copyFlag =   (buf[3] >> 3) & 0x01;
    fh->origFlag =   (buf[3] >> 2) & 0x01;
    fh->emphasis =   (buf[3] >> 0) & 0x03;

    /* check parameters to avoid indexing tables with bad values */
    if (fh->srIdx == 3 || fh->layer == 4 || fh->brIdx == 15)
        {  
        return -1;
        }


у меня fh->srIdx == 3 и fh->brIdx == 15 так как последовательность в буфере FF FF FF F9
То ли ошибки при чтении с MMC то ли формат файла не такой.
Есть ли у кого файл MP3 который заведомо проигрывается на основе этих исходников?
http://www.mikrocontroller.net/articles/ARM_MP3/AAC_Player
Go to the top of the page
 
+Quote Post
Abo
сообщение Nov 6 2007, 12:23
Сообщение #29


Частый гость
**

Группа: Свой
Сообщений: 101
Регистрация: 9-01-06
Пользователь №: 12 967



Цитата(misyachniy @ Nov 6 2007, 15:15) *
Синусоиды и WAV научился проигрывать.
MP3 не хочет декодировать.
Считывание с карточки похоже правильно. Имена и размеры считывает корректно.
Код

    fh = ((FrameHeader *)(mp3DecInfo->FrameHeaderPS));



Совет - проверь правильность выравнивания полей в этой структуре.
Go to the top of the page
 
+Quote Post
Doka
сообщение Apr 13 2009, 13:23
Сообщение #30


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Цитата(viael @ Apr 15 2007, 01:03) *
Новый релиз от NXP

http://www...search=MP3

да. филипсовцы нереально круты..
взяли исходники EFSL, заточенные в т.ч. и под ARM
взяли исходники libMAD, заточенные в т.ч. и под ARM
и написали склеивающий код..

вот по libMAD вопрос у меня - по идее он должен быть быстрее проекта http://embdev.net/articles/ARM_MP3/AAC_Player (наличие в коде всяких ассемблерных вещей типа imdct_l_arm.S), но последняя версия проекта - libmad-0.15.1b датирована 2004г. - это несколько опечаливает.... (в плане перехода на C-M3)
как этот же код будет вести себя в плане производительности (и главное - совместимости) на CortexM c тактовой 100МГц ?.......

кстати, никто не в курсе из какого проекта в http://embdev.net/articles/ARM_MP3/AAC_Player использован код декодеров?
он явно вытянут из другого репозитария (папки CVS в дереве исходников, а в папке docs только тексты лицензий и инфо по использованным ресурсам) - может этот проект развивается дальше?

Цитата(ivstech @ Jun 15 2007, 06:48) *
На той же терраэлектронике TLV320AIC23 дороже, чем VS1000. Какой смысл декодировать МР3 программно?

VS1000 умеет только так и не сыскавший успеха (хоть и весьма неплохой) Ogg Vorbis
а VS1001 стоит от 233р (данные онлайн-прайса терры) - сравните с 111р за TLV320AIC23.


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post

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

 


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


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