afaden / babelpod

Add line-in and Bluetooth input to the HomePod (or other AirPlay speakers); intended to run on Raspberry Pi.
MIT License
218 stars 35 forks source link

Love this project! #28

Open wrenchpilot opened 1 year ago

wrenchpilot commented 1 year ago

Hello, introducing myself. I just found this project and was able to use this to stream my turntable to my AirPlay devices! The instructions (http://faden.me/2018/03/18/babelpod.html) are a bit outdated, but I got it working using nvm and installing node lts/hydrogen (18.16.1) on a Raspberry Pi 4 (Raspberry Pi OS 64bit). Just wanted to share my success and say thanks!

Steps

Install nvm

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
nvm install lts/hydrogen

Clone this repo

git clone https://github.com/afaden/babelpod.git
cd babelpod
npm i

Create the service

sudo nano /etc/systemd/system/babelpod.service
[Service]
# need to specify the full path to node
ExecStart=/home/pi/.nvm/versions/node/v18.16.1/bin/node /home/pi/babelpod/index.js
StandardOutput=journal

Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Start babelpod

sudo systemctl daemon-reload
sudo systemctl enable babelpod
sudo systemctl start babelpod
sudo systemctl status babelpod

macOS Settings (Airdrop & Handoff)

TheMoD22 commented 11 months ago

Hello wrenchpilot

Thank you for your contribution. How did you solve this with the installation of the airplay? For me, the installation runs according to the instructions from ((http://faden.me/2018/03/18/babelpod.html) with several errors.

Thanks very much

borjaburgos commented 11 months ago

@wrenchpilot Thank you! I was able to use your instructions successfully!

zaiff5091 commented 11 months ago

Hello,

I’m trying to install Babelpod with your instructions and I’m stuck at the installion of nvm with lts/hydrogen. It takes like 2 hours to finish and I get this error :

cc: fatal error: Killed signal terminated program cc1 compilation terminated. make[1]: [tools/icu/icudata.target.mk:157: /home/pi/.nvm/.cache/src/node-v18.17.1/files/out/Release/obj.target/icudata/gen/icudt73_dat.o] Error 1 make: [Makefile:134: node] Error 2 nvm: install v18.17.1 failed!

I’m using a Raspberry Pi Zero W.

Any idea ?

Thank you, Zaiff

TheMoD22 commented 11 months ago

Hello Zaiff,

if you really used version 18.17.1, did you also specify it correctly in etc/systemd/system/babelpod.service and not 18.16.1 as in the template?

zaiff5091 commented 11 months ago

Hello,

Thanks for you reply.

I'm following the steps of the template in order and I didn't reach the ones you are mentionning, I'm on the nvm installation. So I didn't created the service yet.

Am I doing it the wrong way ?

Zaiff

TheMoD22 commented 11 months ago

Hello,

at which step does the error message come?

TheMoD22 commented 11 months ago

Hello,

can anyone tell me how the audio issue was resolved. I can see the Air devices but there is no sound. In the original post, Airplay (2) is also installed. However, the installation fails for me.

Thanks

zaiff5091 commented 11 months ago

Hello,

It happens at nvm install lts/hydrogen

wrenchpilot commented 9 months ago

Hello,

I’m trying to install Babelpod with your instructions and I’m stuck at the installion of nvm with lts/hydrogen. It takes like 2 hours to finish and I get this error :

cc: fatal error: Killed signal terminated program cc1 compilation terminated. make[1]: [tools/icu/icudata.target.mk:157: /home/pi/.nvm/.cache/src/node-v18.17.1/files/out/Release/obj.target/icudata/gen/icudt73_dat.o] Error 1 make: [Makefile:134: node] Error 2 nvm: install v18.17.1 failed!

I’m using a Raspberry Pi Zero W.

Any idea ?

Thank you, Zaiff

I think you need a different version of node for the pi zero: https://hassancorrigan.com/blog/install-nodejs-on-a-raspberry-pi-zero/

https://unofficial-builds.nodejs.org/download/release/v18.16.1/node-v18.16.1-linux-armv6l.tar.gz

-- EDIT -- Now that I think about it, I'm not sure a pi zero can do this by itself. My turntable has a USB output that shows up as a audio device in my pi4 that I can redirect with babelpod. You would need that same setup with some sort of microUSB adapter to your audio device or get a USB DAC for the pi zero.

wrenchpilot commented 9 months ago

Hello wrenchpilot

Thank you for your contribution. How did you solve this with the installation of the airplay? For me, the installation runs according to the instructions from ((http://faden.me/2018/03/18/babelpod.html) with several errors.

Thanks very much

From what I remember, I didn't install AirTunes2, I skipped that part. AirTunes2 is part of babelpod. https://github.com/afaden/babelpod/blob/master/package.json

strikingwebsolutions commented 9 months ago

@wrenchpilot Extremely helpful. Thank you!!

I went down some crazy rabbit hole trying to solve for the broken directions on the main site. I wound up reverting my pi to factory and starting again with these - worked first try.

Confirming installing AirTunes2 separately is not necessary. A custom version of it is included in this git repo.

8foster commented 4 months ago

Hello @wrenchpilot . Great post! I am trying to get babelpod working on my raspberry pi 4 and tried loads of things. Then I tried your instructions and they worked really good, never have gotten so far as now. i started the babelpod service and then it said enabled but: babelpod.service: Failed with result 'exit-code'. Process: 11732 ExecStart=/home/pi/.nvm/versions/node/v18.16.1/bin/node /home/pi/babelpod/index.js (code=exited, status=203/EXEC) Could somebody help me? I've gotten really far and I think its a great project!

wrenchpilot commented 4 months ago

Hello @wrenchpilot . Great post! I am trying to get babelpod working on my raspberry pi 4 and tried loads of things. Then I tried your instructions and they worked really good, never have gotten so far as now. i started the babelpod service and then it said enabled but: babelpod.service: Failed with result 'exit-code'. Process: 11732 ExecStart=/home/pi/.nvm/versions/node/v18.16.1/bin/node /home/pi/babelpod/index.js (code=exited, status=203/EXEC) Could somebody help me? I've gotten really far and I think its a great project!

That sounds like SELinux is preventing the service from starting. Modify /etc/selinux/config set SELINUX=disabled and reboot.

8foster commented 4 months ago

Hello @wrenchpilot . Great post! I am trying to get babelpod working on my raspberry pi 4 and tried loads of things. Then I tried your instructions and they worked really good, never have gotten so far as now. i started the babelpod service and then it said enabled but: babelpod.service: Failed with result 'exit-code'. Process: 11732 ExecStart=/home/pi/.nvm/versions/node/v18.16.1/bin/node /home/pi/babelpod/index.js (code=exited, status=203/EXEC) Could somebody help me? I've gotten really far and I think its a great project!

That sounds like SELinux is preventing the service from starting. Modify /etc/selinux/config set SELINUX=disabled and reboot.

Hey, I got it working! Thanks for your input but I didn't specify my path to the node in that one text document. That helped and now it works! Thanks for your answer!

pauldnyc commented 3 months ago

I will quickly +1 the title of this thread. 100% love this project. One thing I'm a little stuck on is trying to get it to play nice with a stereo pair of HomePods. They're paired but are also being used as default speakers for an Apple TV 4K (1st gen). I see the Apple TV's Airplay name as an option in the BabelPod config page but when select it, there's nothing output to the HomePods. I can select each HomePod individually with no issue, though. Just not as a stereo pair. Should it work with the Apple TV? Or maybe there's some other config I need to do to make this setup work? Thanks again for this thread, which was really helpful getting me up and running -- and for such a great project with BabelPod!