Music Assistant 2.0: Your Music, Your Players

Is it possible to use the Radio Stations in YouTube Music? Those are what I listen to most frequently in the YT Music app - but I don’t see a way to get to those via Music Assistant.

I would advise anyone having problems with players to just reload the player providers or, at worst, restart the Music Assistant container/process. You don’t need to uninstall anything, most can be done through the Settings screen.

None of this means the bugs are acceptable, but patience is necessary until the player connectivity bugs are shaken out.

I myself discovered that my Marantz AV7702 would “work” via DLNA or AirPlay, but all those had deficiencies (slow to pause, no in-song scroll, hiccups between songs, status AWOL) so now I play through either Kodi or Chromecast and those work stellarly.

Always prefer devices with open standards, and then with HA integrations, and then with frequent firmware updates. As pretty as my receiver is, 2016 tech is just not going to work… but i can at least program “If my Chromecast switches to playing, then switch to Chromecast input”… and that is hot.

I restarted both the integration and add-on, as well as HAOS, but none of those things fixed the problem.

Uninstall/reinstall was the only way that I found. I did not think about reloading the player providers. Shouldn’t they have been reloaded when I rebooted HAOS, though ?

Sorry to hear about your Marantz AV7702. I have 3 Marantz AVRs in different rooms - an SR7011, SR8015, and an NR1603. I have always found that using Airplay provided the most seamless experience in terms of audio and gapless support, for example using my WiiM streaming devices, but also the Marantz receivers.

I know I used other PC programs or Android apps with Airplay support as well in the past, but don’t recall which ones at the moment. I think it was the Denon/Marantz HEOS app.

I just tried Airplay with Music Assistant streaming to a WiiM Pro Plus device, connect to some very old random amp via analog. It sounded great, and played gapless. I did not see any problem with slow pausing - only a very slight delay. Same thing for volume change. I did see a bug when seeking on mobile. When using one finger to seek to a new position, it does not work. But when holding the finger and dragging it to a new position, it does work. So, seems like a small UI bug.

I tried to play the same album on my Marantz SR7011 via Airplay. I am able to select the player and it does play. However, the album search/selection showed the tracks in a strange order. Using the sort option by track number did not fix it. Because of the wrong order, I could not test gapless in this test. This seems to be a bug with search.
Another problem with search is that at first, it showed 48 tracks for the album, even though it has just 24 tracks.
Now it is showing just 47 tracks, which is even more perplexing.
The album exists only once on my Plex server, which is the only music provider currently configured other than the Music Assistant provider.

It’s hard to keep track of all the issues / opportunities for improvements. I really want to help with the project, but filing over 30 bugs / RFEs is a really daunting task.

Thanks.

  1. Great to hear that switching player is on the list !

  2. Pause still keeps the player active in the “currently playing” list on the home screen, even though it is greyed out. The other players, on which nothing has ever been played, aren’t in the list at all.
    It looks like the paused player eventually disappears from the home screen, but not instantly.
    I guess I’m looking for a way to just put the player to rest, just like I would remove a disc from a physical player, and turn the power off, so that I don’t accidentally resume playback.

The closest that I see to that in the UI is “clear all items in the queue” in the context menu. That is something I had to read the doc to find. Perhaps an “eject” button would be appropriate for this functionality, rather than stop ? Either way, I do think it would be beneficial to have a button for this.

  1. Thanks, that’s what I thought - seems like the UI can be simplified on that screen.

  2. I’m well aware - just making observations and suggestions.

  3. Thanks. I hadn’t noticed it. This is fine on a desktop browser with a large screen. But I think on a mobile browser with a small screen, space is at a premium. Even if you have just one player active, it will show both at the top, in the “currently playing” section, and at the bottom, in the “player bar”.
    It’s just not an ideal use of real estate space. Perhaps some player list / details view, without the image, and perhaps without all the controls and song name would be more appropriate.
    I just don’t fancy scrolling from left to right in “active players” between 50 different player devices, though I’ll probably never play on all of them at once - likely no more than 4-5 at once.

  4. It says “no speaker selected” in two different spots in the player bar, one on the left, and one on the right. See the screenshot below. It just did so again today when I opened Music Assistant.

I don’t know how this should be solved, but IMO the current UI is not intuitive.

I think if you have only one player and one speaker, then obviously those should be selected by default, as there are no other choices. Otherwise, not.

  1. Yes, I realize this window does many things. I think the most common action if one isn’t using groups is to select the single speaker/output zone, and use the player bar to control the volume for that zone.
    The zone selection UI could be very simple - bring up the zone list, and upon selection, automatically close that window without any apply/cancel button.

For grouping, it is definitely more complex. I wonder if we really need this functionality to be part of the player bar. If you look at other systems, for example, Google Home, you can create groups, and they will persist over time, so that you don’t have to recreate the groups every time you play. For example, I have groups for Downstairs, Upstairs, Indoors, Outdoors .

I must admit that I had not tried the group functionality in MA until now. I just created one group of 2 Airplay2 (Wiim) speakers , for my bar and music room. It played fine. I rebooted MA, and the group was there too, thus, it persisted, just like in Google Home. So, I think perhaps this belongs in some sort of settings page, and not in the player bar. I did notice 2 things that are different from Google home groups :
a) the individual speakers, for Bar and Music room, disappeared from the player selection list. This not desirable - sometimes one wants to play to one room, sometimes to the group. The only way I could find to play in one room was to undo the group it belongs to. Perhaps there is another way that I missed.
b) the speaker list showed one group called “Music room+1”
c) the player bar showed “Music room” with a 2 overlaid on the speaker icon. This is not consistent with b)
d) when I try to add a speaker to a, existing group, the list that pops up shows “Music room”, not “Music room+1” or “Music room (2)”. There is no indication that one is adding a speaker to a group rather than creating a new group.
e) there is no opportunity to customize the name of the groups, as far as I could find - for example the names I used with Google home of downstairs, upstairs, indoor, outdoors. Maybe I just missed it.
f) I couldn’t find a way to have overlapping groups. For example, my bar is downstairs and its speakers belong both to the Downstairs group and the Indoors group.

I realize that is a lot of observations/requests, but I hope it’s constructive feedback and at least some can be used as opportunities for improvements in the future.

Apple homepod mini.

The dev team don’t believe a stop button is necessary. You can go to the player view and press the power button there.

Read the docs for how grouping currently works. For the rest all is noted but there will minimal changes for a while as there are bugs that are the current priority.

1 Like

I have seen a number of reports about that player so there is something going on there.

1 Like

Thanks for your reply.

The dev team don’t believe a stop button is necessary. You can go to the player view and press the power button there.

Thanks. That elucidates the previous mystery - what the on/of buttons in that window were for.

I can’t argue with the devs not wanting a stop button of course.
Going to the player view and clicking off is a lot of steps. Isn’t it equivalent to use the context menu and “clear all items in the queue” ?

Read the docs for how grouping currently works.

I just did. I may have missed it, but I didn’t see my concerns addressed. in the doc the 8. a) above being the biggest one - retaining the ability to play on individual players even if they are part of a group.

I tried the second way to create a group - and I was able to set a group name, and the individual members still show up in the player list. Good job ! This addresses all concerns a through f . But it wasn’t easy to figure out, even from reading the doc.

Another oddity is that I can only group Airplay players. Not UPNP/DLNA, and not Chromecast. I know Chromecasts must be grouped in Google Home, but I expected it to be possible to group UPNP/DLNA. Looks like I was wrong - this is in the doc as well.

Maybe some day we’ll have battery-powered microphones, like some remotes already do for voice input, and perhaps use that input to synchronize those devices that currently can’t be :slight_smile: Since the Airplay devices can already be synced with each other, and the Chromecasts also sync with each other, only 2 mics should be needed to assist with the sync of 2 groups - one of each type. But if one wanted all N*M possible combinations, then mics would be needed near every player, and it would be quite difficult to achieve. It’s also much more of a pain with DLNA, since they can’t even sync with each other. But DLNA has so many bugs that it may not even be worth trying.

Regarding the feedback that I have, is there anything I can do to assist besides post in this thread ? I am fine filing a few github issues if there is a chance they will be looked at - but given the number of things I have suggested, it would be quite an effort to file them all. I am thinking I should at least file issues for confirmed bugs. Unclear if I should file all the rest in UX/UI possible improvements, and whether some of them should be grouped into one issue.

1 Like

+1 on making it easier and faster to clear/stop the player. Make it easy for kids and non-techies too as end-users in the family.

1 Like

Why exactly do you need a stop button, can you explain that technically?
There isn’t one on the other apps I use, like Spotify or Sonos.

In a software player there shouldn’t be the need to “eject” the music and put it back in the drawer. :wink:
So my question is whether this is a habit from the old days you try to project on this digital solution, or if I’m missing something.

Why exactly do you need a stop button, can you explain that technically?

Why is there a “| menu” → “Clear all items in the queue” feature ?
The answer to your question is the same. The functionality is already there. I don’t think anyone is suggesting that this functionality should not exist, only that it should be easier to find.

As to why one would want to do that, there are a number of reasons I can think of, but probably others.

  1. One may really dislike what’s in the queue, and never want to see that content again. Ie. the case where you want to throw the CD in the trash / sell it / give it away. Maybe a shredder button rather than eject ? I don’t know, but there should be an easy way to clear the queue.

  2. While a paused player disappears from the “now playing” list in music assistant on the home screen, that is not so on other apps. Depending on the device, the content image/title, even if paused, will continue to show in other apps, such as Google Home, WiiM, JRemote2, Jriver media center, etc - any app that has access to the device. Even in Home Assistant’s own media player cards that you can place on your dashboard, the content image remains visible in paused state.
    Player notifications on Android also disappear automatically when clearing the player queue. Otherwise, they have to be individually dismissed, once for each player, and that can be a lot of swipes.

  3. With a large number of zones, if you want to shut your system down to go to sleep, end the party, etc, it is good if you can can shut down the player(s), and visually confirm that they are all stopped. If some players are paused, it is less obvious, because the content still shows, and you have to review whether the button for each one is in “play” or “pause” state.
    You may argue that you could use your ears to determine that everything is off, but that doesn’t work in a large, well-insulated property.
    This could possibly be dealt with using automations, but that isn’t the same level of complexity as one or two clicks.

  4. to prevent accidental playback resumption. The Android player notification for Chromecast will show up on several phones in the household if there is content, even paused. It isn’t too hard to make the mistake of pressing the play button, especially if,say, waking up to the bathroom in the middle of the night with tired eyes. One may not even notice doing it, but playback could start somewhere, even outdoors. And sound has a really funny way of traveling in hills outdoors.

These are just things I could quickly think of . It wasn’t quick writing about it. There are probably other reasons. It is a lot to write to justify the existence of one additional button.

There isn’t one on the other apps I use, like Spotify or Sonos.

There is in some of the apps I use. Jriver Media center, JRemote2, other DLNA remotes. I think there are others as well, but they aren’t coming to mind. And actually, there is a stop button in the player notifications on Android when using Music Assistant with a Chromecast. It appears that it only pauses the stream, though. Sadly, it doesn’t empty the queue. It could still be a separate button.
I admit there is no stop button in Qobuz, Plex, WiiM or HEOS. I haven’t used Sonos. I did use Spotify in the past.
However, I don’t think the fact that other apps are doing something or not doing something should necessarily be the litmus test for a feature, and I’m sure it is not.

Interestingly, when I play from directly Qobuz onto a Chromecast, the stop button does not appear in the player notifications. I thought those player notifications were coming from the Google Home app, but perhaps I’m mistaken and they are coming from separate apps. Or it’s a combination of both…

I hope the explanation was technical enough :slight_smile:

2 Likes

It was. And it explains how your setup / apps / players differ from mine,
which is why I haven’t missed (and won’t) a stop button.

Thanks for the details. :+1:

1 Like

You are mixing functions though as stop and clear queue are different. Adding a stop button will not clear the queue. Players should be changing state automatically to stopped after a period of being paused.

I don’t want you to get your hopes up as this has been discussed before and the decision was to not include a stop button.

Yeah, and those type of scenarios can accidentally more often if use a voice assistant that misinterpret your intent and plays the wrong music or worse starts playing music when you are asking for something totally different.

Maybe it is partially due to Google Assistent being too easy to trigger and/or bad at other languages than English but for us we often have our Google Nest / Google Home smart speakers start playing wierd/crappy music when simply talking about something else.

I don’t use any voice assistant for music, though. I have not found them useful for the purpose of selecting classical/baroque music albums/pieces. I have not had any playback trigger by accident due to voice. You do have to preface with “Hi google” in the google assistant, so it’s hard for it to happen by itself, though not impossible. But probably not at night when going to the bathroom and things are quiet.

I have not tried the alternative voice assistants. I skipped the “year of the voice”.

With Google assistant, it’s pretty much impossible to select when there are 3+ languages involved between the name of the works, instrument it’s being played on, and name of the performer(s), the year of the recording (many artists record it the same works multiple times). Several of these qualifiers are needed to find the right album, sometimes all of them. There are over 1000 versions of my favorite works, the Goldberg variations, for instance. Selecting one by voice is an impossibility. It’s quite hard even with a small touch screen. You can’t easily browse such a long list on a small screen. It’s more practical to do it on a desktop with a large screen, and add things to your favorites and/or playlist.
I have to say that it is easier to choose between the 100 CD versions I own on a shelf, sorted by performer, and just look at the one line on the edge, than pick a version in a streaming app. Of course, the streaming app has 10 times a many.
But they don’t offer a simple text list that can be searched or sorted without taking an inordinate amount of space on the display. Even the Qobuz desktop app can only show 21 albums covers when maximized on a 4K screen. This is a really tiny number and very poor use of space. And all the information needed is sometimes not listed on the album cover, but on the edge of the case.

An example of how Google assistant behaved is that it always played the 29th Goldberg variation from the 1981 piano recording by Glenn Gould, whenever I asked it to play the Goldberg variations, regardless of which qualifier I specified (performer, instrument, year).

I have my personal collection index in JRiver media center, on desktop, running on the same hardware that I run my Home Assistant VM on. It has an album view that can show a text list of over 60 albums, and shows all the information on the screen. They can be sorted or filtered by album name, artist, release date, etc. The instrument column seems to be empty, unfortunately. It is not common for one perform to record the same works on multiple instrument types, but it happens.

I’d love to have this level of detail available at least in the web view for Music Assistant. I’m really not sure what could be done with small displays & touch screens as the hardware characteristics are just not suitable, IMO.

I also have the same collection indexed in a Plex server. Right now, my Music Assistant is connecting to that Plex server to get to the music files, as there isn’t a JRiver or DLNA music provider integration.

Perhaps the voice assistants will improve and address my concerns. It has been a couple of years since I tried playing music with one. It looks like Qobuz can’t integrate with Google assistant. Neither can the JRemote2 app. I know Home Assistant does integrate with Google assistant, but not clear on how Music Assistant deals with it yet - I just haven’t investigated recently.

1 Like

Can you explain how clearing the queue functionally differs from stopping the player ? I have not seen a difference. They both empty the queue and seem to set the player state as “not playing” without any content selected.

I’m not sure sure how you are “stopping” the player as I just tried turning off the power from the player view as well as using the media_player.media_stop service call from HA and in neither case was the queue cleared.

Feature requests are added to the GitHub discussions in that category. People then upvote them and this is used to inform decisions about what to work on next. Issues are only for something which should work but doesn’t.

1 Like

I tried the “Universal group player” feature.
First, I enabled only that player, and the Airplay players.
I then created a universal group of two Airplay players.
I went back to the home screen, and tried to select the group in the players list, but didn’t manage to do so. The text next to the speaker icon always stated “No speaker” selected.

  1. I then deleted the Airplay universal group.
    I disabled the Airplay provider, and enabled DLNA/uPNP.
    I created a universal group of 2 UPNP devices…
    Just like in the first case, I could not select that speaker group successfully.
    I then deleted this universal group.

  2. I then I repeated this with the Chromecast player provider, disabling UPNP/DLNA.
    I created a universal group of 2 chromecasts, but once again could not select it.

It’s late, and I might be missing something.

From the docs

UGP is on best-effort basis and might not work correctly with all player models or give unexpected results. For best results use standalone or syncgroup playback as explained here

So you should be grouping your chromecast devices in the Google home app and for Airplay use option 2 from the link above. DLNA can’t be perfectly synced.