My post below got wrecked because, “An error occurred: Sorry, new users can only put 2 links in a post.” I suggest increasing or removing that. It’s messes up my post, it’s annoying to fix, and it doesn’t stop spammers anyway. You’ll have to enjoy my post without most links, because I’m not adding them back!
Today I received 2x AmpliPro Streamer 4. I took notes and here is how my experience went:
- First thing I noticed is that the rack ears do not align with the face of the equipment. This doesn’t look great next to other equipment, which is flush with the ears. Here’s another shot straight down. I understand your ears are integrated into the enclosure, allowing you to have ventilation slots rather than removable rack ears. However, it would look much better to somehow make it flush. I might be able to shim it, but I worry that will push the screw out too far and conflict with my MA trim kit / screw cover (I can’t link).
- Next, you have dead links all over. On the GitHub page (I can’t link) the quickstart, developing, web app, and other
docs
links are broken. I can find the pages, but it’s time consuming. The link to the new guide is broken on the old guide thread (I can’t link). Your “meet the team” page (I can’t link) has a broken video link. All these cobwebs don’t make a good look! - The first thing I did was visit the IP and click around the web UI. Minor, but IMO the
escape
key should be like clicking theX
. I know the browser’s back can do it, but when there’s anX
I expectescape
to work. - Clicking once on a stream selects it, but why? Is there any functionality that uses that selection? Clicking again opens the player tab. Why does it take 2 clicks?
- Creating a Spotify device is dead simple, that’s great. It showed up in Spotify Connect, but I noticed spaces get turned into
-
, egLiving-Room
. Ideally they would keep their spaces (they do when using LMS, below). - Renaming a Spotify stream causes it to disappear from Spotify Connect until I remove the stream and add it again.
- I added 3 Spotify streams to each of my 2 streamers, but the Spotify mobile app only showed 4 of the devices. Where are the other 2?!
- I removed 1 of the streams from the Amplipi web UI, but it didn’t disappear from Spotify. What is going on?!
- I rebooted both streamers and waited a while, then only 1 device showed in Spotify. Damn.
- I waited a long time (15+ minutes) and checked my Spotify app every once in a while to see what devices showed up. I’ve seen 0, 1, 3, and 5 devices, but never all 6. This is really disappointing, as I was hoping to use the Spotify app as my interface, as that’s what my family is already used to. I know you use
librespot
so it may not be your fault, but is this behavior common? Is there a fix? - Next I wanted to try LMS. You guys mentioned in another thread here that one of the streamers could run an LMS server? I don’t see an option for that.
- AmpliPro isn’t on LMS’ Players & Controllers page (I can’t link).
- I started an LMS server on a PC. I added the Spotify plugin to LMS. I used the Amplipi web app to configure the streams to use my LMS server IP. I could see the players in LMS (I can’t link) but the web UI still said, “Error: Could Not Find LMS Server” and “Make sure your lms player is connected to this source”. It should not show this when it is actually connected, but also IIUC this is a poor error message because the stream IS the “player” in LMS terminology. It should say “server” not “player”. Also you should refer to streams consistently as a “stream” rather than other words like “source”. Anyway, it worked correctly once I removed the stream and added it again.
- Sometimes I see “Amplipi” capitalization and other times “AmpliPi”. I also see AmpliPro, then I’m not sure what to things!
- I edited one of my streams to have a port number. Later I edited it to clear the port number field. This consistently causes this crash (I can’t link, you’ll have to repro to get the stacktrace).
- I noticed an LMS stream had an encoding problem (I can’t link)
Émilie Rachel
appeared asÉmilie Rachel
. - I used the LMS UI to play multiple Spotify streams. This did not cause my Spotify mobile or desktop app to stop playing. How can this be? Normally when a second device plays Spotify, the first stops. Does LMS’ use of undocumented APIs bypass Spotify’s normal behavior?
- Using LMS I didn’t see anything in Spotify Connect. I found a setting in LMS to enable that for each player (stream). I put both streamers into LMS mode with 4 streams on each, all Spotify Connect enabled, and I saw 8 streams. I restarted the Spotify app and I still see 8 streams. 30 minutes later, still 8. LMS’ Spotty plugin seems to be much more reliable than Amplipi’s librespot, which is unusable.
Sorry if that was long but I hope the feedback helps!
I have 4 goals for my 2 AmpliPro streamers:
Goal 1: I want to use the Spotify app to play music on my 6 zones individually using 2 streamers (3 zones each). I can do that using Amplipi, but the devices don’t show correctly in Spotify. I can do the same using LMS and the devices show, but I have to run my own LMS server. I would much rather one of the streamers run the LMS server. Is that possible?
Goal 2: I want to be able to play music synchronized on multiple zones. The mutli-zone playback I care most about is 2 or 3 zones on a single streamer. It would be nice to also be able to synchronize all 6 zones across both streamers, but I could live without that.
Ideally I define a Spotify device that is multiple streams (on that same streamer). That would allow me to have eg Kitchen
, Living Room
, and Kitchen+Living Room
Spotify devices. That would be perfect! It doesn’t seem possible with Amplipi or LMS, but it seems technically feasible. What do you think?
LMS has a feature to synchronize multiple players, but this does not do what I want. I want both individual players and the ability to have a “composite” player that synchronizes multiple players. The LMS synchronize feature permanently syncs the players, ruining individual use. I asked the Spotty dev here (I can’t link, search for michaelherger/Spotty-Plugin/issues/132
).
Edit: The “Group Players” plugin allows LMS to do this! Super cool.
If LMS can’t do it, can Amplipro implement it? If so, for that to be usable Amplipro would need to fix devices not showing up on Spotify Connect. I noticed LMS’ Spotty has a checkbox “Monitor the connection of the Spotty Connect helper with the Spotify servers. This can be useful if your Spotty Connect enabled devices regularly disappear from the Spotify apps”, though I did not need to use that.
Goal 3: I need to be able to initiate shuffled playback of a specific Spotify playlist via API. I haven’t looked into this yet. Do I need the AmpliPi or LMS API?
Edit: Seems I want the LMS API. Pretty easy, eg:
17:cd:c4:ee:a4:94 playlist play https://open.spotify.com/playlist/0HRDBYGshYB4fUd29WVPDy
Goal 4: I need to be able to send audio to the streamers to play on all or specific zones. I haven’t looked into this yet. Is this API published? Does it work in LMS mode?
Edit: The AmpliPro announce API is garbled, the description is split by code blocks. I’d post a link, but.
Why doesn’t this work? It is not a good error message.
$ curl -X POST "http://10.0.99.237/api/announce" -d '{"media":"https://www.nasa.gov/mp3/640149main_Computers%20are%20in%20Control.mp3"}'
{"detail":[{"loc":["body"],"msg":"value is not a valid dict","type":"type_error.dict"}]}
With a content type header it gives a slightly different bad error message:
$ curl -X POST "http://10.0.99.237/api/announce" -H "Content-Type: application/json" -d '{"media":"https://www.nasa.gov/mp3/640149main_Computers%20are%20in%20Control.mp3"}'
{"detail":[{"loc":["body",0],"msg":"Expecting value: line 1 column 1 (char 0)","type":"value_error.jsondecode","ctx":{"msg":"Expecting value","doc":"'{media:https://www.nasa.gov/mp3/640149main_Computers%20are%20in%20Control.mp3}'","pos":0,"lineno":1,"colno":1}}]}
Overall the streamers are really neat. I hope we can figure out a way to achieve all my goals!