Searching \ for '[PIC] MP3 decoder code' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/microchip/devices.htm?key=pic
Search entire site for: 'MP3 decoder code'.

Exact match. Not showing close matches.
PICList Thread
'[PIC] MP3 decoder code'
2006\06\16@083339 by bmearns

flavicon
face

I'm looking for code (preferrably C, but asm will work) for any of
Microchip's dsPICs that can decode an MP3 file stream into PCM data.

Any one have any leads on this?

Thanks
--
View this message in context: www.nabble.com/-PIC--MP3-decoder-code-t1797886.html#a4899359
Sent from the MicroControllers - PIC forum at Nabble.com.

2006\06\16@104555 by Roy J. Gromlich - PA

picon face
Just adding my 50 cents (inflation) here.

I don't have such code, nor have I ever seen it anywhere, but I would really like to have it as well.
In my case ASM code would be preferable, although C would also work - just more trouble to
set up on my present development system.

Roy J. Gromlich

----- Original Message -----
 From: bmearns
 To: spam_OUTpiclistTakeThisOuTspammit.edu
 Sent: Friday, June 16, 2006 8:12 AM
 Subject: [PIC] MP3 decoder code



 I'm looking for code (preferrably C, but asm will work) for any of
 Microchip's dsPICs that can decode an MP3 file stream into PCM data.

 Any one have any leads on this?

 Thanks
 --
 View this message in context: www.nabble.com/-PIC--MP3-decoder-code-t1797886.html#a4899359
 Sent from the MicroControllers - PIC forum at Nabble.com.

 --

2006\06\16@112415 by scott larson

picon face
This is a start: http://www.codeproject.com/audio/madlldlib.asp


On 6/16/06, Roy J. Gromlich - PA <.....rgromlichKILLspamspam@spam@pa.net> wrote:
> Just adding my 50 cents (inflation) here.
>
> I don't have such code, nor have I ever seen it anywhere, but I would really like to have it as well.
> In my case ASM code would be preferable, although C would also work - just more trouble to
> set up on my present development system.
>
> Roy J. Gromlich
>
> {Original Message removed}

2006\06\16@132149 by Maarten Hofman

face picon face
Ripley, 16 juni 2006.

I once looked at the feasibility of this, and calculated that it is
theoretically possible to write a real-time MP3 decoder (i.e. one that can
handle a stream) on a dsPIC running at the highest frequency, with a large
amount of memory (possibly even requiring 32 KB of external RAM). It is
highly unlikely that this could be accomplished in C, however. Especially
the critical path will need finely tuned assembly code, and even then it
would be impossible to get higher than stereo 128 kb/s of decoding speed.
You could cut corners by reducing the number of bits in the calculations,
but this would increase the noise level to above that required by the
standard.

I believe a frenchman (Gerard Samblancat) succeeded writing such a decoder
for a dsPIC demoboard in one of the Microchip competitions, but I have not
seen the actual implementation, nor do I know what the maximum speed of the
MP3 file was. Also, that demoboard had certain audio facilities available,
which he might have used.

Of course, decoding a MP3 from an external card to an external card, without
the real time requirement, is easily possible, but this wouldn't be
considered a "stream".

Greetings,
Maarten Hofman.

2006\06\16@171908 by William Chops Westfield
face picon face

On Jun 16, 2006, at 10:21 AM, Maarten Hofman wrote:

> it is theoretically possible to write a real-time MP3 decoder
> (i.e. one that can handle a stream) on a dsPIC running at the
> highest frequency, with a large amount of memory (possibly even
> requiring 32 KB of external RAM). It is highly unlikely that
> this could be accomplished in C, however.

How much easier does it get as the MP3 bit rate goes down?

BillW

2006\06\16@172029 by bmearns

flavicon
face

I think I may have misused the term "file stream", I just meant that I don't
need code to actually read in the file from any particular source. Assume
I'm able to send the file's byte to the decoding funciton.

As far as feasability...I didn't think that would even be an issue. Perhaps
I mistakingly assumed that an iPod and other portable audio players were
using something comparable to a dsPIC (comparable in terms of performance).
I don't believe they use dedicated MP3-decoder IPs because they support
multiple audio formats, so I can only assume the decoding is done in a
micro. But again, I may have underestimated the speed of those processors,
or perhaps they're more finely tuned to that kind of calculation.
--
View this message in context: www.nabble.com/-PIC--MP3-decoder-code-t1797886.html#a4908220
Sent from the MicroControllers - PIC forum at Nabble.com.

2006\06\16@223534 by Herbert Graf

flavicon
face
On Fri, 2006-06-16 at 14:20 -0700, bmearns wrote:
> I think I may have misused the term "file stream", I just meant that I don't
> need code to actually read in the file from any particular source. Assume
> I'm able to send the file's byte to the decoding funciton.
>
> As far as feasability...I didn't think that would even be an issue. Perhaps
> I mistakingly assumed that an iPod and other portable audio players were
> using something comparable to a dsPIC (comparable in terms of performance).
> I don't believe they use dedicated MP3-decoder IPs because they support
> multiple audio formats, so I can only assume the decoding is done in a
> micro. But again, I may have underestimated the speed of those processors,
> or perhaps they're more finely tuned to that kind of calculation.

MP3 decoding is NOT trivial. To put things in perspective, back in the
day I had a Pentium 75, and it could not do MP3 decoding flawlessly in
real time. In DOS it was OK, but running windows while playing an MP3
was out of the question.

As for iPods and things like that, I'd assume a good portion of what's
done in MP3/WMA/AAC decoding is done in hardware. Perhaps not the WHOLE
process, but the major computational bits.

TTYL

2006\06\17@004513 by Xiaofan Chen

face picon face
On 6/17/06, bmearns <bmearnsspamKILLspamcoe.neu.edu> wrote:

> As far as feasability...I didn't think that would even be an issue. Perhaps
> I mistakingly assumed that an iPod and other portable audio players were
> using something comparable to a dsPIC (comparable in terms of performance).
> I don't believe they use dedicated MP3-decoder IPs because they support
> multiple audio formats, so I can only assume the decoding is done in a
> micro. But again, I may have underestimated the speed of those processors,
> or perhaps they're more finely tuned to that kind of calculation.
> --

Maybe the following links will help.

http://www.eetimes.com/news/semi/showArticle.jhtml?articleID=186701236

IPod Nano (to be switched to Sansumg) uses PoralPlayer SOCs.
http://www.portalplayer.com/products/index.html

IPod Shuffle and many others (like Creative) use SigmaTel SOCs.
http://www.sigmatel.com/

DSPIC Music Player
http://opencircuits.com/Music_Player
http://opencircuits.com/TRAXMOD (links down now)
http://forum.microchip.com/tm.aspx?m=166133

Regards,
Xiaofan

2006\06\17@045522 by Wouter van Ooijen

face picon face
> I don't believe they use dedicated MP3-decoder IPs because
> they support
> multiple audio formats, so I can only assume the decoding is done in a
> micro. But again, I may have underestimated the speed of
> those processors,
> or perhaps they're more finely tuned to that kind of calculation.

remember a discussion about ARM-versus-PIC performance? IIRC a 60 MHz
ARM can do real-time MPEG decoding. This is probably one of the
applications where 32 bit versus 16 bit offers real advantage.

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu


2006\06\17@112202 by John Chung

picon face
Usually for data intensive calculation higher data
rate transfer usually win hands down. 32 - bits, data
transfer from external memory. I believe dspic has a
problem when excessively accessing external memory
since it heavily depends on the throughput of the
transfer.
There is the effect of disminishing returns......... I
have yet to find out yet. The point is that the CHIP
must be fast enough for realtime conversion and
nothing more(just being a player).

John

--- Wouter van Ooijen <.....wouterKILLspamspam.....voti.nl> wrote:

{Quote hidden}

> --

2006\06\21@101723 by Jens M. Guessregen / Mailinglists n/a

flavicon
face
Hello,

> I'm looking for code (preferrably C, but asm will work) for
> any of Microchip's dsPICs that can decode an MP3 file stream
> into PCM data.
>
> Any one have any leads on this?

Before you start building your own software for MP3, you should check
the legal situation.
MP3 is not freeware or OpenSource or whatever.
You have to buy a licence from Fraunhofer/Germany, to be allowed to use
MP3.

On the other hand, MP3 is very timing critical and resource demanding,
when done in SW, and I do not think, that it is able to be handled in a
PIC.

In August 2005, there was a project in the german computer magazine
called c't.
They build a MP3 streaming encoder and decoder, using MP3 in HW.

I think, that would be a better start ;-)

You can find more information (schematics, etc.) here:

http://www.heise.de/ct/ftp/projekte/drahtfunk/

This is still using RJ45, but with the new Lantronix WLAN Module, it
should also work wireless.

If you need single parts like the encoder / decoder hardware, you can
get them here:

http://www.segor.de/L1Bausaetze/MP3Stream.shtml


I will build up this project with some changes, because I do not really
like their DAC at the end of the line.

Best Jens

2006\06\21@162159 by Maarten Hofman

face picon face
>
>
> On the other hand, MP3 is very timing critical and resource demanding,
> when done in SW, and I do not think, that it is able to be handled in a
> PIC.


What do you base this thought on? I spent some time investigating it, and
concluded that a dsPIC33, when programmed well, should be able to handle at
least a stereo 44.1 KHz 128 kbps stream. By dropping the number of bits
handled you should even be able to handle faster files, though this would
violate the specification's signal/noise ratio. Also, there are references
to an dsPIC implementation that was done for a Microchip competition.
However, I would gladly be proven wrong, if you give me the appropriate
data.


> In August 2005, there was a project in the german computer magazine
> called c't.
> They build a MP3 streaming encoder and decoder, using MP3 in HW.


I agree that using an MP3 decoder chip is probably a much easier way to go.
However, that was not the original question.

Greetings,
Maarten Hofman.

More... (looser matching)
- Last day of these posts
- In 2006 , 2007 only
- Today
- New search...