piCorePlayer = piCore Linux + Raspberry Pi + Squeezelite

Member
Joined 2002
Paid Member
piCorePlayer = piCore Linux + Raspberry Pi + Squeezelite + LMS

piCorePlayer is a dedicated Squeezebox player (like a Duet receiver) for your Raspberry Pi. It is built on a small read-only linux (Tiny Core/piCore) and Triodes excellent Squeezelite player. It is small, very small, only 75Mb.

December 12 2015

Please try the new release (piCorePlayer 1.22).
Ralphy has been a great support and help during the development - so thank you very much.

https://sites.google.com/site/picoreplayer/home/news

Changes:
  • Updated kernel 4.1.12.
  • Updated piCore (even faster booting).
  • Touchscreen support improved (the official raspberry 7" touchscreen).
  • Calibration file included.
  • Jivelite can be installed from webpage.
  • VU-Meters can be changed from webpage.
  • New high quality default VU-Meter made by forum member Kolossos - thank you very much.
  • Backlight on/off (Jivelite settings/screen/screensavers/when stopped/Display off ) then the backlight will be off when not playing, and on when you touch the screen.
  • Ralphy is providing two versions of squeezelite. The basic version which is shipped with pCP allow playback of pcm, (wav/aiff), flac, mp3, ogg and aac. It is only 1 Mb in size. The ffmpeg version is bigger (12 MB) and allows in addition playback of ALAC and WMA via build in ffmpeg. In the Main page you can choose which version you will use.
After customizing Jivelite you need to save your changes to the next reboot. This is done on the webpage ("advanced tab" in the bottom and choose "backup").

Download

https://sites.google.com/site/picoreplayer/home/download

This software has been around for a couple of years now, but has a fairly low profile at diyAudio.

regards
Steen & Greg
 
Last edited:
  • Like
Reactions: 1 user
Member
Joined 2002
Paid Member
I am using this version of the software myself now on a RPi2. I am running usb to a Grant Fidelity tubedac-09. It seems to sound better than my squeezebox touch through the s/pdif input.

hi DanHat,

That looks like a nice little DAC. Thanks for reporting it works on piCorePlayer. What DAC chip do they use? I couldn't see any mention of it.

Grant Fidelity TubeDAC-11 D/A Converter

regards
Greg
 
I set up my Pi2 last night with piCorePlayer and the PIFI/HIFI DiGi+ card (from DX, aliexpress, banggood,audiophonics + others). Worked straight out of the box, choosing the i2s-audio DAC (HifiBerry). Not had chance for a good listen but initial impressions were very good. It does everything you'd expect it to do.

It would be nice to have lms running on the same Pi rather than my very underpowered NAS. Has anybody tried this? I know squeezeplug offers this but setting up the SPDIF card is a paid for option.
 
Member
Joined 2002
Paid Member
I set up my Pi2 last night with piCorePlayer and the PIFI/HIFI DiGi+ card (from DX, aliexpress, banggood,audiophonics + others). Worked straight out of the box, choosing the i2s-audio DAC (HifiBerry). Not had chance for a good listen but initial impressions were very good. It does everything you'd expect it to do.

It would be nice to have lms running on the same Pi rather than my very underpowered NAS. Has anybody tried this? I know squeezeplug offers this but setting up the SPDIF card is a paid for option.

Hi parrymike,

That's what I like to hear 'Worked straight out of the box". :D

I don't know of anyone getting LMS running on top of piCore Linux.

We have tried to minimise the size of piCorePlayer by starting with piCore and only adding the bare minimal number of packages. This means piCorePlayer is only about 30M not 1000M or 2000M.

regards
 
Member
Joined 2002
Paid Member
Apart from the low cost, is there any advantage over using an old computer with, say, Daphile which has the advantage of easy browser setup and management?

hi Tromperie,

I thought piCorePlayer also had an "easy browser setup and management"? ;) although it is mainly used as a headless squeezelite player.

As I mentioned in the previous post, piCorePlayer is designed to be very small. Almost everything is loaded into memory and run from there. This means you can just power it off and turn it on.

At the end of the day, the DIYer has lots of very good choices.

regards
 
Member
Joined 2003
Paid Member
Greg,

Great to see you here spreading the word about your great application.

Any chance of seeing it ported to the BeagleBone Black? There's been a lot of activity on DIYAudio around that HW. It has the advantage over the R-Pi of being able to have the audio processing clocked via an external clock feed and a driver is available which enables that.

Then there are at least a couple of good hardware interfaces which provide high-quality clocks via galvanic isolation and can feed virtually any I2S-input DAC.

See these threads for more details:

http://www.diyaudio.com/forums/twisted-pear/250583-building-open-embedded-audio-applicance-28.html

http://www.diyaudio.com/forums/twisted-pear/258254-support-botic-linux-driver-25.html

http://www.diyaudio.com/forums/twisted-pear/272053-hermes-bbb-botic-cape-beaglebone-black-7.html

http://www.diyaudio.com/forums/twisted-pear/272007-cronus-its-about-time-5.html

http://www.diyaudio.com/forums/group-buys/227502-amanero-isolator-reclocker-gb-47.html

While the BBB is not nearly as popular of a unit as the R-Pi, these additional capacities make it a great option for those looking for the best in sound quality!

Greg in Mississippi

P.S. Ian's FIFO reclocker can also work well with the R-Pi to improve the I2S signal integrity & lower jitter. See post 3598 in this thread for details:

http://www.diyaudio.com/forums/digi...-project-ultimate-weapon-fight-jitter-72.html
 
Member
Joined 2002
Paid Member
Thanks Greg for the compliment :)

The piCorePlayer project has limited resources, so Steen and I have had to limit it to the Raspberry Pi for the time being. :(

piCore (Tiny Core Linux) is very well supported, the other non-x86 have been ported but not with same level of on-going support.

piCorePlayer, being a free product, we decided to focus on a hardware product that has the largest market and support network. This in theory should ensure the largest usage of piCorePlayer.

Thanks for all those links. I have been following them off and on for years. I wish my pockets were deep enough to try all those hardware options.

regards
Greg in New South Wales :D
 
Hello Greg,

I have been using picoreplayer on two Raspberry Pi B+'s, one with Iqaudio Pi-Dac+ and one with HifiBerry DigiB+ now for some time, now version 1.21b as a squeezebox replacement.
I use a Windows PC to control playback, writing of the picoreplayer img and found the whole installation and usage of picoreplayer very easy.

The PC is used for playback of flac files using Foobar, Foosqueeze / AIMP software (modded annoyingmouse software), Logitech Media Server to the Raspberry Pi's running picoreplayer.

One thing I have found is that when the two Pi's are both running I do get some some intermittent "noises" like dropouts as if there is some interaction between the two Pi's.
Is this a matter that the two Pi's should have different MAC addresses so that they are both not responding to the one address?
Settable in "Squeezelite Settings", I have not tried this yet.

One comment is that the player is limited to what is provided.
I am no programmer, and find adding things easy if I have a reliable how-to.
Would it be possible to add the ability for "extras" that are included in the tiny core install eg "alsaequal" to be added to "Squeezelite Settings", to help with equalization?
Alsaequal and other audio modules seem to be installed with the tiny core install eg "tc@picore:~S tce , s , alsaequal" results in alsaequal.tcz.info being returned.
See https://www.hifiberry.com/guides/guide-adding-equalization-using-alsaeq/ and the digital machine as examples.

Thanks,

Russell.
 
Member
Joined 2003
Paid Member
There may be a new I2S-Connected DAC Sheriff in town!

Thanks Greg for the compliment :)

The piCorePlayer project has limited resources, so Steen and I have had to limit it to the Raspberry Pi for the time being. :(

<SNIP>

regards
Greg in New South Wales :D

Yah, I understand.

There is an interesting HW development available for I2S DACs on the R-Pi now and I'm curious if you have incorporated it into your base download...

The HiFiBerry DAC+ Pro has separate on-board clocks for the 44/48 family of sampling rates and is using a clock master function of the PCM5122 DAC on their board to feed the appropriate HW clock (as the bitclock) into the Pi to drive the I2S signal generation. That SHOULD result in a lower-jitter feed from the Pi and hopefully better sound quality. See more here:

DAC+ Pro clocks – HiFiBerry

OTOH, it requires their latest driver to do that. Have you incorporated their driver into the latest PiCorePlayer download? If not, will you be... and roughly when? And for a Linux duffer, how would one get their driver onto a PiCorePlayer setup if you aren't or aren't for some time?

TIA!

Greg in Mississippi
 
Last edited:
Member
Joined 2002
Paid Member
Hi Russell,
Sorry for the delay, hope you are still there!
Hello Greg,
I have been using picoreplayer on two Raspberry Pi B+'s, one with Iqaudio Pi-Dac+ and one with HifiBerry DigiB+ now for some time, now version 1.21b as a squeezebox replacement.
I use a Windows PC to control playback, writing of the picoreplayer img and found the whole installation and usage of picoreplayer very easy.
I am happy it was very easy, we try hard to make it easy.
One thing I have found is that when the two Pi's are both running I do get some some intermittent "noises" like dropouts as if there is some interaction between the two Pi's.
Is this a matter that the two Pi's should have different MAC addresses so that they are both not responding to the one address?
Settable in "Squeezelite Settings", I have not tried this yet.
I recommend not to play with the MAC addresses, unless you have multiple instances of squeezelite on one Raspberry Pi. Leave Squeezelite Settings -> MAC address empty. piCorePlayer will work out the right MAC address to use.
One comment is that the player is limited to what is provided.
We try to focus on keeping piCorePlayer a very small distribution. Roughly 70MB versus 4GB for Raspbian.
I am no programmer, and find adding things easy if I have a reliable how-to.
Would it be possible to add the ability for "extras" that are included in the tiny core install eg "alsaequal" to be added to "Squeezelite Settings", to help with equalization?
Alsaequal and other audio modules seem to be installed with the tiny core install eg "tc@picore:~S tce , s , alsaequal" results in alsaequal.tcz.info being returned.
See https://www.hifiberry.com/guides/guide-adding-equalization-using-alsaeq/ and the digital machine as examples.
In recent releases we have added [Resize FS] and [Extensions] buttons to the main page (in beta mode) to allow you to resize your filesystem and add extras to your piCorePlayer from the web interface. Just rememember, when you upgrade piCorePlayer you will need to reinstall your additions.

Thanks for the information on alsaequal, if I remember correctly it was a bulky extension with a web interface. I will have another look in the future.

regards
 
Member
Joined 2002
Paid Member
There is an interesting HW development available for I2S DACs on the R-Pi now and I'm curious if you have incorporated it into your base download...

hi Greg Stewart,

Additional hardware eventually gets included into piCorePlayer.

Once the drivers/firmware get included into the standard distribution of Raspbian, they then make their way to piCore and finally into piCorePlayer. So it can take a while.

I wouldn't be surprised if the generic I2S option works ok. I have a few ES90023 I2S DAC boards with their own clock.

regards
 
Member
Joined 2003
Paid Member
Thanks for the info. I'll watch for it.

Greg Erskine,

Agreed that the generic I2S option should work, but I don't believe that will fully utilize the additional clock functionality built into the DAC+ Pro.

The clock on an ES9023 I2S board is typically a 50Mhz clock that is used by the ASRC functionality in the ES9023 for resampling the I2S feed. The I2S feed for these is generated by the Pi using the on-board 19.2Mhz clock, with sampling-rate appropriate clock signals generated from this using the on-chip PLL. This results in a pretty jittery I2S signal, but because the ES9023 only takes in the DATA, BIT CLOCK, AND R/L CLOCK I2S signals, ignores any MASTER CLOCK line from the source, and uses the clock signal from the on-board 50Mhz clock to feed into its on-chip ASRC, it works pretty well. OTOH, a number of reports suggest that the ESS chips (and others with this capability) sound better when used with a high-quality synchronous clock which causes bypassing of the ASRC. Also, the on-board clock might be something other than the 50Mhz depending on the board designer's choice, but most that I've seen use 50Mhz as that is the highest rate clock the ES9023 is rated for and the ASRC generally seems to work better with the highest clock that can be fed into the chip.

The DAC+ Pro, OTOH, has two clocks on the board, 45Mhz & 49Mhz. Which is active and used is selected by a signal from the driver on the Pi. The clock signal is fed into the PCM5122 which is operated in 'master' mode and it uses the clock signal to generate a synchronous bit clock. This bit clock is fed back into the Pi and the DAC+ Pro driver then uses the bit clock instead of the inherently more jittery PLL-derived Pi clock to generate the I2S signal. This supposedly results in a lower jitter I2S signal out of the Pi and into the DAC.

I'm hopeful this clocking scheme will result in a lower jitter I2S signal out of the Pi resulting in potentially better sound from the DAC+ Pro's DAC (compared to similar setups) and a better I2S signal that can be fed downstream to other DAC setups (in true DIY fashion). It is just a pity they didn't include galvanic isolation and synchronous I2S signal reclocking on the board, which would have taken it into true high-end-ish territory (hence my interest in feeding the I2S signal into other DAC setups where I can include these functions).

Without the new DAC+ Pro driver, the DAC+ Pro will operate in a manner similar to how the ES9023-based DAC cards work, with no potential benefit from the sampling-rate synchronous clocks on the board.

Looking forward to seeing this functionality in PiCorePlayer!

Greg in Mississippi
 
Member
Joined 2002
Paid Member
December 12 2015

Please try the new release (piCorePlayer 1.22).
Ralphy has been a great support and help during the development - so thank you very much.

https://sites.google.com/site/picoreplayer/home/news

Changes:
  • Updated kernel 4.1.12.
  • Updated piCore (even faster booting).
  • Touchscreen support improved (the official raspberry 7" touchscreen).
  • Calibration file included.
  • Jivelite can be installed from webpage.
  • VU-Meters can be changed from webpage.
  • New high quality default VU-Meter made by Kolossos - thank you very much.
  • Backlight on/off (Jivelite settings/screen/screensavers/when stopped/Display off ) then the backlight will be off when not playing, and on when you touch the screen.
  • Ralphy is providing two versions of squeezelite. The basic version which is shipped with pCP allow playback of pcm, (wav/aiff), flac, mp3, ogg and aac. It is only 1 Mb in size. The ffmpeg version is bigger (12 MB) and allows in addition playback of ALAC and WMA via build in ffmpeg. In the Main page you can choose which version you will use.
After customizing Jivelite you need to save your changes to the next reboot. This is done on the webpage ("Advanced tab" in the bottom and choose "Backup").

Download

https://sites.google.com/site/picoreplayer/home/download

regards
Steen & Greg
 
Last edited:
Hello Greg,

Greg Erskine said:
Hi Russell,
Sorry for the delay, hope you are still there!

Yes still around.

Greg Erskine said:
I am happy it was very easy, we try hard to make it easy.
I recommend not to play with the MAC addresses, unless you have multiple instances of squeezelite on one Raspberry Pi. Leave Squeezelite Settings -> MAC address empty. piCorePlayer will work out the right MAC address to use.

What could be causing the drop outs as the dropouts do not occur when only one pi is working?

Greg Erskine said:
Thanks for the information on alsaequal, if I remember correctly it was a bulky extension with a web interface. I will have another look in the future.

Thanks for having a look.
As alsaequal seems to be installed in the picoreplayer distribution natively I thought it may be of use to others who may need equalization.
Not sure if it can be implemented within picoreplayer though if alsaequal uses a web interface.

Thanks again for your efforts,

Russell.