Existential question: is balenaSound more than an AirPlay receiver?

I’ve been fiddling with my Raspberries for maybe a year. Figuring out what they’re good for. Decided to work on the music angle. I’ve got a 3, a 4, a Zero-W, and an old model B (256mb). I started out using Volumio. Didn’t really like the interface or the “pull” data model. I’d rather use interfaces I know. Played a bit with very basic cmus player on the Zero (with adafruit audio bonnet) and a few songs I put on it. Then I used the 3 to build my balenaSound device, with an Allo Boss. Really surprisingly good sound. I think I’m happy with the level of fidelity I’m getting with AirPlay, less so with Bluetooth devices, because I can’t get the host software to let me select a different codec. Working on that.

But what am I missing? If I don’t set up a multi room system, what is a balenaSound-loaded Pi but a receiver? Is it better at that than other devices? Am I missing the point of it here, because the point of it really IS multiroom audio? I really want to source from my various Macs and PC, iPad, etc, using YouTube, iTunes/Music, Pandora, and others. I also want to stream from my own content either from iTunes on the Mac or locally on an attached drive on the raspberry. And it would be great to listen to it in one of 2-4 places in the apartment, so multiroom seems like a good goal (except for the annoying lag just What do other people do?

I hope I can post such an open-ended question. I just would like not to be doing it all alone.

Hey @k9gardner, I’m balenaSound developer/maintainer so I’ve had quite a few existential questions regarding this project myself haha. Let me explain what this project is all about.

balenaSound was conceived as an audio streamer device (“receiver”) to be paired with older HiFi audio systems that don’t have modern connectivity alternatives. Our thought process was that a lot of people had very good but old audio systems unused and maybe they had a spare Raspberry Pi on their drawer collecting dust. With balenaSound we would give those audio systems a “second life”.

Initially balenaSound was “single room” and only supported bluetooth. With time we grew the project into being able to do multi room audio and accept a few “plugins” (bluetooth, AirPlay, spotify, upnp). Going forward with the project we would love to add more plugins, you mention YT, Pandora, etc. At the moment I’m not actively working on any of those but I’ve made sure to simplify the process of adding new ones so we get community contributions; we have a couple of them on the way pending review and/or waiting on third parties.

So in a simplified way yes, balenaSound is an audio receiver for some audio services that can do multi room. The only extra notable “feature” we plan on adding in the future is some sort of UI from where you can manage your devices and audio sources.

1 Like

Before I respond to the meat of your comments, let me just say how appreciative I am to be able bounce these ideas around with someone as much at the heart of it as you are. Prior to balenaSound, I was using Volumio. In the end, I decided that its “pull” model was not what I wanted; I prefer to use mostly my own existing interfaces and “push” the data to the sound system. In any event, however, Volumio too is a relatively small community, and many of my questions/comments were answered by “patrickkfkan”, the developer of a number of the plugins I was using. This kind of access is unheard of in “big product” environments, and it makes people like me want to perk up and make sure we’re asking reasonable questions and doing our best to bring something to the table ourselves. I know how valuable your time is and I can’t thank you enough for your considered response.

In addition, what is balenaSound? This started out as one of the Balena “free day” projects, right? Where the staff can work on their own stuff, whether it’s practical or not, exploring their own ideas. I’m getting an understanding of what openBalena and balenaOS is, and I know it ain’t about providing an environment for home tinkerers to set up music systems to play in two or three rooms. I understand the versioning, distribution and central control the this architecture provides, and it’s pretty intense, to say the least, what this product really is. I’ve never been more keenly interested in IoT than I have become through this brief exposure via this side project.

Ok, all of that being said, back to the original inquiry. I guess there must be a lot of people who have older Hifi systems that relied on records, tapes, CDs, as source material, and as that stuff fades into memory, perhaps the convenience of a device like the HomePod, the Echo Studio, etc, makes a convincing argument. But my system took years to put together. I have big Magnepan speakers. High-current 150-watt NAD amplifiers. An Audio Physic subwoofer. Am I supposed to replace all that with a tabletop music box? It’s not gonna happen. Yes, I’ll add to it, in other rooms perhaps. But obviously I’m not gonna just give up on this sound and call it a day. So a device that aims to bridge the new music sources with the old ways of reproducing them is right on-target for me.

And some convenience isn’t bad. I love the idea of having the same music playing around the house or apartment. If that’s the biggest thing that balenaSound is going to bring to me, besides the wireless link itself, that may be enough. Well, that, and having relatively higher fidelity music streaming to my system. I’ve used a few Bluetooth receivers, and they sounded like crap (they were not aptX). Here at least I can use AirPlay, which seems to satisfy me at present.

The one additional thing I think I’d like my system to be able to do is to distribute locally-stored music as well as music being streamed to it. If there were a way to incorporate a cmus-like (but more user-friendly) music player into balenaSound, I could easily switch from stuff that I’m streaming from my Mac or pc or iPad, to stuff that’s stored in my own music library on a hard drive attached directly to the RPi, and stream that around the house. I can’t think of much beyond that that I would want it to do. Maybe these are the kinds of things you’re talking about. If so, it all sounds good to me.

Once again, thanks for your previous reply. Sorry to go on so long. It’s just kind of an exciting new exploration for me and I’m enthusiastic. :slight_smile:

Before I respond to the meat of your comments, let me just say how appreciative I am to be able bounce these ideas around with someone as much at the heart of it as you are. Prior to balenaSound, I was using Volumio. In the end, I decided that its “pull” model was not what I wanted; I prefer to use mostly my own existing interfaces and “push” the data to the sound system. In any event, however, Volumio too is a relatively small community, and many of my questions/comments were answered by “patrickkfkan”, the developer of a number of the plugins I was using. This kind of access is unheard of in “big product” environments, and it makes people like me want to perk up and make sure we’re asking reasonable questions and doing our best to bring something to the table ourselves. I know how valuable your time is and I can’t thank you enough for your considered response.

Thank you for your words! This type of exchange with users is definitely enriching for all parties involved so we try our best to be out there and reachable to the end user, wether it’s balenaSound or some obscure question about balenaOS, there is always things to take away.

In addition, what is balenaSound? This started out as one of the Balena “free day” projects, right? Where the staff can work on their own stuff, whether it’s practical or not, exploring their own ideas. I’m getting an understanding of what openBalena and balenaOS is, and I know it ain’t about providing an environment for home tinkerers to set up music systems to play in two or three rooms. I understand the versioning, distribution and central control the this architecture provides, and it’s pretty intense, to say the least, what this product really is. I’ve never been more keenly interested in IoT than I have become through this brief exposure via this side project.

Exactly, that’s the story! The main focus of the company is to provide an IoT platform that reduces friction for the fleet owner. So most of the technology we develop tries to make life easier for people building applications meant to be run in large (and small too!) fleets of IoT devices. Once or twice per month all employees are encouraged to participate in “hack fridays” which really means take your friday and build something cool with our platform (go wear our users shoes if you will). balenaSound started as a hack friday project that snowballed into what it is today.

Eventually we found we had several projects that provided real value to end users while also bringing in attention to our platform, this seemed like a win-win situation so we created “balenaLabs”, which is like a research and experimentation team at balena where everyday is hack friday. Part of our job at balenalabs is to maintain these. We are a small team that’s spread over many projects and other tasks so community contributions play a big role. It’s also why you’ll see Volumio and other solutions have features we don’t, they usually have a lot of developers working on their product, and they usually monetise it somehow. All projects we create are fully open source and while we do recommend to run them on balenaOS/balenaCloud you are free to take them somewhere else.

The one additional thing I think I’d like my system to be able to do is to distribute locally-stored music as well as music being streamed to it. If there were a way to incorporate a cmus-like (but more user-friendly) music player into balenaSound, I could easily switch from stuff that I’m streaming from my Mac or pc or iPad, to stuff that’s stored in my own music library on a hard drive attached directly to the RPi, and stream that around the house. I can’t think of much beyond that that I would want it to do. Maybe these are the kinds of things you’re talking about. If so, it all sounds good to me.

Hmm this one is interesting. The real challenge here is to provide a decent interface for the user to browse locally stored music files. I think spinning a cmus instance should be pretty trivial but doesn’t provide a great user experience if you need to open a terminal and SSH into the device to browse songs lol. Perhaps MPD is a good fit. I’ve been meaning to try it out and create a plugin for balenaSound, maybe this is the prefect excuse! I can’t make promises or provide a timeline but i’ll try to look into this in the next couple days.

Once again, thanks for your previous reply. Sorry to go on so long. It’s just kind of an exciting new exploration for me and I’m enthusiastic. :slight_smile:

No worries! As I mentioned, happy to talk about this stuff all day :slight_smile:

@k9gardner This thread is amazing and thank you for asking the deep questions about why the team is building what we’re building.

To me, balenaSound is often the project that I want to tack onto other projects when I’m daydreaming about what I want to build next, haha. So maybe I want a device to measure temperature and humidity of my wife’s greenhouse… why not also bolt on balenaSound so she can play all her annoying 90s pop out there :stuck_out_tongue:

Maybe I want to attach a speaker to my kerberos.io setup so that I can watch my side-of-house workshop, but also play music when I’m building out there.

We’re still working on a more official multi-app-like feature, but many folks enjoy combining projects using guides like this one.

That’s my take!

It’s now two years later! I’m getting the notice, to the right, that this is a two-year old topic. And rather than start a new thread, I do want to revive it to discuss current realities.
Over the ensuing period, I have not been very active with the project. But I did want to mention a couple of things, as I decide what to do next.
First, because I used a Raspberry Pi 3 with this installation, I had the crosstalk problem between WiFi and Bluetooth that has been discussed elsewhere. Of course, being me, rather than following the suggestions to disable onboard Bluetooth and use a USB dongle instead (or scrap the 3 altogether and use a 4), I decided, well, if one or the other (Wifi/BT) has to be turned off, why not turn off WiFi instead, and use Ethernet? My device is positioned only a few feet away from the router, it was easy enough to connect it via Ethernet. I was never quite sure that I properly disabled WiFi though, and in fact did not seem to fix the problem. I think that’s the point at which I stopped messing with it.
But that was then and this is now. Here’s what I’m interested in knowing.

  1. Was I right, that disabling Wifi should have been just as beneficial to the overall equation as disabling onboard Bluetooth would be? If so, how do I actually disable Wifi? Maybe I did something wrong. And if not, why not, and how do I disable onboard BT? Just point me to the proper resources if possible.
  2. Now, the system is really not working at all. I haven’t monkeyed with the build since that time although I have rebooted it several times. But now when I do so, I get a lot of errors, and in the end, “it doesn’t work.” I get pulseaudio errors, “The program is not intended to be run as root…”, plus other errors including “Unable to contact D-Bus”, “Error connecting to audio block - Retry failed: connect ECONNREFUSED 192.168.0.13:4317,” etc. And the status of the device ends up with Airplay and Bluetooth “Exited,” (and cannot be started, I get an “Error: Network request failed” popup), although Audio is running.
    This is an old build. Do these things not stay operational if they don’t receive attention from time to time? I might be missing out on an action step that I would be expected to take, as the “fleet operator.”
    The reason I’m asking the questions is that I want to try again to make a multiroom setup, and I want to take some things that I’ve learned along the way and see what I can do that’s more effective this time. And to continue to explore IoT! Thanks so much.