[HN Gopher] Using a Raspberry Pi as a Bluetooth Speaker with Pip...
___________________________________________________________________
Using a Raspberry Pi as a Bluetooth Speaker with PipeWire
Author : mfilion
Score : 130 points
Date : 2022-09-02 14:58 UTC (8 hours ago)
(HTM) web link (www.collabora.com)
(TXT) w3m dump (www.collabora.com)
| pletnes wrote:
| I've had decent luck with shairport-sync (I think the name was)
| for Airplay audio. Only relevant for mac/ios, which I happen to
| use. Video playback and streaming airplay audio syncs up though,
| totally unlike windows with bluetooth audio, which I discovered
| in the past. I use a USB sound card with an older <<dumb
| speaker>> of good but analog quality.
| mbreese wrote:
| I do the same, and think it's a great setup. I have a few
| around the house attached to older (nice) dumb speakers.
|
| But really, the extra USB audio adapter is a must here. The
| internal Pi audio hardware, I found to be very noisy. The USB
| DACs I bought were also super cheap (<$10). You can scale this
| up in cost as much as you'd like.
| pletnes wrote:
| Agree, the built-in DAC is so noisy it's more or less
| unusable. A USB DAC is not too expensive and can be plugged
| into some random laptop, too.
| rcarmo wrote:
| I do the same with a Pimoroni DAC SHIM (a little PCB you can
| slot between the Pi and another connected device)
| skykooler wrote:
| Is it possible to set this up so that multiple devices can be
| paired and stream audio to the same speakers simultaneously?
| sandreas wrote:
| A few years ago I already experimented with this[1]. However I'm
| still wondering why the bluez api does not let you set the
| playback position[2]... it is pretty awesome to not only use
| raspberry as bluetooth receiver but also use GPIO-Buttons or IR
| remote to send commands to the connected bluetooth devices (play,
| pause, next, etc.), but without the ability of setting a playback
| position that feels kind of incomplete - I would have loved to
| implement the "rewind 30s" button :-)
|
| [1]: https://github.com/sandreas/raspberry-bluetooth-receiver
|
| [2]: https://stackoverflow.com/questions/50190477/bluez-and-
| dbus-...
| jypepin wrote:
| somewhat unrelated but I recently looked for a pi and it was sold
| out or the price tag was 10x the regular price everywhere, mostly
| because of the chip shortage. Am I looking in the wrong places?
| numpad0 wrote:
| The shortage is insane, and seems as if someone is trying to
| cripple supply for small autonomous computers that could be
| used for UAVs and guided munitions - isn't that a possibility,
| actually?
| dmicah wrote:
| They are in short supply, however you can still pay normal
| retail price. Check https://rpilocator.com/ .
| kej wrote:
| From the parent link you can find the pilocator Twitter
| account, and your can set that to notify your phone whenever
| there is new inventory. In the U.S., Adafruit has been doing
| big drops the last few Wednesdays and Thursdays, but you need
| your account and 2FA set up ahead of time.
| pengaru wrote:
| 2x is current normal due to shortages, 10x is definitely wrong
| places.
|
| You can snipe at 1x from the usual rpi vendors when they come
| back in stock, if you make the effort.
| Pasorrijer wrote:
| Also, some retailers have just the pi out of stock, but have
| it in stock if you get a bundle with a case, etc. That's how
| I got an 8GB one a few weeks ago.
| arcbyte wrote:
| Please only buy from certified vendors and do not under any
| circumstances pay anyone over normal retail price.
| Phrenzy wrote:
| Part of me wants to buy a $200 pi on Amazon, wait 29 days,
| and then return it. I enjoy the thought of a scalper having
| his inventory unavailable until price normality returns.
| doc_gunthrop wrote:
| Seems it's more due to a number of scalpers who use(d)
| automated scripts to make bulk purchases from online vendors in
| order to sell at a markup on sites like amazon.
|
| That's why the legit vendors like Adafruit now set a quantity
| limit and also require registration (with phone number IIRC) to
| buy them.
| brk wrote:
| I've had good luck with the Le Potato boards for RPi style
| applications. They are in stock and ~$55USD. Generally
| compatible with RPi4 cases and accessories.
| vrnmh wrote:
| Using my old 2015 Macbook Pro for this; OCLP allows enabling
| airplay receiver for unsupported macs.
| NegativeLatency wrote:
| I use shairport-sync on my old macs for this, installs with
| brew and has a launchd service and everything
| mixmastamyk wrote:
| Is there a book that explains all this dbus, glib, gstreamer
| mumbo-jumbo? Despite knowing a lot about classic Unix stuff and
| Python, I don't think I could write something like this by
| cobbling advice from a bunch of random webpages.
| mercwear wrote:
| This is a neat way to use the PI, if you want to avoid BT all
| together and have access to a web browser on the PI you could
| also login to Spotify.com and use your phone / watch to manage
| what is playing but have the output set to the web browser on the
| PI. This assumes you use Spotify of course =)
|
| I have a similar setup in my workshop and it has been solid for
| years.
| twicetwice wrote:
| Better yet would be to use spotifyd[0] for this. I tried to set
| this up with my RPi a while ago but was defeated by Linux
| audio. Instead I just bought a Sonos. Oh, well.
|
| [0]: https://github.com/Spotifyd/spotifyd
| giobox wrote:
| You don't even need a graphical user interface, a web browser
| or the official Spotify app to accomplish this either - you can
| use open source projects that use the official Spotify API to
| create an extra Spotify speaker you can control from Spotify on
| another phone or PC.
|
| There are loads of these projects, often in docker containers
| you can launch with a single command:
|
| > https://hub.docker.com/r/flaviostutz/rpi-spotify
|
| > https://github.com/qSharpy/raspotify-docker-compose
|
| > https://github.com/Spotifyd/spotifyd
|
| etc etc.
|
| I've several speakers integrated with various Spotify API based
| solutions around my home running on various RPi hardware. Some
| of these projects do even more, like add Airplay streaming too.
| nsteel wrote:
| All of those use reverse engineered APIs, particularly for
| playback. Spotify's APIs only support playback through a Web
| browser (that supports their DRM).
| spockz wrote:
| Interesting! Combine this with the product(s) from hifi berry
| and you can relatively cheaply turn any high quality speaker
| into a standalone. Who needs Sonos.
| giobox wrote:
| I'm actually using HifiBerry! They provide a great OS built
| in partnership with B&O that supports Spotify/Airplay with
| their devices out of the box:
|
| https://www.hifiberry.com/hifiberryos/
| Phrenzy wrote:
| Check out HiFiBerryOS with their DSP hat and a
| calibration mic.
|
| Pi + DSP Hat + AIYIMA A07 + decent speakers + Roon (or
| other) = A fantastic and inexpensive sound system. You
| could spend 50x as much and not get as good sounding
| system.
| giobox wrote:
| DSP hat + calibration mic is exactly the approach I went
| with, agreed it is an incredible setup for the money.
|
| > https://www.hifiberry.com/shop/boards/hifiberry-dac-
| dsp/
| worik wrote:
| The sound output through the 3.5mm jack is notoriously low
| quality.
|
| Use a sound card.
| userbinator wrote:
| That's quite... overpowered for what it does, considering that
| the majority of BT speakers are usually based around a dedicated
| SoC with a few hundred MHz of CPU and at most several MB of RAM.
| blantonl wrote:
| given the shortage of Pi's available on the market right now,
| and the fact that you can get Bluetooth adapters for speakers
| on Amazon for a few bucks, it's probably not applicable anymore
| for real world usage.
|
| But, it's a cool writeup and a nice learning process that is
| documented well.
| rozenmd wrote:
| I'd recommend Volumio - gets you Spotify connect for your
| raspberry pi, and if you have a NAS, it can index that too
| jensgk wrote:
| Volumio is ok, but I much prefer moodeaudio.org. It is also
| open source.
| Phrenzy wrote:
| Volumio is pretty good. I used the free version. I've moved to
| Roon and it is on another level. Check it out if you would like
| to rediscover your music collection.
| archi42 wrote:
| Is Spotify connect still working [will it keep on working]? I
| thought they'd have [were about to] drop the old API
| implemented by librespot (et al.) in favor of a pure web API?
| nsteel wrote:
| I don't know exactly what volumio are doing. But librespot
| itself does currently still work. Who knows for how long (I
| doubt Spotify themselves know what they are doing). Librespot
| is transitioning to the new API, that API has already been
| implemented by other ports e.g. Librespot-java (and psst).
| It's not a pure Web API. It's a messy mix.
| morninglight wrote:
| If the goal is to play music from your phone, then buy a phone
| with a headphone jack. Problem solved!
|
| .
| seltzered_ wrote:
| Actually I kept wanting to use my phone (which has a headphone
| jack) as a bluetooth receiver for audio from the PC, and
| remember attempting to spelunk into the bluez stack (for use
| with lineageos) and getting frustrated quickly.
|
| There's some niche usecases (e.g. lengthy video editing on a PC
| while wanting to move around listening to music on your phone -
| airfoil (wifi) technically works but at the time was a bit
| laggy).
| NegativeLatency wrote:
| It's nice to be able to use my phone normally (put it in my
| pocket etc) while playing audio from it on nicer speakers
| withinboredom wrote:
| I use my Linux machine as a Bluetooth speaker with nice big
| speakers plugged in. Literally required 0 extra software. Just
| pair and then in my iPhone, hit the little (i) button and
| selected "speaker."
| PufPufPuf wrote:
| Pi's can also be used as servers and receivers for the open-
| source Logitech Media Server software. I've been successfully
| using it for synchronized multi-room audio. It has support for
| both local music and streaming services.
| noman-land wrote:
| Please say more about this! I've wanted to do this for ages.
| dementik wrote:
| I am using this. LMS is running on the network. UI is
| material-ui (works great on mobile as well). Spotty as
| Spotify plugin.
|
| I can play music directly from my mobile Spotify (so supports
| Spotify Connect). I can see all my Squeezebox players there,
| combines synced players flawlessly.
|
| Also plays local files. And also directly from youtube.
|
| I have about 9 players on different rooms and could not be
| more happy with the setup.
|
| If you would like to know any specific details, just ask.
| Happy to elaborate.
| TedDoesntTalk wrote:
| What are your players? What kind of device?
| dementik wrote:
| Currently I have multiple different Squeezebox players
| (Boom, Radio, Receiver, Touch), then on mobile
| Squeezeplay app (Android) for mobile usage (sometimes
| quite handy, when somewhere else than home, nice way to
| have own music library with me via VPN with same UI as
| home). Also Chrome speakers are players from LMS point of
| view.
|
| Squeezeboxes are rather durable, probably will use those
| for many more years. Have been also collecting little
| replacement player stock :)
|
| Wanted to evaluate esp32 -based player mainly for hacking
| purposes, but havent found yet time to work on those.
| aglarech wrote:
| If you like it simple max2play is an image for that.
| https://www.max2play.com/en/
| jwiz wrote:
| Wow, I'd not thought about that in ages. I still have the
| original slimp3 around here somewhere....
| AceJohnny2 wrote:
| And I have a Squeezebox 3/Classic I've been meaning to drop
| off at electronic recycling... but it's such a nice object!
| TedDoesntTalk wrote:
| I have 4 of them. Need any more?
| tambourine_man wrote:
| I'm all for hacking with the Pi, god knows I've a tendency of
| buying them for every automation idea I may have, even if only an
| embarrassingly small percentage is actually ever implemented.
|
| However, for this use case, I'd recommend one of those Bluetooth
| "pen drives" with a P2 conector. I've used one powered by a phone
| charger connected to a stereo for over a decade. It's cheep and
| works as well as Bluetooth possibly can (pairing sucks, range
| too, etc)
| rektide wrote:
| > _However, for this use case,_
|
| As a bluetooth speaker, perhaps yeah. To me, the title
| described a capability clearly. I might already have, for
| example, a KodiTV media rpi. Now I know I can add more features
| to this system easily.
|
| General purpose computing is great. We can keep exploring &
| expanding what we do; being limited only by imagination is
| excellent. We could add public announcement capabilities, could
| have the rpi connected to webconference software, could set up
| music-playing daemons or internet radio (somewhat covered by
| KodiTV). This article was a clear way to state what capability
| is possible. And it's mostly all built-in to the latest
| greatest free desktop technology, requiring only a little glue
| to make the bluetooth connection seamless:
|
| > _It provides Bluetooth(r) A2DP support with optional codecs
| (SBC-XQ, LDAC, aptX, aptX HD, aptX-LL, FastStream) out of the
| box. At the same time, WirePlumber automatically creates the
| connection between the A2DP source and the audio chipset when a
| remote device, like a phone or a laptop, connects. This makes
| the configuration very easy, as PipeWire will work out of the
| box. We will only need to set up BlueZ to make the system
| headless._
| netsharc wrote:
| Any recommendations? I got one from AliExpress for my car and
| when it plays the navigation instructions it seems to mess up
| the order of the received data packets, so it says "100 in
| meters..." instead of "In 100 meters..."
| lowbloodsugar wrote:
| Or a hifi-berry amp. I don't use Hifi-berry's distro anymore
| though. I use diet-pi. Also Roon. But you don't need Roon for
| airplay or casting.
___________________________________________________________________
(page generated 2022-09-02 23:00 UTC)