Music Assistant 2.0: Your Music, Your Players

You will need a Python developer to make a custom ”Denon AVR Player Provider” for Music Assistent server codebase that is specifically developed to command and control Denon AVR receivers which can parse and expose unique features/functions such as example different zones to Music Assistent server, (kind of like the Denon AVR and Marantz integrations for Home Assistant a developer could maybe repurpose code from those).

  • https://developers.music-assistant.io/

    Quote: ”Building your own Player Provider - A Player Provider is the provider type that adds support for a ‘target of playback’ to Music Assistant. Sonos, Chromecast and AirPlay are examples of a Player Provider. All Providers (of all types) can be found in the music_assistant/providers folder.

Suggest therefore that you post a new dedicated feature request thread asking for that in Music Assistent’s discussions forum similar to these two existing requests for other player providers that I posted there:

Good thing is at least that the Denon AVR commands interface is compatible with Marantz AVRs so you will probably not need to have two separate Player Providers developed for Music Assistent server. I think it should be enough to build a single new player provider with just Denon AVR command protocol compatibility.

Loving all the latest updates to Music Assistant but I’m not a big fan of the authenticating screen. It’s so slow switching between tabs in HA when it needs to authenticate every single time.

1 Like

@petwri Oh, missed that if you have newer Denon or Marantz devices that supports HEOS then there actually is already a “HEOS player provider” in Music Assistant, see:

Creator of the HEOS player provider here!
That is actually a thing that does come up a lot, and something I knew from the start would be a challenge.
So the problem with multi-zone on those AVRs currently, is they are not exposed under the HEOS protocol at all. That is basically the main ‘blocker’ for this item right now.

I saw the MusicCast (i think) has similar zone support in MA now, so I might have to look at that one, see how that is accomplished, together with adding another library to interface directly with the AVRs (as HA does as well), something should be possible.
I will have to check with the MA team on a good architecture on this, as the additional zones can not be used to play different streams (at least not in my case, playing to HEOS means playing to any of the active zones on my AVR)
So it wouldn’t be a full player with all features, or maybe some kind of group that always needs to be active…

My current workaround is to toggle the zones on in Home Assistant, set the volume per zone and select the sound mode, before starting a stream (which i also start from Home Assistant). At least for my setup in the main part of the house, I never interface with MA directly.

4 Likes

@tmatheussen yes it sounds as if the MusicCast (Yamaha) player provider in Music Assistent server have support for multi-zone judging from the documentation → MusicCast Player Provider - Music Assistant

@tmatheussen FYI, I posted this related question here asking about how they plan to implement it for Sendspin → Sendspin support for client-side "zones" or up to each clients to expose multiple players for multi-room audio? · Issue #72 · Sendspin/spec · GitHub

Note that I believe that the concept with Music Assistent server is that it should not always have to be tied to Home Assistant, and it should be capable of being used as a standalone implementation (completely without Home Assistant), at least I think that is the longterm idea.

@tmatheussen Regardless, while I so not own any HEOS devices I would like to thank you for working on support for it. The broader support Music Assistent gains the larger the userbase will grow which should make it a better solution in the longterm.

1 Like

I’ve had MusicCast like 10 years ago, and it already supported a separate MusicCast device for the different zones. Which is my guess as to how it is implemented in MA.

On the Receivers with multiple zones you can select if Zone 2/3/4 are used as separate zones and that also enables unique MusicCast target device for each zone. With MusicCast you can then sync them together and other MusicCast devices as well.

Hello - I have a question around specifying providers:

  • Got Spotify provider
  • Got Apple Music provider
  • Want a Home Assistant automation to play media on device A by specifying artist(s), using Spotify.
  • Want a HA automation to play media on device B by specifying artist(s), using Apple Music.

The play_media action doesn’t have an option to specify provider, but after some trial and error I see you can use a media URI like:

apple_music://artist/<artist ID>

I’m wondering if there’s a way to use a URI like this with just the artist name instead of ID? I know you can use the name on its own:

- Taylor Swift
- Katseye

But using the full URI format only (so I can specify provider) seems to work with IDs.

Marantz receivers don’t have the ability to play two instances of the same thing in two zones (e.g. two different Airplay casts one per zone). I’ve also noticed that HA doesn’t let you govern the second zone’s inputs from the media player (DENON integration).

No you have to use the full provider URI as that is then called directly

Hello, I have a setup with quite a few USB dacs running on a computer connected to a multiple channel amplifier. I want to play stuff on it from music assistant.

This is what I have tried:

  • Installed the Music assistant client on the computer.
  • Enabled native audio player in the client. (sendspin client)
  • I MA in HA i can find what i think is the sendspin client as a player, it at least has the computer name matchin
  • From MA it seems like it is playing fine, but no sound is played on the computer with the MA-client installed.

Is there any additional setup to be done here? I have tried with both the “system default” as the output and specific sound cards in the client setup.

Have a look at the latest beta as there is now a local audio provider

The latest beta of the music assistant client? Aren’t all the releases beta? I can’t find any newer ones.

No we have stable, beta and nightly releases. The local audio player is in early release so we would very much appreciate your experience with it. Don’t respond here but come to our discord server or ask a question in our GitHub discussions area.

Hi, has anyone else had the same issue as me since updating to latest home assistant?

Before the update, the entity picture stated

https://i.scdn.co/image/

After the update it now states

http://192.168.1.xxx:8095/imageproxy?provider=spotify--YYFUHzdb&size=500&fmt=jpeg&path=https%253A%252F%252Fi.scdn.co%252Fimage%252Fab67616d0000b2

Because of this I can no longer view the image using

background: url( ‘{{ state_attr(‘media_player.currently_playing_mass_music’, “entity_picture”) }}’ ) center no-repeat;

There is this in the home assistant changelog

Use current track’s album thumbnail as our entity_picture for “radio” sources in Music Assistant (@teancom - #166302)

But I don’t know if this is why I’m getting a different entity state or i need to do something to fix it.

Any help os appreciated

Thanks

I’m not seeing an Issue on Github regarding the YouTube Music provider but I’m getting the following error when trying to play any song using it.

image

Anyone else? (I even renewed the login cookie)

EDIT: turns out this error is also coming up when trying to play local files. (I’m on the beta version of MA 2.9.0b5)

Hi! Yeah, this is undoubtably my fault. :sweat_smile: As I start investigating, can I ask - does the http://192.168.1.xxx url load an image if you click on it in your browser? And if not, what sort of error does it give you? And is it possible your Home Assistant server is https but your music assistant server is http?

Thanks for getting back to me haha Yes both my music assistant server and music server are http. I’ve never set up either to Https because I am a nabu casa subscriber and so everything is handled through there. I can load the http image through my Chromebook browser but not my android chrome browser which is weird. Any ideas? :blush: @teancom

That’s… frustrating. My only idea was a mixed-mode https vs. http thing. But if they’re both http that doesn’t matter. Is your Android on the same wifi network as the Chromebook? This template - background: url(blah blah) - this is in a Home Assistant dashboard? Or is it something custom? Or…? And on your android device, can you tell if it’s a 404 or some other error code?

The android device and Chromebook are on the same network. I am using mushroom template card as I am using the album artwork in the middle of a spinning record LP :slight_smile: My theory is that it’s because the android companion app doesn’t like http links for images. The picture used to come from a HTTPS link.