Peppy player

Thanks for the Manet version! The OWM stuff works great.

I'm having trouble playing the stream from WNYC (New York City NPR station) FM and AM.

PiCorePlayer and VLC will play the streams fine, but Peppy doesn't seem to recognize it at all.

The URL I'm using is http://www.wnyc.org/stream/wnyc-fm939/mp3.pls

The WNYC webiste says:
Trying to listen on an internet radio or mobile device? Can't figure out how to listen to one of our live streams in iTunes? Download the WNYC mobile app, see if your device has iHeartRadio or TuneIn, or check out the other formats available for all of your live streaming needs: Android,Blackberry, iOS, iTunes, Quicktime, Winamp, Windows Media Player, VLC, internet radios (Grace Digital, Livio, Roku, Sonos, Sony, Squeezebox, Tivoli etc.).

WNYC 93.9 FM
WNYC 820 AM
Any ideas?

Thanks.
Frank
 
Hi Frank,

Peppy player needs direct links to radio streams. It cannot parse playlists like this one http://www.wnyc.org/stream/wnyc-fm939/mp3.pls.
If you open that playlist in any text editor you will find the direct link to the stream: http://fm939.wnyc.org/wnycfm
Just use that link instead of playlist and add it to any existing player's playlist (stations.m3u) for example for genre 'News' https://github.com/project-owner/Pe...sh-USA/radio-stations/Genre/News/stations.m3u:
Code:
#WNYC 93.9 FM
http://fm939.wnyc.org/wnycfm
You can also add the station logo. It should be the image in PNG format and should be placed in the same folder as playlist. The image file name should be the same as station name, for example 'WNYC 93.9 FM.png'

Best regards
 
Добрый день! Manet Edition -кнопки для смены станции работают! да и вообще, все работает отлично! Спасибо! Есть одна хотелка: можно ли скрин сивер - часы, которые на весь экран, лучше цифровые или даже парочку вариантов один их которых тонкими линиями чтобы не освещать комнату ночью, на черном фоне, но, обязательно с синхронизацией времени!!! Всегда хотелось дома всегда иметь часы с самым точным временем, чтобы настраивать все остальные часы на стенах. На заставке есть что-то, но они бегают по экрану, цифры мелкие, фон яркий Ии неплохо было бы в отдельном меню устанавливать выбор (перечень) скринсиверов которые могут чередоваться. Например: часы - 30 сек - погода. За погоду, кстати, отдельное спасибо! Не нужно лезть по у там в телефон чтобы узнать брать зонт или нет. 🙂
 
Добрый день! Manet Edition -кнопки для смены станции работают! да и вообще, все работает отлично! Спасибо! Есть одна хотелка: можно ли скрин сивер - часы, которые на весь экран, лучше цифровые или даже парочку вариантов один их которых тонкими линиями чтобы не освещать комнату ночью, на черном фоне, но, обязательно с синхронизацией времени!!! Всегда хотелось дома всегда иметь часы с самым точным временем, чтобы настраивать все остальные часы на стенах. На заставке есть что-то, но они бегают по экрану, цифры мелкие, фон яркий Ии неплохо было бы в отдельном меню устанавливать выбор (перечень) скринсиверов которые могут чередоваться. Например: часы - 30 сек - погода. За погоду, кстати, отдельное спасибо! Не нужно лезть по у там в телефон чтобы узнать брать зонт или нет. 🙂
Google Says:

Good afternoon! Manet Edition - Station change buttons work! and yes, everything works great! Thanks! There is one Wishlist: is it possible to have a screen siver - a clock that is full screen, better digital or even a couple of options, one of which is thin lines so as not to illuminate the room at night, on a black background, but always with time synchronization !!! I always wanted to always have a clock at home with the most accurate time in order to set all the other clocks on the walls. There is something on the screen saver, but they run around the screen, the numbers are small, the background is bright. It would be nice to set a selection (list) of screen receivers that can alternate in a separate menu. For example: clock - 30 sec - weather. Thanks for the weather, by the way! No need to climb on the phone there to find out whether to take an umbrella or not.
 
Hi lazybyby,

You can change the current configuration settings for the Clock screensaver:
https://github.com/project-owner/Peppy.doc/wiki/Clock
in the file /home/pi/Peppy/screensaver/clock/screensaver-config.txt:
https://github.com/project-owner/Peppy/blob/master/screensaver/clock/screensaver-config.txt
You can do the same using the Configuration Web UI.

To avoid the animated clock: animated=False, to increase the clock size (width percentage): clock.size = 70
I'll add the ability to change the font type and color in the next release. Meanwhile you can change the color in this line:
https://github.com/project-owner/Pe...18c89faafdbd52/screensaver/clock/clock.py#L76
for example:
img = self.f.render(current_time, 1, (50, 50, 50))
where (50, 50, 50) is the dark gray (R, G, B)

There is the 'Random' screensaver which shows different screensavers with defined time interval:
https://github.com/project-owner/Peppy.doc/wiki/Random
You can configure it by changing the file:
https://github.com/project-owner/Peppy/blob/master/screensaver/random/screensaver-config.txt
You can define the interval between different screensaver types and the list of screensavers which you would like to display. For example to show Clock and Weather screensavers with 30 seconds interval you can define the following settings:
update.period = 30
savers = clock,peppyweather

Best regards
 
Here is the new entry in the Gallery: Player in Oak Enclosure by Wolfgang (Germany)
https://github.com/project-owner/Pe...y#player-in-oak-enclosure-by-wolfgang-germany


w1.jpg
w2.jpg
 
  • Like
Reactions: MikeyFresh
Hi,

The player currently supports USB CD player. I think it will be supported for one more release then I'll probably exclude it from the player as I'm planning to upgrade to Pygame 2 which doesn't support CD player anymore:
https://github.com/pygame/pygame/issues/1187

The only USB audio input device which I used with player was a microphone for voice assistant. I think if you have a driver for your device more likely it should work. The player can have as input only files or streams. So your device/driver should provide it. Then the player could output it to USB output device for example amplifier. I've never tried this kind of setup so I'm not sure what kind of issue you can face.

Best regards
 
Thank you phofman!

Peppy player can use either vlc or mpd or mpv as the audio player. All of them support 'cdda'. What was used from the pygame.cdrom module was mostly information about CD tracks. That module was cross-platform. It worked the same way on Windows and Linux.

Regarding pycdio: https://github.com/pygame/pygame/issues/1187#issuecomment-626225250

Probably there is some easy way to get information for CD tracks at least for Linux platform. I'm not sure. Here is the Peppy module which is currently using pygame.cdrom:
https://github.com/project-owner/Peppy/blob/master/util/cdutil.py
To support the current functionality all references to the pygame.cdrom module should be replaced by something else.

Best regards
 
New version (Van Gogh Edition) of the Peppy Player was released.

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

Here are the main features of the release:
  • Implemented REST API. It will allow to create alternative GUIs.
https://github.com/project-owner/Peppy.doc/wiki/REST-API
  • Added new mode - Bluetooth Sink. The player will work as a Bluetooth speaker in this mode.
https://github.com/project-owner/Peppy.doc/wiki/Bluetooth-Sink

bts-1.png

  • Introduced Share Folders functionality. The folders on a Raspberry Pi can be shared with computers in the local network.
https://github.com/project-owner/Peppy.doc/wiki/Share-Manager

share-3.png

  • Fixed Stream mode issues.
  • Fixed the issues with Equalizer and VU Meter in the AirPlay mode.
 
Hi,

Peppy Player is not another "audio" OS. It's just a Python program/software. It can use either 'mpd' or 'vlc' or 'mpv' as the "audio engine". You can install it on Linux or even Windows OS. To simplify the installation/configuration process I provide disk images (for different touchscreens) which are based on a regular Raspberry Pi OS:
https://github.com/project-owner/PeppyPlayers.doc/wiki/Disk-Images
But you can also install the player on your own by following the instructions:
https://github.com/project-owner/Peppy.doc/wiki/Expert

I'm not sure how you are going to use the analog input. I guess you will convert the analog signal to the digital using ADC. I think if you can handle that digital signal in ALSA then you can use the player.

Best regards
 
I'm having problems with my PeppyPlayer installation locking-up after 2-3 days.

I've had this problem with the Renoir (where I started), Manet and VanGogh releases. I have a Pi4 with 4GB of RAM using the official 7inch screen. I've tried both the onboard audio jack and a Adafruit Speaker Bonnet using the HiFiBerry DAC driver.

The problem occurs with a totally stock install. From a fresh boot I can leave it streaming or just sitting with the clock screensaver. After 2-3 days I get no repsonse from the screen, either by directly touching it or from pointing a web browser to port 8000.

I can get the to 8000/config or ssh into the system so I know it's alive, but can't get the screen to respond when this happens.

The only way to recover is to power cycle the system, and it boots up fine.

Volumio and moode seem to work just fine with this Pi4.

I'm not versed in Python and I don't know how to diagnose this problem.

Does anyone have any pointers?

Frank
 
Hi Frank,

I'll try to reproduce the issue. That will take some time. Meanwhile you can enable file logging:
https://github.com/project-owner/Peppy/blob/c64f40c3a34d8917c0232a29ed598cc03b85168d/config.txt#L31
and check the content of the log file (/home/pi/Peppy/peppy.log) when the issue occurs.
You can also enable log messages from the screen events (touch and slide events):
https://github.com/project-owner/Peppy/blob/c64f40c3a34d8917c0232a29ed598cc03b85168d/config.txt#L35
Hopefully that will help to identify the problem.

Do you play any stream or file when the issue occurs?

Also you can check the memory consumption and CPU usage for the 'python3' process using the command 'top'.

Best regards
 
OK, the first Pi4 (4GB) that i have the problem with is running Volumio with no issues.

I installed the Van Gogh release of Peppy on another Pi4 (8GB) and left it running for several days. This Pi has a separate power supply for the touch screen to make sure it's not a power problem. After running for 5 days the touch screen has become unresponsive. Howeverthe config page works just fine and I can ssh to the Pi fine. I've got top running right now.

I'll leave it sitting as is in case you want me to collect any information before rebooting.

Frank

pi@raspberrypi:~ $ top

top - 17:54:01 up 20:09, 2 users, load average: 0.17, 0.14, 0.10
Tasks: 126 total, 1 running, 123 sleeping, 0 stopped, 2 zombie
%Cpu(s): 1.5 us, 0.6 sy, 0.0 ni, 97.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7898.7 total, 7567.4 free, 115.7 used, 215.6 buff/cache
MiB Swap: 100.0 total, 100.0 free, 0.0 used. 7547.7 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
608 pi 20 0 274448 88096 32352 S 10.6 1.1 130:31.88 python3
4594 pi 20 0 10328 3012 2472 R 0.7 0.0 0:16.17 top
12 root 20 0 0 0 0 I 0.3 0.0 2:50.40 rcu_sched
78 root 1 -19 0 0 0 S 0.3 0.0 3:43.55 vchiq-slot/0
79 root 1 -19 0 0 0 S 0.3 0.0 2:54.57 vchiq-recy/0
1 root 20 0 33760 8108 6492 S 0.0 0.1 0:04.85 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.09 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
8 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_rude_
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_trace
11 root 20 0 0 0 0 S 0.0 0.0 0:08.11 ksoftirqd/0
13 root rt 0 0 0 0 S 0.0 0.0 0:00.03 migration/0
14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/1
16 root rt 0 0 0 0 S 0.0 0.0 0:00.02 migration/1
17 root 20 0 0 0 0 S 0.0 0.0 0:00.12 ksoftirqd/1
20 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/2
21 root rt 0 0 0 0 S 0.0 0.0 0:00.02 migration/2
22 root 20 0 0 0 0 S 0.0 0.0 0:00.83 ksoftirqd/2
25 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/3
26 root rt 0 0 0 0 S 0.0 0.0 0:00.02 migration/3
27 root 20 0 0 0 0 S 0.0 0.0 0:00.08 ksoftirqd/3
30 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
31 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns
34 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kauditd
36 root 20 0 0 0 0 S 0.0 0.0 0:00.04 khungtaskd
37 root 20 0 0 0 0 S 0.0 0.0 0:00.00 oom_reaper
38 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 writeback
39 root 20 0 0 0 0 S 0.0 0.0 0:05.19 kcompactd0
57 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kblockd
58 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 blkcg_punt_bio
59 root -51 0 0 0 0 S 0.0 0.0 0:00.00 watchdogd
62 root 0 -20 0 0 0 I 0.0 0.0 0:00.72 kworker/0:1H-mmc_complete
63 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rpciod
64 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/u9:0-hci0
65 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 xprtiod
66 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kswapd0
67 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 nfsiod
68 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kthrotld
69 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 iscsi_eh
70 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 iscsi_destroy
71 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 nvme-wq
72 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 nvme-reset-wq
73 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 nvme-delete-wq
74 root 20 0 0 0 0 I 0.0 0.0 0:00.77 kworker/u8:1-events_unbound
76 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 DWC Notificatio
 
Hi Frank,

Thank you for the info. Unfortunately I didn't have time to reproduce the issue.
I don't see anything suspicious in the 'top' output. The player (python3) is running and CPU/memory usage looks OK.
Can you use the player UI in browser? From the 'config' page you can go to the player UI by clicking on the logo in the top-left corner.

More likely there is some issue with the player-display communication. I'm using the library rpi-backlight:
https://github.com/linusg/rpi-backlight
to control the backlight of the official 7" touchscreen when screensavers start working. That library can also power off/on the touchscreen. It's possible to disable that functionality in the player by setting this property to False (it's set to True for the official touchscreen):
https://github.com/project-owner/Peppy/blob/c64f40c3a34d8917c0232a29ed598cc03b85168d/config.txt#L171

I still need to find the time to reproduce the issue.

Best regards
 
Hi Frank,

Finally I connected the official 7" display to the Pi 4 and kept it running for 3 days. It was running the Clock screensaver. After 3 days I was able to control player from the touchscreen.

I've used a wired connection. Do you use a Wi-Fi network connection?

Best regards