Skip to content

berry-audio/berryaudio

Repository files navigation

Description

⭐ If this project helps you, consider Buy me a Coffee to keep it alive and maintained.

Berryaudio is a diy open source audiophile audio player / streamer for Raspberry Pi designed for for pure music listening experience with a beautifully crafted, responsive, touch-optimized user interface. — No ads, no subscription, just pure rich, high-resolution playback and a sleek beautiful responsive UI for your DAC setup.

Built using gstreamer, python as server, reactjs & typescript as client, designed for smooth performance across touch displays, Building your own custom music system headless or with an attached display.

Description

"As an audiophile, a software engineer, and someone who loves building own products, I’ve always wanted an audio system/streamer built with my own preferred tech stack—something modern, intuitive, and truly customizable. With modern hardware,computing power and with a vision to preserve offline experiences & privacy, I’m convinced you can build almost anything without relying on the cloud services. After years of missing the simplicity of Winamp and the smart features of old MusicMatch (some of you might not even remember those days), along with the charm of classic audio systems, I finally decided to create something for myself. So today, I’m starting that journey: building a DAC setup that blends the best of modern features with the soul of legacy audio systems." - Varun Gujjar

A big thank you to the Moode and Mopidy communities for their research and hard work, which greatly inspired and influenced the development of this project.

Note

The developer of this application is not liable for any misuse or legal issues arising from its use and is not affiliated with any content providers. This application hosts zero content.

Berryaudio is intended for offline use only by default; the user manages any external sources. Berryaudio does not condone or supports piracy.

Overview

  • Designed for the Raspberry Pi (should also work on other single board computers)
  • Supports MP3, FLAC, WAV, OGG, DSD, DSF, and other formats, with detailed codec info, ID3 tag reading, and cover art extraction.
  • Bluetooth streaming, AirPlay 2, Spotify Connect, and built-in file browser for easy library management.
  • Bluetooth receiver and transmitter support (Handles automatically based on device connected)
  • Multi-room synchronized audio playback
  • Curated list of 200+ radio stations, including major providers like BBC and SomaFM.
  • Full ID3 tag support, music scanning, and automatic artist info from TheAudioDB.com.
  • Create and manage playlists with touch-friendly drag-and-drop sorting and playback modes (Repeat, Shuffle).
  • Supports SD cards, USB HDD and SSD drives.
  • New: Network folder sharing from mounted drives
  • Manage Bluetooth, view system stats, and control power options (Shutdown, Reboot, Standby).
  • Manage wireless & ethernet network, Hotspot, IP configurations direclty from the interface
  • No need to install any app can be fully controlled using a responsive web interface.

Application

  • Turn your old Amp or Bluetooth speaker(with AUX input) into a Jukebox/Multiroom/Wifi Streaming device
  • Using it as an independent DAC Setup with touch screen

Download

You can download the ready image based on Bookworm OS from the following link berryaudio_v3.0.0.img.zip
Scroll below to see a list of supported hardware

Getting Started

Installation guides, SD card flashing instructions, and hardware compatibility & features.

Supported Hardware

Features

Playback

  • Supports MP3, M4A, MP4, AAC, FLAC, OGG, OPUS, WMA, WAV, and DSF audio formats (DSF requires a supported DAC)
  • Reads ID3 tags and extracts embedded cover art from various file types
  • Displays detailed audio codec, sample rate, and bit-depth information
  • Fast search by artist, album, and track

Sources

  • Bluetooth streaming with aptX, LDAC, SBC XQ+, including metadata display (supported devices only)
  • Can be used as a Bluetooth receiver or transmitter
  • AirPlay 2 receiver (PCM 44/48 kHz / 32-bit) with cover art & metadata display — powered by Shairport Sync v5.0
  • Spotify Connect with cover art & metadata display — powered by Librespot
  • Built-in File Browser for easy navigation and library management

Display

  • Supports SSD1322, SSD1306, and Waveshare 2.8" DSI displays with new fonts and icons — (Display wiring guide)
  • OLED displays (SSD1322 & SSD1306) include Spectrum Analyzer modes and a Retro VU Meter visualizer

Multiroom

  • Synchronized audio playback across multiple rooms
  • Low-latency streaming with Snapcast (PCM, FLAC, Opus, Ogg)
  • Easily group and manage multiple audio clients
  • Perfectly synchronized playback between devices
  • Client and server-side volume control
  • Can be used as a receiver or transmitter

Internet Radio

  • Curated list of 200+ radio stations
  • Includes Pop, Rock, 80s, News, and more
  • Features major stations such as BBC, FluxFM, and SomaFM

Library

  • Full ID3 tag and cover art support across various file formats
  • Scan and index music from multiple storage locations
  • Automatically download artist information from TheAudioDB
  • Browse music by Artist, Album, Genre, and Tracks
  • Add artists or albums directly to playlists or the queue
  • Infinite query-based smooth scrolling for large music libraries

Playlists

  • Create and manage playlists
  • Touch-friendly drag-and-drop sorting for playlists and the Now Playing queue
  • Playback modes: Repeat All, Repeat One, and Shuffle

Storage

  • Supports SD cards
  • Supports external USB drives (pen drives & HDDs)
  • Automatic mount and unmount for connected storage devices
  • Supports NVMe & PCIe storage (not fully tested but expected to work)
  • SMB network folder sharing from mounted drives
  • Supports adding remote NAS storage from Windows, macOS, and other network locations

Networking

  • Scan and manage Bluetooth devices via D-Bus
  • Discover and manage Wi-Fi networks
  • Automatically enables a Wi-Fi hotspot if no network is connected
  • Manage Ethernet connections
  • Configure IP settings (DHCP or manual/static)

Power

  • View CPU, memory, and storage usage statistics
  • Shutdown, reboot, and standby controls from the interface
  • Standby screen displays local date and time

Camilla DSP

  • Supports all DSP features of CamillaDSP
  • Advanced filtering, routing, mixing, and gain control
  • Create custom EQ profiles (PEQ, GEQ, FIR, IIR filters)
  • Load and switch between multiple DSP presets
  • Real-time DSP updates without restarting playback
  • Supports high-resolution audio pipelines (up to 32-bit / 384 kHz depending on hardware)

Coming Soon

  • DLNA
  • GPIO Buttons
  • Infrared Remote
  • FM Tuner
  • Line In Audio

Hardware

Berryaudio has been tested on the following Raspberry Pi (Bookworm OS). While it should work with other versions of Pi aswell feel free to share your tests so it can be added to the list below.

Version Description Link Status
Raspberry Pi Zero CPU: BCM2835 @ 1 GHz Memory: 512 MB Wi‑Fi: None Bluetooth: None Link -
Raspberry Pi Zero W CPU: BCM2835 @ 1 GHz Memory: 512 MB Wi‑Fi: 802.11n Bluetooth: 4.0/BLE Link -
Raspberry Pi Zero 2 W CPU: Quad‑core Cortex‑A53 @ 1 GHz Memory: 512 MB Wi‑Fi: 802.11n Bluetooth: 4.2/BLE Link Tested
Raspberry Pi 1 Model B+ CPU: BCM2835 Memory: 512 MB Wi‑Fi: None Bluetooth: None Link -
Raspberry Pi 3 Model B CPU: Quad‑core Cortex‑A53 Memory: 1 GB Wi‑Fi: 802.11n Bluetooth: 4.1/BLE Link -
Raspberry Pi 3 Model B+ CPU: Quad‑core Cortex‑A53 @ 1.4 GHz Memory: 1 GB Wi‑Fi: 802.11ac Bluetooth: 4.2/BLE Link -
Raspberry Pi 4 Model B CPU: Quad‑core Cortex‑A72 Memory: 1/2/4/8 GB Wi‑Fi: 802.11ac Bluetooth: 5/BLE Link Tested
Raspberry Pi 5 CPU: Quad‑core Cortex‑A76 Memory: 1/2/4/8/16 GB Wi‑Fi: 802.11ac Bluetooth: 5/BLE Link Tested

Audio Boards

Below are the list of DACs that have been tested and are confirmed to work out of the box. More will be added as testing progresses. If you have a DAC you’d like to see supported, or are able to provide a board for testing, we’d be happy to include it on the platform—your contributions are always welcome!

Board Name Chip Volume Sample Rate Link Status
Built-in Pi 3.5mm output Pi 3B, 3B+, 4B Software 48kHz Link Tested
Rpi DAC+ DAC: PCM5122 Hardware 384kHz Link Tested
PCM Audio Board (A) DAC: PCM5122 Hardware 384kHz Link Tested
reSpeaker 2-Mics HAT v2 DAC: WM8960, ADC: WM8960 Hardware 48kHz Link Tested
Hifiberry DAC+ADC DAC: PCM5122, ADC: PCM1861 Hardware 384kHz Link Tested

Displays

Below are the list of Displays that have been tested and are confirmed to work out of the box. More will be added as testing progresses. If you have a Display you’d like to see supported, or are able to provide a board for testing, we’d be happy to include it on the platform—your contributions are always welcome!

Display Name Resolution Type Protocol Setup Link Status
SSD1322 256x64 OLED SPI Setup Link Tested
SSD1306 128x64 OLED I2C Setup Link Tested
Waveshare 2.8" DSI LCD 640x480 LCD DSI Setup Link Tested

License

Berry Audio is released under the MIT License.
Fork it, modify it, and build your perfect listening setup.

Contributing

We welcome your contributions! Based on functionality and code quality, contributions may be integrated directly into the core system or offered as user-contributed modules that can be installed separately.