Rockbox Development > Starting Development and Compiling
Processor Choice for Open Source Audio Player Design
xianthax:
Hi All,
I'm an electrical engineer that mostly works in audio related system design ranging from circuit design and PCB layout to firmware development.
I'm considering taking on designing an Open Source media player to fill some features lacking in the available options and for fun.
It makes sense to me to target the hardware to support Rockbox, which i've been using on my ipod for a few years now. As such I'm looking for some recommendations on processor selection from the people with the most experience, you guys.
To give you a little background on the goals of the system:
*High fidelity, primary goal: firm goals not set but SNR >110db is the type of area i'm targeting
*Headphone output capable of driving high impedance phones likely +-9V output available.
*Line level differential output through a ipod docking connector (maybe)
*On board analog devices sigmaDSP codec for audio processing. The core uC would only deal with the interface and decoding, this DSP would handle all equalization and other audio features.
*USB connectivity and microSD/SD for audio storage. I'd rather even leave the OS on the SD card and just have the bootloader on board.
*FLAC support, at least 96khz, 192khz would be awesome. the current state of the audio chain i've designed does already supports 192khz so it would be a matter of the uC being able to decode it fast enough
*AAC support is cool too, thought i'm not overly interested in it as a format for various reasons
*Color LCD / interface but specifics are TBD. I'm not much into displaying images so the screen will likely be something like an ipod nano in size although the case will likely be more like the 1g ipod in size.
*Schematics, board and case designs will be open if anyone wants to take on building themselves one. if interest were high enough i could have some assembled (maybe). The enclosure will be a pain if that happens, i have no answer for that yet. For the couple that i build the enclosure will be made in a rapid prototype machine (3d printer) but thats not cost effective.
*video/image/audio recording is not important to me, this is a purpose built device for music playback.
I have most of the schematics for the audio section ready, a lot of it came from previous designs i've done around the sigmaDSP series codecs but the big hole i have is the uC choice. it seems there are plenty of options out there and given that all i want to do on the uC is decode the audio and manage the interface i can likely get away with something low powered. I imagine that integrating controlling of the codec into rockbox will be interesting, i look forward to getting into that.
It looks to me like ARM based devices and Coldfire are the biggest players here. I've worked on quite a few ARM cores but have no problems jumping into a coldfire core assuming that i don't have to buy a $5000 dev kit to work on the thing and can purchase the part in smaller quantities.
With all that in mind, are there any recommendations from the developers here on what processors to look at or which to avoid?
Any there hardware design choices that really annoy you as developers i.e. grouping unrelated GPIO in a single register?
Thanks much,
Mark
saratoga:
Theres some people already doing this:
http://www.rockbox.org/wiki/Mini2440Port
http://lyre.sourceforge.net/
They've done a lot of research already. You may want to review their hardware choices.
That said, here is some feedback:
--- Quote ---On board analog devices sigmaDSP codec for audio processing. The core uC would only deal with the interface and decoding, this DSP would handle all equalization and other audio features.
--- End quote ---
Don't use DSPs. Theres basically no support at all for them from open source development tools, no one knows how to write code for them anymore, and they're completely useless for audio. Its just an all round terrible choice for what you want to do.
Instead, use an ARM core. They're well supported by gcc, nearly all audio formats are well optimized for them, they're highly power efficient and nearly all portable devices now use them. Throw in at least 16MB of RAM and use something relatively common like SD or ATA for storage.
xianthax:
Unfortunately neither of the links provided have anything to do with what i actually want to accomplish.
Neither provide what i would qualify as high fidelity audio nor do they provide the tools required for achieving that goal.
--- Quote ---Don't use DSPs. Theres basically no support at all for them from open source development tools, no one knows how to write code for them anymore, and they're completely useless for audio. Its just an all round terrible choice for what you want to do.
--- End quote ---
I don't really know what to say about this statement, you don't understand the hardware i'm discussing nor do you understand the audio field outside general purpose consumer products, which again, is not the target of this system.
gevaerts:
--- Quote from: xianthax on April 11, 2010, 03:45:04 AM ---
--- Quote ---Don't use DSPs. Theres basically no support at all for them from open source development tools, no one knows how to write code for them anymore, and they're completely useless for audio. Its just an all round terrible choice for what you want to do.
--- End quote ---
I don't really know what to say about this statement, you don't understand the hardware i'm discussing nor do you understand the audio field outside general purpose consumer products, which again, is not the target of this system.
--- End quote ---
You mean that outside general purpose consumer products, there are open source tools to deal with them? Interesting.
nls:
Rockbox can decode and playback 44.1kHz flac on an 80MHz ARM7TDMI with a bunch of dsp effects done by the same arm core and not even break a sweat. If you need more raw power there are significantly more powerful arm chips out there. What is it you are going to do on the DSP chip that you don't want the cpu to do?
Navigation
[0] Message Index
[#] Next page
Go to full version