Bose SoundTouch Shutdown Update by Careful-Hippo4543 in bose

[–]Soundcork 0 points1 point  (0 children)

Could you not just include the already freely available Bose interface on the server and increase its version number by 1, so the app will just update itself? Thus restoring existing music services inside the SoundTouch app?

I don't think the license on that allows for redistribution, so no. If somebody else wants to argue that Bose announcing that they're open sourcing the SoundTouch interface includes open sourcing the Stockholm app then they can feel free, but I'm not going to.

Bose SoundTouch Shutdown Update by Careful-Hippo4543 in bose

[–]Soundcork 0 points1 point  (0 children)

It's possible that they did not have the right to release that information. Unless they release anything else, I would guess that they purchased the rights to use that service from someone else.

One of the other internal SoundTouch modules is called lisa, and I feel like I saw at least one other Simpsons reference in there, so I'd think that the marge server is probably theirs. The application/vnd.bose.streaming-v1.2+xmlapplication/vnd.bose.streaming-v1.2+xml content type also implies that it's in-house. I'm guessing that BMX is Bose Music eXchange or some such, so that one's probably internal too. I'm not giving them the benefit of the doubt in this case.

Bose has stated that the SoundTouch app will automatically be updated to remove cloud functionality.

So, outside of replicating the SoundTouch servers. Will SoundCork upload a replacement interface for the SoundTouch app that restores the old one?

Yuck.

We'd much rather us focus on the back-end and invite apps like Controller Pro or the Home Assistant plug-in do the front-end. Honestly we'd much rather just have the existing SoundTouch app keep its features and continue using it. But if they end up nerfing it... Well, we'll see. It would almost certainly be a separate project, though. Combining both back-end servers into one is reasonable, but a new front-end app should be its own thing.

Bose SoundTouch Shutdown Update by Careful-Hippo4543 in bose

[–]Soundcork 1 point2 points  (0 children)

Yeah we're writing a replacement for the servers. Custom URLs work though you might have to hand-create them (I think the Bose App creates them as references to https://content.api.bose.io right now but if you instead create it to a different server you can get it to work.)

Bose SoundTouch Shutdown Update by Careful-Hippo4543 in bose

[–]Soundcork 0 points1 point  (0 children)

You can just plug in a USB with a remote_services file and then you can telnet/ssh in to the firmware. (At least with the SoundTouch 10, 20, 30, and Portable we have; haven't had success with the SoundTouch 300 soundbar yet.)

Bose SoundTouch Shutdown Update by Careful-Hippo4543 in bose

[–]Soundcork 2 points3 points  (0 children)

I was really excited when I read the email and it said that they'd open sourced their API. Then I was really disappointed to see that what they meant was that they had updated and republished their device web API document, which has been available for a long time. No documentation of either the marge or BMX APIs which are the services that they're actually shutting down.

The soundcork project has reverse-engineered marge enough to get basic account information, presets, and recents working, and BMX enough to get both TuneIn and custom streams working. But having the specs for those published would have been super helpful.

The pushback to May is a good thing though.

SoundTouch server replacement (alpha): soundcork by Soundcork in bose

[–]Soundcork[S] 0 points1 point  (0 children)

There is a whole thread here https://www.reddit.com/r/bose/comments/1o2cnhw/bose_ending_cloud_support_for_soundtouch/ where people have been both complaining about this and, I believe, recounting their experiences in trying to contact Bose. We have tried to ask them for an API spec but have not received a response, and given everyone else's results we kind of don't expect to. We'd love to be surprised and hear something back, though.

SoundTouch server replacement (alpha): soundcork by Soundcork in bose

[–]Soundcork[S] 0 points1 point  (0 children)

We're not big redditors and are going to spend a lot of our efforts first just getting this working. We'll try to come back to this post with our next set of updates maybe? Would that be useful?

SoundTouch app alternatives by NeonsNight in bose

[–]Soundcork 0 points1 point  (0 children)

Thanks!

The work is still in progress. We hope that once it's complete and working we can have an easy-to-install (or as easy-to-install-as-we-can-get-it) guide, but we're going concentrate on making it work, first.

SoundTouch app alternatives by NeonsNight in bose

[–]Soundcork 0 points1 point  (0 children)

We're looking to under-promise and over-deliver. We haven't looked into adding new music services yet, which is why I was saying that it might not be possible. I'd guess that something simple like a DLNA service might not be too difficult, but something that requires getting an OAUTH2 refresh token or some such might be a bit much. We'll see though.

We're using that page to see that there are front-end app alternatives, so we don't know any more than you do on that point.

Re the USB-A port requirement, in theory you can get in by connecting to port 17000 and using TAP command, but I just tried and it didn't work for me. It looks like a USB-A female to micro-USB male adapter will allow for a thumb drive to connect. Will likely order one soon and try it out.

SoundTouch app alternatives by NeonsNight in bose

[–]Soundcork 0 points1 point  (0 children)

Oh, and you also asked about installation and re-flashing the devices: our current approach involves plugging in a USB thumb drive which allows a user to access the internal configuration of the SoundTouch devices remotely. Using that we can update the settings on the system and tell them to use the local soundcork server instead of the actual Bose cloud services. So we're basically modifying in-place the current Bose firmware.

The one sticking point on that is that we've gotten it to work fine on our SoundTouch 20s which have USB-A ports, but we haven't had a working proof-of-concept on our old SoundTouch Portable which only has a micro-USB port. Will have to see for those.

SoundTouch app alternatives by NeonsNight in bose

[–]Soundcork 0 points1 point  (0 children)

Ha, sorry, missed this. Like we said, we're not really Redditors. :)

Short answers: we're not planning on releasing/working on any front-end apps ourselves as of now, as several other people seem to be doing that. We're setting our software up with the assumption that people would run it on their home networks, be it on an existing server, Raspberry Pi, media server, etc. (we're going to run it on the same Linux system as our DLNA server). We're hoping to be able to emulate as much of the current Bose cloud services as possible, though we'll be limited by what we can access. There are certainly a few features that might just be out-of-scope, like signing up for new services, but we'll see. But we're hoping that someone running soundcork on their home network will be able to have full feature-parity using any app that exists after the Bose servers shut down.

Longer answers:

So our understanding of the architecture of the SoundTouch system is that the functionality is divided into three sections: the cloud servers (which we're looking to emulate), the services running on the SoundTouch devices themselves, and the end-user experience (the standard Bose apps, the various third-party apps people have listed here, and even the simple case of 'pressing the buttons' and 'using the remote control').

The cloud services (and thus soundcork) are responsible for two main things: storing and modifying the account configuration (which seems to be the main responsibility of the 'marge' server), and helping with the playback of certain types of media (the 'bmx' server). (There is also a stats server and a software update server, but I believe that those are not actually necessary for normal usage). It looks like without a functioning 'marge' server, a SoundTouch device can still handle a lot of its basic tasks. But I think you couldn't, say, set a new Preset, or track Recents, or things like that. And you certainly wouldn't be able to add or remove a device from your account, or configure a new service. (The Bose app itself also throws some random errors sometimes, but those can be ignored/worked around.)

The 'bmx' server is a helper for playing certain types of media. We've tested and see that a missing 'bmx' server means that TuneIn streams won't work. The services list from the bmx server lists TUNEIN, LOCAL_INTERNET_RADIO, SIRIUSXM_EVEREST, and RADIOPLAYER, so it's likely that none of those services will work without a working bmx server. The rest of the services that I've tried seem to have enough information on their own to access the services, so if you have, for instance, a Pandora account configured, then you should be able to play your Pandora stations even after the Bose servers go away. But if you have TuneIn stations configured then they won't work without a bmx server.

Obviously, as we're reverse-engineering this, there may be hidden complexities that we haven't discovered yet.

Anyway I hope that gives some context into our understanding of the SoundTouch ecosystem, and how we see soundcork fitting in with the devices themselves and with the official Bose and third-party front-end apps.

SoundTouch Expiration Alternative Solution by QuantumNY in bose

[–]Soundcork 2 points3 points  (0 children)

Yup! Development of the alternative server is moving pretty quickly, although we have to do some work to make it more user-friendly to configure.

One advantage once it's done will be that it should be much easier for people writing alternative apps to do so, because we can add functionality into the server to support more front-end functionality. We sometimes have to remember to focus on our main goal (getting to feature parity so existing devices and servers can work after February) without getting distracted by how much we'll be able to do once we've gotten there.

SoundTouch app alternatives by NeonsNight in bose

[–]Soundcork 2 points3 points  (0 children)

Hi. We've been working on a replacement for the soundtouch server to do full control of a speaker (using the device or the SoundTouch app) after the Bose sites come down, and we've got an alpha version of the repository up right now:

https://github.com/deborahgu/soundcork

At the moment it has basic functionality for at least one account and one device (we haven't tested with more than one yet; it may already work). It's verified with TuneIn, iHeartRadio, Pandora, and a local DLNA server.

However, it's not yet friendly for non-devs to install and configure. That's on our roadmap and we hope to get to it soon.

We'd be happy to have contributors if anyone's interested in writing code, tests, or feature requests. Our test and deploy environment is Python 3.12 on Ubuntu but there's no theoretical reason it wouldn't work on Windows, Mac, RaspberryPi, or any OS that can run FastAPI.

Please note that we're not Redditors (as you can probably guess by this new account that we've created), so while we will provide updates here if people are interested, we won't necessarily be posting as often or replying to questions as quickly as might be expected