Emby Music Skill Update - Testing And Feedback

Hello! This is an update to the existing Emby Skill. The current skill just plays an instant mix. This update adds the ability to:

  • Play an artist/album
  • Use the common play framework (you don’t have to specify Emby)
  • Transcode non mp3 files

How to install Emby Skill

  • Service Required

  • Install via msm:

  • Emby Skill connects to an Emby Server

    • The Host, port, username and password must be input at Mycroft.ai in the skills configuration section. Unless you’ve configured your Emby server to be available over the internet the Mycroft device and the Emby Server should be on the same network
    • Note: If you do not use a password to access Emby, leave the password field blank. Authentication of skill does not use Emby Connect.

How to test Emby Skill

  • Setup an Emby Server https://emby.media/ (If you don’t already have one :slight_smile: )
  • Configure the Skill Settings in home.mycroft.ai
  • Speak Play {artist/album/song} From Emby
      • Example: Play Thrice From Emby
  • You can also say Play artist {artist} From Emby
  • Play album {album} From Emby
  • Music should play based on what was requested

Skill Pass Criteria

  • Skill authenticates and plays an Instant mix from given Emby Server
  • Skill plays an artist/album if specifically asked
  • Skill plays music/artist/album using the common play framework (in the event no other music skill has higher priority)

Feedback

Feedback can be provided in a few ways

  • via github issues
  • In response to this topic
  • In the Mycroft Chat -> @sampsonight
3 Likes

Fantastic Skill, thank you for your hard work. I am looking forward to digging into it later today. I will be sure to give feedback.

2 Likes

@HotcakesSanderson,

Any chance you were able to test out the changes? No rush if you haven’t, but if there is anything I can do to help, please let me know :slight_smile:

needs to be:

msm -l  install https://github.com/rickyphewitt/emby-skill 
1 Like

Ahh I see. Thanks for the heads up!

Giving myself a fresh install. Works great plays from an Artist and Album. I have the tune in skill as well. I still need to specify “from emby” or it will default to the tune in skill.

Awesome!
Regarding the Tune In skill, I’m not sure what its intents are and/or if it uses the common play framework. I’ll look into install the Tune In skill on my mycroft and see if there are any interoperability improvements that can be made.

Looking at the TuneIn Skill our common play framework is implemented a bit different. The emby skill attempts to search emby for items related to the search, if found the skill will attempt to determine the type Artist/Album/Song and then apply weights on them. If no matches are found the skill returns None, if an album or artist is found CPSMatchLevel.Title/CPSMatchLevel.Artist are returned. The tuneIn skill uses regex to determine if the utterance is meant for tuneIn with a default ofCPSMatchLevel.Generic. I think there are improvements that can be made to the emby skill to provide a better common play experience. I’ve added a github issue to capture any work around updating the Common Play Framework experience in the emby skill: https://github.com/rickyphewitt/emby-skill/issues/40
While I don’t think this functionality is needed to update the skill to its current version in the mycroft skills repo I do agree that as more and more skills start to adopt the common play framework this part of the skill will become ever more important.

1 Like

Can no longer configure this skill via https://account.mycroft.ai/skills. All that is listed is:

Emby

Devices

This skill is installed on all devices

I installed via ```
msm -l install https://github.com/rickyphewitt/emby-skill

It looks like there’s a slight problem with the settingsmeta file. Need to rename that from settingsmeta.json to settingsmeta.yaml

Also remove the / on line 18 where it says “Username/password”, maybe replace that with “and”

Then the settings block should display in Home.

Thanks for the info! I’ll make the change shortly.

1 Like

@gamersat678,

I’ve updated the code as @gez-mycroft suggested and I can now configure the skill again. Update the skill and you should be able to configure it as well.

If possible please provide feedback on your experience with the skill. Currently the skill version offered in the mycroft marketplace is many version behind and I’d love to get an updated version in.

Let me know if you run into any issues.

1 Like

Tried a msm update and it said no update. Purged emby by using
msm remove emby
Still using an old versions number? Terminal listed this:
Best match (1.0): emby by rickyphewitt
Installed using the -l method and was able to properly configure it on the Mycroft website. You can stream music using your skill. Add a .strm to your library (https://github.com/MediaBrowser/Wiki/wiki/Strm-files). Mentioned it in my other post figured I’d post it here too. Kinda cool. Seemed to have trouble playing an AAC encoded stream, nothing came out of my speakers. Was able to play it on my main Mint distro using Firefox and the Emby server. I’ll look into it a little closer when I get my 2nd Mycroft Device for the bathroom/bedroom in a week or two. I’ll probably end up using it at least once a day for the foreseeable future. I’ll let you know what I find.

2 Likes

@gamersat678,

Thanks for the update, I appreciate the feedback! I don’t have any AAC encoded media files so any additional details you can provide would be great. I can always convert one of my mp3 or flac files into AAC as well to see if it is a problem with skill or something else.

If you think of improvements that would make using the skill better/more intuitive please add those to github :slight_smile:

Probably has to do with the default sample rate and possible related resample method configured within pulse audio.

Old information, but perhaps gives you the pointers to dig into it;

I can’t get the intent to trigger. Mycroft thinks I want to play “from md” and “from mb”. Male, native English speaker, western U.S. is anyone else having this problem?

Hello @jrwarwick,

The skill should cover the ‘mb’ case but I don’t think it covers the ‘md’ case. Can you provide logs after attempting to play music from the skill? That should help narrow down any issues.

Thanks!

Scratch that, sorry. Maybe I tried utterance too soon or something. Now, while I do have some trouble still getting Mycroft to “hear” “mb”, I have that now, and the intent is triggered. However, now I am seeing this in the log:

17:21:41.708 | INFO     |  5061 | mycroft.client.speech.__main__:handle_utterance:64 | Utterance: ['play blue man group from mb']
Removing event mycroft-mark-1.mycroftai:IdleCheck
17:21:42.097 | INFO     |  4969 | Emby | {'media': 'blue man group', 'utterance': 'play blue man group from mb'}
17:21:42.097 | INFO     |  4969 | Emby | failed to connect to emby, error: __init__() takes 4 positional arguments but 6 were given
17:25:32.010 | INFO     |  4969 | mycroft.skills.settings:_emit_settings_change_events:411 | Emitting skill.settings.change event for skill emby|19.08
17:25:35.498 | INFO     |  4969 | mycroft.skills.mycroft_skill.mycroft_skill:handle_settings_change:278 | Updating settings for skill Emby

(oy, reedited too soon)
Still having this arguments count mismatch problem

Ok so the skill is being invoked, that is good. I have yet to see that error before. What does your config look like on home.Mycroft.ai? I see there was a config change after the error.
Also say ‘check mb’ and let me know the output. This will run a test to see if the skill can connect/auth to the server and may provide additional information.

Well, scratch all that. After a git pull, and an unexpected power outage, I found Emby skill settings were blank again. I filled it in, and the check worked, and then playing a couple albums, one by artist name, one by album name worked.
Very cool! Thanks for your work and help.
Just FYI, I used the quick-n-easy Windows-based Emby server package and the mycroft instance is a mark I.

1 Like