Hardware support - FLAC lossless audio format - Page 1
Forum section: electronics / beginners

author: made2hack
author_rank: Frequent Contributor
timestamp: April 14, 2016, 12:30:49 pm
content: Hi all,I've been looking around for a chip that supports FLAC CODEC and seem to only find VSLI chips which are a bit on the pricey side. Does anyone know if any other manufacturer make FLAC chips?Also, could I conceivably create my own player using something like the Tiva series Arm Cortex chips from TI? I don't need the Encoding part (ie create a flac file), just Decode (playing)?Would the built in DACs be sufficient for audio playback? Or should I look at something such as the Pi Zero?

author: tszaboo
author_rank: Super Contributor
timestamp: April 14, 2016, 12:38:35 pm
content: Flac decoding is just a bunch of fixed point integer instruction. libflac compiler on ARM, so you can use the Tiva. I would choose a Cortex M4 microcontroller with 50+ MHz to do it. Well depending on your playback bitrate and such. Any of the Pis can do it, and it is probably more convenient, out of the box experience.

author: made2hack
author_rank: Frequent Contributor
timestamp: April 15, 2016, 10:31:38 am
content: Ok, so rather than use the 16Mhz and PLL it to 80Mhz, (too much power), try to get a faster 50Mhz cortex?Thanks,

author: izx
author_rank: Newbie
timestamp: April 15, 2016, 10:56:35 am
content: Quote from: trs80 on April 14, 2016, 12:30:49 pmI'm fairly certain none of the released Tiva TM4C chips have a built-in DAC peripheral. There may be an external DAC on one the Tiva Launchpads though, but I don't know if it'll be good enough (16-bit audio quality, stereo, preferably I2S input).Quote from: trs80 on April 14, 2016, 12:30:49 pmPerhaps you can elaborate on your application/project? The Zero will decode FLAC just fine, but it DOES NOT have an audio output. The rumored audio jack on the Zero v2 will still be the crappy PWM+RC lowpass "10-bit" audio.

author: tszaboo
author_rank: Super Contributor
timestamp: April 15, 2016, 11:02:52 am
content: If you are looking for some specific advice, get a STM32F4 Discovery, that has a quite beefy MCU and a DAC onboard, slap on an SD card of one of those boards made for Arduino. You will have to program a lot, but production should be easy.I think you should use external DAC if you care about audio quality. We can help more if you write more about the project.

author: made2hack
author_rank: Frequent Contributor
timestamp: May 06, 2016, 12:28:32 pm
content: Hi thanks,Sorry for the late reply.Essentially I want an iPod replacement that will have FLAC and / or Monkey (APE) support and a touch screen (so you can take it in your car).Storage either off SD, or some kind of Flash hard drive. I first looked @ Pi Zero as I figured it would have built in OS support for decoding flac and support for touch screen but since I can't buy any pi zero's, maybe a regular pi 3. Buy you are saying that the output will be crappy due to the not good DACs?I thought about the Tiva MCu since I am doing an online course with it now, however it's only got 12Bit ADC. I'm not sure about it's DAC.So yeah, the controller portion needs to be able to run a touch screen and some kind of interface (either full blown OS like with the Pi) or some kind of dedicated embedded GUI that I would program if I would use an MCU of some sort which I guess would interface with the external DAC.I guess now that I think of it the VSLI chips don't seem that expensive.

author: ruffy91
author_rank: Regular Contributor
timestamp: May 06, 2016, 01:21:01 pm
content: You could use a decent USB DAC with the PI.

author: Jeroen3
author_rank: Super Contributor
timestamp: May 06, 2016, 07:56:30 pm
content: This is where the I2S interface is made for. Communication with audio peripherals.

author: amyk
author_rank: Super Contributor
timestamp: May 07, 2016, 01:17:51 am
content: Look at repurposing the ultra-cheap Chinese "SD card" or similar "MP3" players - they'll often play FLAC, APE, OGG, and a bunch of other formats too, with very low power consumption... most are based on 8051 or Z80 cores.