Hi,
Almost one year ago I posted information about my audio player:
https://support.hifiberry.com/hc/en-us/community/posts/201494692-Woodware
Since that time I redesigned hardware and software components. Now it's based
on Raspberry Pi 2 and Amp+. The software part was changed completely. And now
the project has its name - 'Peppy Player'.
All the details about this project can be found here:
https://github.com/project-owner/Peppy.doc/wiki
And here is the summary:
This is DIY project which includes three components: hardware, software
and woodware. All three components were created for this project from scratch.
Here are the key features of the hardware component:
* It is based on the popular single-board computer Raspberry Pi 2.
* High quality audio achieved by using integrated Amplifier module HiFiBerry Amp+ and Sony speakers.
* The Hardware has six "senses" to control its functionality:
- Mouse
- Keyboard
- Touchscreen
- Infrared Remote Control
- Rotary Encoders
- Any computer in a local network or mobile device with Web Browser
Here are the key features of the Software component:
* This is application written in Python.
* Peppy provides Graphical User Interface for audio players running in a headless mode. Currently Peppy supports 'Mpd' audio player.
* Embedded Web Server allows to control audio playback from any Web Browser.
* The default touchscreen resolution is 480*320. This is the resolution of the TFT used for this project. Though UI is dynamic and can scale to any screen resolution.
* Currently Peppy has only Internet Radio functionality. In the future releases support for playing audio files and streams will be implemented as well.
* By default Peppy has playlists containing free radio stations for English, French, German and Russian languages. Users can add their own stations to the playlists.
The key features of the Woodware component include:
* Original custom design.
* Made of solid wood (Cherry and Walnut).
* Natural finish - the variation of French polish.
I hope that the information about this project will be useful for all
DIY developers as it brings together many different aspects of developing
hardware, software and woodware fro Raspberry Pi platform.
Enjoy!
29 comments
-
HiFiBerry team Hi Hifi,
thank you for sharing this.
Best regards,
Daniel -
hifi All source files for the project can be found here:
https://github.com/project-owner/Peppy
From the source files you can learn how to:
- create Python GUI using Pygame library
- implement animation in Python and JavaScript
- handle audio players (e.g. mpd) from your Python code
- program rotary encoders
- handle infrared remote control in Python
- implement web UI using HTML5, Json, SVG and WebSocket technologies -
scott ebner Thank you Hifi! I'd love to buy you a drink for how much help your project has been.
-
hifi Thanks Scott, good to know that that info is useful for someone else. If you find that some area needs more details just let me know.
-
hifi Here is the new member in the family of Peppy Players. It's called µPeppy (micro-Peppy)
https://github.com/project-owner/microPeppy.doc/wiki
This is completely portable player - it can be powered by battery. It's based on Raspberry Pi Zero.
The only HiFiBerry stuff used in this player is the driver for HiFiBerry DAC+. -
Corstiaensen Hello Hifi,
Waw, I love working with raspberry hifiberry and wood to. But what is a good an affordable scroll saw ? Any tips?
https://github.com/project-owner/Peppy.doc/wiki is perfect too.
Thanks, Best regards,
Dree
-
hifi Thank you Corstiaensen!
I don't have that much experience with different scroll saw types. I just tried
couple of them - Dewalt when I took woodworking classes and Excalibur which I
eventually bought for myself. But I cannot say that they are affordable. If you
are involved into any kind of craft you probably know the recommendations - don't
save on tools buy the best ones :) On the other hand it doesn't make sense to
spend too much on tools which you need to use just one or two times. So it's a
trade-off as usual.
The first recommendation - make sure that the scroll saw which you buy is big
enough to handle sizes which you need. For example I would not be able to
make Peppy player enclosure using 16" scroll saw because wood which I needed
to saw had size about 20". But I would be able to saw boards which I used for
microPeppy.
Scroll saws also can differ by blade types. Some use pinned blades, the other
use pinless blades. There are also saws which can use both. Which one is better?
I think that's the question of personal preference. I prefer pinless blades. I
believe they are probably slightly cheaper too.
If you are new to using scroll saw try to watch videos on Youtube. There are
plenty of them. Regarding buying process - try to read comments on Amazon.
Here is for example affordable scroll saw on Amazon which can handle pinned and
pinless blades:
https://www.amazon.com/WEN-3920-Two-Direction-Variable-Flexible/dp/B005UKGL58
Its throat size is 16". So you will not be able to saw boards bigger than that.
Good luck! -
hifi New version (Raphael Edition) of the Peppy Player software was released today. Here are the key features:
- Added File Playback functionality. Both supported players 'mpd' and 'mplayer' provide file playback on Linux and Windows platforms.
- Updated Logo screensaver. In the File Playback mode it will display current album art.
- Updated Slideshow screensaver. In the File Playback mode it will display images from art folder.
Here are several screenshots.
Radio player:
Radio Genre Menu:
Screensaver Settings Menu:
Home Menu:
File Browser:
File Player: -
hifi Thank you Corstiaensen!
I don't have that much experience with different scroll saw types. I just tried
couple of them - Dewalt when I took woodworking classes and Excalibur which I
eventually bought for myself. But I cannot say that they are affordable. If you
are involved into any kind of craft you probably know the recommendations - don't
save on tools buy the best ones :) On the other hand it doesn't make sense to
spend too much on tools which you need to use just one or two times. So it's a
trade-off as usual.
The first recommendation - make sure that the scroll saw which you buy is big
enough to handle sizes which you need. For example I would not be able to
make Peppy player enclosure using 16" scroll saw because wood which I needed
to saw had size about 20". But I would be able to saw boards which I used for
microPeppy.
Scroll saws also can differ by blade types. Some use pinned blades, the other
use pinless blades. There are also saws which can use both. Which one is better?
I think that's the question of personal preference. I prefer pinless blades. I
believe they are probably slightly cheaper too.
If you are new to using scroll saw try to watch videos on Youtube. There are
plenty of them. Regarding buying process - try to read comments on Amazon.
Here is for example affordable scroll saw on Amazon which can handle pinned and
pinless blades:
https://www.amazon.com/WEN-3920-Two-Direction-Variable-Flexible/dp/B005UKGL58
Its throat size is 16". So you will not be able to saw boards bigger than that.
Good luck! -
hifi New version (Caravaggio Edition) of the Peppy Player software was
released today:
https://github.com/project-owner/Peppy
Here are new features:- Implemented playback of playlists (m3u and cue).
- Added support for 'vlc' player. Now Peppy supports three popular players 'mpd', 'mplayer' and 'vlc'.
- Redesigned communication with audio players.
- Added support for Streaming server and client.
- Updated web radio playlists.
Peppy Player software provides UI functionality to the audio players
(mpd, mplayer or vlc) running in a headless mode. It was originally
developed for using with small LCDs/Touchscreens with resolution
480*320, 320*240. Although it can be used in systems with smaller or
larger resolutions as well. Peppy Player can be installed on any
Linux or Windows platform which supports Python and Pygame library.
Here are several screenshots showing web radio UI for different languages
(German, French and Russian) and different genres (Kids, Pop and Rock):
https://raw.githubusercontent.com/project-owner/Peppy.doc/master/images/samples/children.de.1.png
https://github.com/project-owner/Peppy.doc/blob/master/images/samples/pop.fr.1.png
https://raw.githubusercontent.com/project-owner/Peppy.doc/master/images/samples/rock.ru.1.png
Here are the screenshots showing VU Meter Screensaver (currently available
only on Linux platform and mpd player):
https://github.com/project-owner/Peppy.doc/blob/master/images/samples/vu.1.png
https://raw.githubusercontent.com/project-owner/Peppy.doc/master/images/samples/vu.2.png
https://raw.githubusercontent.com/project-owner/Peppy.doc/master/images/samples/vu.3.png -
hifi I'm not sure why this forum doesn't allow me to edit my own message. Anyway here are the images:
-
hifi New version (Bosch Edition) of the Peppy Player hardware and software was released today:
https://github.com/project-owner/Peppy
New features:- Modified hardware. Now microPeppy leverages HiFiBerry MiniAmp for Raspberry Pi Zero:
- Added ability to listen to audiobooks. Books can be selected by genre and author. The following screenshots demo the functionality.
- Redesigned screens to simplify navigation.
- Added more information to the wiki pages.
- Bug fixing.
-
hifi Today I released new version (Rembrandt Edition) of the Peppy Player software
and updated wiki pages.
New features:
- Switched from custom WebSocket implementation to the Tornado Web Server.
This change significantly simplified the web server implementation. Also it provides
the base for the further Web UI improvements.
- Implemented Voice Assistant which allows to navigate through menus using
voice commands. Current implementation relies on Google Assistant service and
supports three languages - English, German and French. The search functionality
will be implemented in the next releases. So that instead of navigating through the
file browser it will be possible to start playback by making voice command, for
example: 'Play Wish You Were Here by Pink Floyd' or 'Play The Mousetrap by Agatha
Christie' to start audiobook playback.
- Made a major update of the radio playlists. The number of radio stations increased
almost in two times for all genres and languages.
- Added headless mode. In this mode Peppy Player can work without display/TV
connected to Raspberry Pi. In the headless mode the player can be controlled by
using Web UI, remote control and voice commands.
- Created user Gallery where other people can demo their projects based on Peppy Player:
Here are couple examples from the Gallery: -
hifi New version (Vermeer Edition) of the Peppy Player was just released.
New features:
- Replaced HiFiBerry Amp+ by HiFiBerry Amp2. That solved audiobooks playback issues.
https://github.com/project-owner/Peppy.doc/wiki/Amplifier
https://github.com/project-owner/Peppy.doc/wiki/HiFiBerry-Amp
- Added CD Player mode.
https://github.com/project-owner/Peppy.doc/wiki/CD-Player
https://github.com/project-owner/Peppy.doc/wiki/CD-Browser
- Made Home menu customizable.
- Added configuration files for screensavers.
- Refactored VU Meter screensaver.
- Improved logging functionality.
- Provided disk images to simplify player installation and configuration.
https://github.com/project-owner/PeppyPlayers.doc/wiki/Disk-Images
- Added Wish List to the Wiki pages:
https://github.com/project-owner/PeppyPlayers.doc/wiki/Wish-List
- Updated Gallery with new images depicting projects created by Klaus (Germany, Munich):
https://github.com/project-owner/PeppyPlayers.doc/wiki/Gallery -
hifi New version (Rubens Edition) of the Peppy Player was released today.
New features:
- Streamlined the process of adding new languages.
https://github.com/project-owner/Peppy.doc/wiki/Languages
Here are the screenshots showing Language and Home menus in Japanese:- Added CD album art functionality. The CD cover images are retrieved from the largest free web collection on Discogs.com. Here are examples of CD Player with album art:
- Made Screensaver and Language menus customizable.
- Implemented Weather forecast screensaver.
https://github.com/project-owner/Peppy.doc/wiki/Weather
Here are the examples of the Weather screensaver:
- Added information about connecting Bluetooth devices.
https://github.com/project-owner/Peppy.doc/wiki/Bluetooth-Devices
- Provided disk images.
https://github.com/project-owner/PeppyPlayers.doc/wiki/Disk-Images -
hifi New version (Velázquez Edition) of the Peppy Player was released yesterday.
New features:
- Replaced all icons by SVG vector images. That will simplify creation of new icons
and allow UI look the same in different resolutions. Here is example of UI in
resolution 200*150:
- Added functionality which will display album art for all radio stations which
provide information about current artist and song. Below is thee collage which
shows Radio player with album art:
- Implemented Equalizer UI.
https://github.com/project-owner/Peppy.doc/wiki/Equalizer-UI
Equalizer functionality was based on ALSA Equalizer
plugin. UI has five pre-defined frequency profiles for such music genres as Classical,
Jazz, Pop, Rock, Contemporary. Here is the screenshot showing Equalizer UI:
- Added pagination for radio groups.
- Provided new disk image for Waveshare 5" touchscreen.
https://github.com/project-owner/PeppyPlayers.doc/wiki/Disk-Images
- Added support for m3u playlists with absolute filenames. -
hifi New version (Goya Edition) of the Peppy Player was released today.
New features:
* Refactored VU Meter screensaver. Now it leverages peppymeter plugin.
* Added Spectrum Analyzer screensaver. It also leverages peppyalsa plugin.* Modified Weather screensaver. Backgrounds were added to the screensaver. That will reduce the screen brightness and help to better serve the screensaver role.
* Added Recursive Playback mode. In this mode player will automatically play all files in folder and all sub-folders.
https://github.com/project-owner/Peppy.doc/wiki/Recursive-Playback
* Introduced the flag disabling automatic playback upon startup.
* Improved support for SVG icons. Only one set of icons is required now. The icon colors will be changed accordingly during runtime.
* Fixed issues in Logo screensaver and Audiobooks playback. By setting image height to 100% in the Logo screensaver configuration file the album art will occupy full screen now. -
hifi New version (El Greco Edition) of the Peppy Player was just released.
New features:
* Added new resolution (800*480) to the VU Meter screensaver.
* Implemented Radio Favorites. Radio stations from the different genres/groups can be added to the favorites playlist.
https://github.com/project-owner/Peppy.doc/wiki/Radio-Favorites
* Added timer functionality. It provides autonomous mode when there is no need to switch the player on and off manually.* Implemented song lyrics screensaver.
* Implemented random screensaver which shows screensavers from the user-defined list in the random order.
* Provided new disk image for Waveshare 2.8" touchscreen.
Peppy player powered by the following software and services: -
HiFiBerry team Wow, this thing becomes really HUGE! Great job!
Daniel
-
hifi Thank you! Yes it's growing. Though I'm trying to keep UI simple and oriented towards small touchscreens. Also it's highly configurable - the functionality which you don't need can be switched off.
-
hifi New version (Durer Edition) of the Peppy Player was released.
New features:
* Implemented support for Podcasts.
https://github.com/project-owner/Peppy.doc/wiki/Podcasts-Player
https://github.com/project-owner/Peppy.doc/wiki/Podcasts-Browser* Added PWM output to VU Meter.
https://github.com/project-owner/PeppyMeter.doc/wiki/PWM-VU-Meter* Added support for user-defined startup and shutdown scripts.
https://github.com/project-owner/Peppy.doc/wiki/Startup-&--Shutdown-Scripts* Fixed the issue with Weather Screensaver.
* Updated the Gallery with new images of the NixiePeppy project created by Tobias (Germany, Hamburg):
https://github.com/project-owner/PeppyPlayers.doc/wiki/Gallery
Here is the project's introduction video on YouTube: https://youtu.be/Qb_7MUZivbU -
hifi New project was added to the Gallery:
https://github.com/project-owner/PeppyPlayers.doc/wiki/GalleryPlayer with the official 7" Raspberry Pi Touch Display by Koepisch (Germany)
Koepisch made several code modification in order to make Peppy software working with the official 7" touchscreen. I hope to integrate those changes into one of the next Peppy software releases and prepare new disk image for the display.
Here is the author's description of the project:
The project took several months and became the music player for my daughter. I had to make some software adjustments. The standard Pygame event processing had to be switched to the MultiTouch driver. The colors were changed too.
In terms of hardware, I installed the display without rotation. A HifiBerry DAC+ Card didn't have onboard connectors and used an extra audio output socket instead. A 2-pin power switch has the LED which switches between red (off) and green (on). The power supply was wired via an extra connector.
-
hifi New version (Holbein Edition) of the Peppy Player was released.
According to the download statistics of the last two player releases the Headless disk image is the most popular one.
Therefore in this release some effort was put into developing web UI for the player configuration:
https://github.com/project-owner/Peppy.doc/wiki/ConfigurationIn addition to that new functionality for connecting to a Wi-Fi network was implemented:
https://github.com/project-owner/Peppy.doc/wiki/NetworkAnother new features include:
- Made Home Navigator configurable. All items in the menu can be switched on/off:
https://github.com/project-owner/Peppy.doc/wiki/Home-Screen- Added 'Start Now' option to the Screensaver navigator. It allows to start screensaver immediately.
- Provided new disk image for the Official 7" Touchscreen. It supports long press and sliding actions (sliding volume/equalizer knobs).
- Fixed the issues in the mpd playback and audiobooks.
-
HiFiBerry team Nice. I'm thinking about integrating parts of the UI into HiFiBerryOS (https://github.com/hifiberry/hifiberry-os). However, at the moment there is no common interface to "Now playing" data for Spotify, Airplay, LMS, Bluetooth. I first need to do this.
Best regards,
Daniel -
hifi You can run Web Server and provide Web UI. There are some small footprint servers available. It shouldn't take much space if that's the requirement for you. This way you are not tightly coupled with any UI library/framework (Pygame/Kivy etc) and can provide generic web based UI.
Peppy player disk image is based on Raspbian Buster Lite. I also install many different libraries/utilities (git, pip etc) and such players as vlc, mpd and mplayer with all their dependencies. The disk image which I eventually prepare takes about 1.5 GB after compression (zip). You cannot upload to github files which exceed 2 GB. Though you can split your archive.
I was asked several times to provide Spotify support in Peppy player. I'm planning that for the next release. As far as I understand everything moves towards Web API instead of solutions based on libspotify.
Best Regards
-
hifi Here is the new entry in the Gallery - Shoebox player by Dee (USA):
https://github.com/project-owner/PeppyPlayers.doc/wiki/Gallery#shoebox-player-by-dee-usa -
hifi New version (Cranach Edition) of the Peppy Player was just released.
New features:
* Implemented Advanced Playlist Editor in the Configuration Web UI
https://github.com/project-owner/Peppy.doc/wiki/Playlist-Editor* Show images embedded into MP3 and FLAC files.
* Support AirPlay.
https://github.com/project-owner/Peppy.doc/wiki/AirPlayThis functionality allows to stream audio from Apple devices to Peppy Player using AirPlay protocol. It allows to stream from Spotify player using free and premium accounts.
* Support Spotify Connect.
https://github.com/project-owner/Peppy.doc/wiki/Spotify-ConnectIt allows to send audio stream from Spotify player running on any platform to the Peppy Player. It works only for premium Spotify accounts.
* Added two new languages: Italian and Spanish.
* Check for updates.
* Added ability to configure rotary encoders from the Configuration Web UI.
-
hifi Here is the new arrival in the Gallery - the second project by Dee (USA) and second original enclosure - wooden case with maple finish:
-
hifi New project in the Gallery - Peppy Coffee Grinder by Ingo (Germany)
Ingo placed the player in a very original enclosure - old coffee grinder :) Another original feature of his project - the volume control. The volume can be adjusted by the crank on the top of the grinder :)The hardware used in the player:
- Raspberry Pi Zero
- HiFiBerry Miniamp
- 3.5 inch touchscreenThe software was based on PipaOS 7.0 and Peppy player.
https://github.com/project-owner/PeppyPlayers.doc/wiki/Gallery#peppy-coffee-grinder-by-ingo-germany