Home › Forums › Product Discussion & Questions › BeoPlay › Upcycling a Beoplay A8
- This topic has 4 replies, 4 voices, and was last updated 1 month ago by
-
AuthorPosts
-
14 March 2024 at 04:08 #53522
Fjvzrk
BRONZE MemberHi all,
I have a Beoplay A8. It is a great sounding speaker but unfortunately only supports Airplay 1.
Over the last month I have been working on a project to upcycle it to make it compatible with Airplay 2.
I have decided to use a Raspberry pi combined with the application Shairport-sync, connecting the Beoplay A8 through the usb port, to take advantage of the built in DAC in the beoplay A8
It works great. I can stream music and have even been able to write a script such that the โpreviousโ, โnextโ and โplay/pauseโ buttons on the Beoplay A8 are mapped to the corresponding airplay 2 functions. Furthermore I have figured out a way whereby the Beoplay A8 is unbinded from the raspberry piโs usb port when music isnโt playing. This toggles off the Beoplay A8. When music starts playing usb port is binded again, turning on the Beoplay A8.
Only thing I can get to work is getting access to the Beoplay A8โs hardware volume control. I can control the music volume theough software but not use the built in volume control.
I can find the Beoplay A8โs mixer by using Alsamixer. But changing the volume level has no effect.
I used the application EVTEST to detect the button presses to write the script for โpreviousโ, โnextโ, โplay/pauseโ. According to this application the Beoplay A8 also has โvolumeupโ and โvolumedownโ buttons, but when pushing these buttons on the Beoplay A8 nothing is detected, instead the hardware volume control is triggered up / down.
Any ideaโs? Basically I see two ways forward:
(1) Get access to change the volmue of the hardware volume (as I have tried with Alsamixer, but not been able to succeed with)
(2) Set the Beoplay A8โs hardware volume to a fixed level and then expose the physical buttons on the Beoplay A8 such that they trigger the volumeup / volumedown command that I can see exists when using EVTEST. I can then map these commands to the software volume control.I know that the default volume level of the Beoplay A8 (when turned on) can be set by using a Beo4 remote. Perhaps there is an IR command to โlockโ the volume?
14 March 2024 at 17:12 #53523GOLD MemberMy Beoplay A8 – upcycled – setup is somewhat simpler.
I use the PL-out of an Essence MK2 to the R/L line-in on the A8.
The line-in has autosense, which means that the A8 is activated, when starting playback on the Essence – both go into standby after a while of not being used.The Essence is controlled by a BROne or by the B&O app.
The A8 has a fixed startup level and the volume is controlled via the Essence.
The A8 is basicly โjustโ a set of speakers.The big advantage is that the setup this way is part of my B&O Link setup in the house.
MM
Location: FlensborgโโโโDanmark14 March 2024 at 17:14 #53524Fjvzrk
BRONZE MemberUnderstood. The disadvantage of that setup is that the buttons on the A8 do not function.
23 February 2025 at 15:56 #63971Laurent Martin-Desile
BRONZE Member@fjvzrk, would you mind sharing your shairport-sync script to use buttons, please.
I have tried this script:
#!/bin/bash # Configuration SHAIRPORT_HOST="localhost" SHAIRPORT_PORT="5000" INPUT_DEVICE="/dev/input/event0" # Adjust this to your Beoplay A8's event device # Function to send commands to shairport-sync send_shairport_command() { echo "$1" | nc "$SHAIRPORT_HOST" "$SHAIRPORT_PORT" } # Function to handle evtest output handle_evtest_output() { local line while IFS= read -r line; do if [[ "$line" =~ code\ 165\ \(KEY_PREVIOUSSONG\),\ value\ 1 ]]; then send_shairport_command "player.previousitem" elif [[ "$line" =~ code\ 163\ \(KEY_NEXTSONG\),\ value\ 1 ]]; then send_shairport_command "player.nextitem" elif [[ "$line" =~ code\ 164\ \(KEY_PLAYPAUSE\),\ value\ 1 ]]; then send_shairport_command "player.toggle" # or player.pause or player.play, change as needed. fi done } # Start evtest and handle its output evtest "$INPUT_DEVICE" | handle_evtest_output
But it returns this error message:
RTSP/1.0 400 Bad Request Server: AirTunes/105.1
-
This reply was modified 3 weeks, 1 day ago by
Laurent Martin-Desile.
-
This reply was modified 3 weeks, 1 day ago by
Laurent Martin-Desile.
-
This reply was modified 3 weeks, 1 day ago by
Laurent Martin-Desile.
23 February 2025 at 20:47 #63974BRONZE MemberCan’t you also use the later version of AirPort Express?
Location: Toronto, Canada -
This reply was modified 3 weeks, 1 day ago by
-
AuthorPosts
- You must be logged in to reply to this topic.