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
- ‘play next track’, ‘stop’, ‘pause’ and ‘resume’ all work.
- For Internet radio, I install tune-in from GitHub - johnbartkiw/mycroft-skill-tunein: Add internet music streaming from tunein. Yesterday mycroft would say it is streaming, but no music played. This morning, I can stream some stations but not others - weird??
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