Music playing stack status

I have my credit card ready if and hopefully when Mycroft has a recommended music streaming service. In the meantime I’ve been trying to get song files on a USB drive and Internet radio playing well together. Here’s a summary:

  • Jellyfin no longer appears to be working as a music indexing engine.
  • Falling back to Emby, it seems to be partially working:
    • ‘play $artist’, ‘play $album’ and ‘play $track’ work, but
    • ‘play artist $artist’, ‘play album $album’ and ‘play track $track’ do not - Here’s a snippet from skills.log:
2022-04-03 15:06:02.709 | INFO     | 900320 | Playback Control Skill | Resolving Player for: album 21
2022-04-03 15:06:08.369 | INFO     | 900320 | Emby | album 21
2022-04-03 15:06:08.369 | INFO     | 900320 | root | phrase: album 21

2022-04-03 15:06:08.370 | INFO     | 900320 | emby_rickyphewitt.emby_client | ?SearchTerm=album 21
2022-04-03 15:06:08.810 | INFO     | 900320 | Playback Control Skill |    No matches

I did see a Python error in audio.log, if that might help:

2022-04-03 14:43:53.095 | ERROR    | 898746 | concurrent.futures | exception calling callback for <Future at 0xffffb092b9a0 state=finished raised AttributeError>
Traceback (most recent call last):
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 328, in _invoke_callbacks
    callback(self)
  File "/home/pi/mycroft-core/.venv/lib/python3.8/site-packages/pyee/_executor.py", line 56, in _callback
    self.emit('error', exc)
  File "/home/pi/mycroft-core/.venv/lib/python3.8/site-packages/pyee/_base.py", line 116, in emit
    self._emit_handle_potential_error(event, args[0] if args else None)
  File "/home/pi/mycroft-core/.venv/lib/python3.8/site-packages/pyee/_base.py", line 86, in _emit_handle_potential_error
    raise error
  File "/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/pi/mycroft-core/mycroft/audio/audioservice.py", line 395, in _restore_volume_after_record
    restore_volume()
  File "/home/pi/mycroft-core/mycroft/audio/audioservice.py", line 387, in restore_volume
    self.current.restore_volume()
AttributeError: 'NoneType' object has no attribute 'restore_volume'
2022-04-03 14:43:57.035 | INFO     | 898746 | mycroft.audio.speech:mute_and_speak:127 | Speak: Playing streaming station Blues @

In the file “/home/pi/mycroft-core/mycroft/audio/audioservice.py”, here are lines 385-387:

        def restore_volume():
            LOG.debug('restoring volume')
            self.current.restore_volume()

Hope this helps.

-Mike M
1 Like

Hi Mike. After reading your post, I thought that I might give this a go, well the skill installed nicely, and Mycroft in her infinite wisdom said she would play streaming from , or something to that affect. But know sound that I can hear, I’ve spent the last hour at lines 376-399, but nothing jumps out. Maybe I’ll have a drink then return to it with a new set of eyes

@Valentine - thanks for the reply.

I just tried streaming Internet radio again. It didn’t work :frowning: So I started Mycroft in debug mode, and then it did work. Go figure.

Heisenberg’s principle?

-Mike