Playing music from Emby


#1

I just got Mycroft to play music from my Emby server. Awesome! I have one problem though. I asked for Jake Owen to be played and Mycroft played Alan Jackson? Does anyone know how to fix this?

Thanks,
David


#2

Hi campdog, welcome to the community!

Based on your description so far, this could be either the speech recognition not hearing correctly, or the Skill selecting the wrong music.

If you are using the CLI, you can see what Mycroft hears when you speak, but this is also saved in /var/log/mycroft/voice.log. What type of Mycroft device are you using?

If you’re using a local linux machine, you can do a quick grep:
grep "INFO - Utterance" /var/log/mycroft/voice.log

If you’re using a Picroft or Mark 1, this will fetch the contents of the log file and just return the list of utterances:
scp pi@192.168.*.*:/var/log/mycroft/voice.log /dev/stdout | sed -n -e 's/^.*INFO - Utterance: //p'
Just be sure to set the right IP address.

If it is hearing the utterance correctly, then you want to check skills.log to see what the Emby skill is up to.


#3

@campdog,

Glad to hear you’re enjoying the emby skill! How did you ask to play Jake Owen? The skill searches Emby based on utterance, but its could be smarter about what item is picked when multiple results are returned especially if an artist is featured on a song with another artist. Add the logs as suggested and we can get more info.


#4

gez-mycroft and or sampsonight,

I am running mycroft on a linux machine using the cli. The interpretation is accurate, except for “emby” is recognized as “mb”. The artist or song is correct. Below is text from the skills log with the last attempt to play music. I asked to play Lita Ford from Emby, and it played Wasp, which is what has been happening, it plays music, just not what I asked for.

I would appreciate a hint on what to due next as I don’t really understand what is happening by reading the skills log.

Thanks for the response, as it helped me get to this point.

10:56:38.429 - mycroft.skills.intent_service:handle_utterance:329 - DEBUG - Utterances: [‘play lita ford from mb’]
10:56:38.538 - mycroft.skills.intent_service:handle_utterance:349 - DEBUG - Padatious intent: {‘name’: ‘emby.rickyphewitt:emby.intent’, ‘sent’: ‘play {media} from mb’, ‘matches’: {‘media’: ‘lita ford’}, ‘conf’: 1.0}
10:56:38.538 - mycroft.skills.intent_service:handle_utterance:350 - DEBUG - Adapt intent: {‘intent_type’: ‘mycroft-playback-control.mycroftai:play’, ‘mycroft_playback_control_mycroftaiPlay’: ‘play’, ‘mycroft_playback_control_mycroftaiPhrase’: ‘lita ford from mb’, ‘target’: None, ‘confidence’: 0.375, ‘tags’: [{‘match’: ‘play’, ‘key’: ‘play’, ‘start_token’: 0, ‘entities’: [{‘key’: ‘play’, ‘match’: ‘play’, ‘data’: [(‘play’, ‘mycroft_playback_control_mycroftaiconverse_resume’), (‘play’, ‘mycroft_audio_record_mycroftaiPlay’), (‘play’, ‘game_zork_forslundPlay’), (‘play’, ‘mycroft_playback_control_mycroftaiPlay’), (‘play’, ‘mycroft_pandora_mycroftaiChange’)], ‘confidence’: 1.0}], ‘end_token’: 0, ‘from_context’: False}, {‘start_token’: 1, ‘entities’: [{‘key’: ‘lita ford from mb’, ‘match’: ‘lita ford from mb’, ‘data’: [(‘lita ford from mb’, ‘mycroft_playback_control_mycroftaiPhrase’)], ‘confidence’: 0.5}], ‘confidence’: 0.5, ‘end_token’: 4, ‘match’: ‘lita ford from mb’, ‘key’: ‘lita ford from mb’, ‘from_context’: False}], ‘utterance’: ‘play lita ford from mb’}
10:56:38.541 - mycroft.skills.padatious_service:handle_fallback:148 - DEBUG - Padatious fallback attempt: play lita ford from mb
10:56:38.542 - Emby - INFO - {‘media’: ‘lita ford’, ‘utterance’: ‘play lita ford from mb’}


#5

@campdog,

Yea mycroft always seems to recognize emby as mb but the skill handles it. There are a few ways you can ask to play media from Emby. Below are the utterances that the skill attempts to match:

"Play {artist/song/album} From Emby"
"Play Artist {artist} From Emby"
"play Album {album} From Emby"

If you just say 'Play {media} from Emby the skill takes the value of ‘media’ and searches Emby for that media item. If more than one entry is found (E.g. an artist and album have the same name) the 1st result returned is used. Once a match is found mycroft plays an Emby Instant Mix using that media item. If you want to be more specific just preface the media item with ‘Artist’ or ‘Album’ that will force the search to be limited to that type and will play just songs from found artist/album.

From the logs it shows that mycroft played the Instant Mix which is why songs similar to the artist/album that was requested was played.


#6

Thanks for the help…


#7

No problem! Let me know if you have any other questions :slight_smile: