Peppy player

Here is the new entry in the Peppy Player Gallery - RetroPeppy by Christian (Germany):

Gallery * project-owner/PeppyPlayers.doc Wiki * GitHub


c1.jpg


c2.jpg
 
New version (Hiroshige Edition) of the Peppy Player was released today.

The disk images with new release are available here:
Disk Images * project-owner/PeppyPlayers.doc Wiki * GitHub

The complete list of changes is available in the Release Notes:
Release Notes * project-owner/PeppyPlayers.doc Wiki * GitHub

Here are the main features of the release:

- Implemented USB disk auto-mount functionality which also includes a Disk Manager Web UI.

disk-mount.png


disk-manager-2.png


- Created UI to set Timezone, set Default values and observe the log file.

timezone.png


- Screensaver delay moved to the Web UI

screensaver.png


screensaver-delay.png


- Redesigned Radio player and station browser screens.
- Modified the keyboard navigation. All screen elements are accessible now using just arrow keys.
 
New version (Monet Edition) of the Peppy Player was released today.

The disk images with new release are available here:
Disk Images * project-owner/PeppyPlayers.doc Wiki * GitHub

The complete list of changes is available in the Release Notes:
Release Notes * project-owner/PeppyPlayers.doc Wiki * GitHub

The main release features include:

- Replaced Yahoo Weather API by OpenWeather API. The replacement was required as of June 1st the Yahoo Weather API will reach the end-of-life. The screensaver configuration procedure was changed. Please refer the following wiki page for details:
Weather * project-owner/Peppy.doc Wiki * GitHub

w-4.png


- Added new language support for Dutch. That includes labels, radio stations and audiobooks.

language.png


- Fixed all known bugs.
 
The new project was added to the Gallery - the portable player by Amala (Indonesia):
Gallery * project-owner/PeppyPlayers.doc Wiki * GitHub

a1.jpg


a2.jpg



The components are:
- Raspberry Pi Zero WH.
- Waveshare 1.3 inch LCD HAT, 1.3inch LCD HAT - Waveshare Wiki. The screen has a ST7789V controller. Amala modified this driver GitHub - darrenliew96/gamepi20_drivers to work with it. I changed the init code to suit my HAT, the resolution to 240 x 240, and the rotation to 0.
- Power to the Pi Zero is from a small 5V/1A power bank. Integrating a battery inside the case will just make it even bulkier and more of a brick than it currently is.
- LG Hi-Fi Plus USB DAC connected to a pair of earphones/IEM.
- 1.3 inch LCD 3D printed case from PiSugar: GitHub - PiSugar/pisugar-case-pihat-cap: PiHat caps designed for PiSugar case.
 
Just found this project on GitHub, perfect for a project I'm doing

My questions are:

1- I want to pair this with an ADAU1701 as a pre-amp into a TPA3255 chip. Would getting the two to talk be as simple as correctly configuring the GPIOs between the two devices and whatever controllers I add to it? I would use this software + RPi as the source/receiver to feed into the ADAU which would control volume, equalization etc.

2 - are there any better spectrum analyzers I could use for the screen saver?

3 - has anyone added analog sources to this? I have a turntable I would like to connect. Would be awesome to select it on the screen.

This is exciting... what a great project
 
Last edited:
Hi cheapvega,

Thank you for the interest in Peppy Player!
Regarding your questions:
1 - I'm not sure where is the place for Peppy in such system? If your audio devices (pre-amp, DAC, amp etc) are present as ALSA devices then Peppy could control them as regular ALSA devices. It doesn't do anything special beyond the ALSA.
2 - Do you mean 'better' from the UI point of view or functionality? You can adjust some spectrum analyzer parameters of the peppyalsa plugin:
Spectrum Analyzer * project-owner/peppyalsa.doc Wiki * GitHub
This can change the functionality. Regarding UI it's currently only the UI which is there.
3 - Again the player doesn't do anything beyond the ALSA. Is your turntable visible to ALSA? Meaning can you connect it to the Linux system (e.g. Raspberry Pi) using I2S or USB? Does it have a driver for that connection? If so, then we can talk further...

Right now I'm trying to assemble the Integrated Amplifier which will consist of DAC (Khadas), Power Amp (based on Class-D MA12070) and Headphone Amp (3 Transistor HP Amplifier with low dist):
Integarted Amp with DAC, Power Amp and Headphones Amp
The plan is that it will look similar to this source with the same wide screen:
NAS + Streamer
I'm planning to write some kind of control software similar to the Peppy Player (preliminary name - PeppyAmp) which will run in that box on Pi 4. It will allow to adjust settings for the components over I2C, receive over HTTP and display either volume or spectrum data or both and display it in that wide screen, allow to switch between Power Amp and Headphone Amp and allow gracefully switch off the amp.
That's probably the system which you would need.

Best regards
 
rpi, thanks for the fast feedback!

1- sorry if I am not being clear. I would just want the preamp parts of the Peppy- everything upstream of the Hifiberry basically. I would also need a basic but selectable analog input for my turntable, and some way to display and control volume on the DSP rather than the Peppy as the DSP has loudness compensation. I am almost certain this is all somewhat straightforward to do through the RPi's GPIO.

2 - I am talking view only. I would like a spectrum analyzer with labels for loudness and frequencies as well as adjustable peak holders. Your VU meters are drop dead gorgeous... just looking for a spectrum analyzer on the same level if possible.

3 - No, my turntable just has analog outputs. All I would need on the RPi is an analog input to connect to and a way to switch to that analog input through the interface.

Also while I have your attention I'd like to connect an IR receiver for basic controls (volume, source select, track fwd/back for the streamer).

It sounds like the PeppyAmp software will be perfect for me- I will have to do more research on my DSP but the volume and spectrum display would be amazing. Do you have a time frame in mind for that software? The preamp is basically the last piece in my system. I suppose I can run the Peppy Player software for now and migrate to PeppyAmp later.
 
Hi cheapvega,

1. I don't have any experience with ADAU1701. You can search through this forum and ask how to integrate it with Pi. As far as I understand I2S (GPIO) is one way:
ADAU1701 Raspberry I2S Driver
I'm planning to make PeppyAmp as a plugin system so that each plugin could support a specific device. So there could be a plugin for ADAU1701 which would allow to control it.

2. I've got your point.

3. I didn't connect any analog audio inputs to Pi. Probably you need something like this:
HiFiBerry DAC+ ADC Pro | HiFiBerry

In the integrated amp project which I mentioned I will switch DAC output between Power Amp input and Headphone Amp input using a relay controlled by Pi through I2C bus (GPIO).
The Pi will only control the amp components. It will not be in the audio signal path itself. Therefore the VU Meter and Spectrum signals will come from another 'source' box which I mentioned. That will be done over HTTP using the home network. That will introduce some latency but it looks not so bad after my testing.

There is no any timeframe regarding PowerAmp, so I cannot guaranree anything at this point. I'll start working on that whenever I'm done with hardware. The power amp part was tested. Right now I'm struggling with noise in the headphone amp - trying to add external linear +5V power supply to the DAC instead of feeding it by USB power from the Pi. When it's done I'll start assembling the box and start working on the software. Also I'm finishing new release of the Peppy Player which should happen in a week or two.

Best regards
 
Member
Joined 2002
Paid Member
Hi rpi,

I am not familiar with Peppy products but I do play around with ALSA configuration a bit. I would recommend using cardnames rather than the card numbers. The number is not always consistent as it depends on the soundcards available on the RPi at any given time and the order they get loaded.

aplay -L gives you the available soundcards.

Pass something like "plughw:CARD=E30,DEV=0" (output from aplay -L) to your sound program command line then you don't need to modify .asoundrc at all.

I am not sure what you mean by templates but there should be a pcm directory (maybe /usr/local/share/alsa/pcm) that contain card configuration files. You can add config files there and link from .asoundrc with something like this, <confdir: pcm/right.conf> (no space)

regards
 
Hi Greg,

You are right regarding names vs numbers. I faced that issue and changing the number to the name fixed that:
How can I make my ALSA card to use the fixed number?

Thank you for the info about the 'pcm' folder. Here is the excerpt from the template used by Volumio:

Code:
ctl.!default {
       type hw
       card ${card}
       device ${device}
}
Here the placeholders ${card} and ${device} will be replaced by the values selected by user in UI and .asoundrc file will be generated from the template with user-defined values. I'm going to use similar approach.

Best regards
 
Last edited:
Member
Joined 2002
Paid Member
ALSA handles the CARD, DEV, SUBDEV variables automatically, so there is no need to modify .asoundrc though the GUI.

All the default ALSA configs have something like this:

Code:
ctl.!default {
	@args [ CARD DEV ]
	@args.CARD {
		type string
	}
	@args.DEV {
		type integer
	}
        type hw
        card $CARD
        device $DEV
}

Then your audio program *should* be able to pass the variables from the command line, something like this:

Code:
/usr/local/bin/squeezelite -n "pCP 4B Topping E30" -o hw:CARD=E30,DEV=0

Why I mention this to you is that pCP does modify ALSA config files from the GUI and I have only recently found that it was unnecessary, and in fact works better the *right* way. I haven't yet disentangled this from pCP yet.

The penny dropped when I studied the all the default ALSA configuration files rather than looking for *advise* on the internet.
 
Last edited:
New version (Renoir Edition) of the Peppy Player was released.

The disk images with new release are available here:
Disk Images * project-owner/PeppyPlayers.doc Wiki * GitHub

The complete list of changes is available in the Release Notes:
Release Notes * project-owner/PeppyPlayers.doc Wiki * GitHub

Here are the main features of the release:

- Implemented NAS Manager which allows to add/configure NAS using the Web Configuration UI.
NAS Manager * project-owner/Peppy.doc Wiki * GitHub


nas-3.png


- Implemented the Image Viewer for observing images in multiple formats: gif, jpg, png, tif, tga.
Image Viewer * project-owner/Peppy.doc Wiki * GitHub


image-viewer-3.png


- Added Switch screen/functionality which leverages the I2C bus and allows to switch on/off connected devices.
Switch * project-owner/Peppy.doc Wiki * GitHub


switch-4.png


- Made several changes to improve the File Browser performance.
https://github.com/project-owner/Peppy.doc/wiki/File-Browser#performance

- Added support for user-defined scripts which will be activated on player start/stop, screensaver start/stop and timer start/stop

- Added new language support for Czech.
 
Most recent version of Peppy Player that supports RPi 7inch touch screen

I'm working on a streaming radio player for a vision impaired adult and the Peppy UI looks really interesting. I'd like to build it on a Pi with the 7-inch touch display.

I see that there's a version named renoir-official.7.0.zip on the Peppy github.

Am I going in the right direction? If not, can someone point me towards the most recent Peppy version for the Pi 7-inch touch screen?

Thanks.
Frank
 
The new version (Manet Edition) of the Peppy Player was released today.
The disk images with new release are available here:
https://github.com/project-owner/PeppyPlayers.doc/wiki/Disk-Images
The complete list of changes is available in the Release Notes:
https://github.com/project-owner/PeppyPlayers.doc/wiki/Release-Notes
Here are the main features of the release:
  • Simplified the process of adding new languages.
  • Added new language support for Polish.

language.png


  • Added cache flag to the Slideshow Screensaver.
  • Users can provide their own API Key for the Weather Screensaver. That enables quick weather updates.
  • Fixed navigation issue in the Image Viewer.
  • Playback buttons (play/pause, mute, next/previous, volume up/down) can be pressed on any screen now.
  • Fixed volume control from IR remote control.
  • Updated radio stations.
There is no OS update and no new libraries installed. Therefore the new player version can be installed by cloning the player from the GitHub:
https://github.com/project-owner/Peppy.doc/wiki/Updating-Guide