-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Default play_* system settings on picroft are hard coded to device 0,0 #2622
Comments
You are correct that the play_* commands no longer should be part of the picroft config. They were once needed to workaround a pulse/alsa issue in Debian Jessie, so they were added as a system level default value (overridable by the the user config). In any case I think the bug in Debian has been fixed and the config could be removed. Maybe open a separate issue in enclosure-picroft? |
@forslund thanks for the tip, I searched issues there and found: MycroftAI/enclosure-picroft#132, so that covers us for (2) of the proposals above (updated main description too) |
Regarding 1, do you think it would be beneficial to have the audiotest command to add a test step for just output. Playing the ding sound, it could also be extended to try creating a sentence using mimic and test that that is working. |
@forslund sounds good; want me to take a stab? thinking roughly it is simply is that what you're thinking? |
Yeah, with some output text like "playing audio on default device", "speaking a test sentence" Not sure mycroft-speak can be used 100% reliably since that requires mycroft (or the audio process at least) to be running. My thought yesterday was to use the mimic executable directly either from system path or mycroft-core/mimic/... another option is to spin up the TTS module from the audiotest Something like from unittest.mock import Mock
from mycroft.tts import TTSFactory
tts = TTSFactory.create()
tts.init(Mock())
tts.execute('Hi') (Totally untested code so I'm not 100 % it's correct) Edit: |
@krisgesling ; does the proposal sound good? - if so I'll get a PR in |
Hey there, thanks for nudging me on this. It does sound good! On the three proposals specifically:
|
Closing Issue since we're archiving the repo |
Introduction
Have been using mycroft on a Linux system for a while, switching to the lower power picroft on raspberry pi. The installation was fairly smooth, however I've run into a bit of "awkward" defaults resulting in lost hours until I figured out all the audio configuration components.
Hoping to walk us through the primary issues here ... and make recommendations for improvement / fixing. (happy to tackle PRs if core team agrees w/ the proposals)
Setup
20 oh 2, release 4
of the Mycroft softwareBus 001 Device 004: ID 08a8:0016 Andrea Electronics
(this WORKS btw! submitted PR to supported hardware here: add Andrea Electronics USB SUMA documentation#178) - this came with a USB mic+speaker adapter (which worked great on the linux system) - my GOAL is to use this on the raspberry piReproduction Steps
aplay ./mycroft-core/mycroft/res/snd/start_listening.wav
-- BUT -- mycroft output sink refused to work! Well behold isn't it wierd that we only have alistener.device_name
configuration? - it was null at first, tried bothpulse
anddefault
... nothing mattered./etc/mycroft/mycroft.conf
and some Internet research ... bah! The system config here overrides the defaults ... completely undermining the audio troubleshooting documentation. The playback commands are HARD CODED to device 0!! ;/^^ this was the culprit; after removing that hard coded, OR setting it to the right hard coded, and rebooting the pi, everything worked!
Be as specific as possible about the expected condition, and the deviation from expected condition.
When a user executes a first-time installation, and followed the audio troubleshooting to walk through the workflow and isolation steps of audio issues, they SHOULD be able to arrive at a conclusion of "unsupported hardware" vs. "supported hardware", and a working mycroft installation purely through that documentation (or at least within the scope of mycroft ... raspberry pi specific HW stuff is a bonus).
Here follows relevant configurations:
this works (and various combos)
(when the default pulse sink is of course set to the USB andrea device)
Proposals
in the documentation for how to test output, we should use
aplay ./mycroft-core/mycroft/res/snd/start_listening.wav
instead of the "listen/record mic, then play that" (because that causes a dependency on the mic working)the DEFAULT in
/etc/mycroft/mycroft.conf
, should IMO be:, we really shouldn't be hard coding the playback device at the mycroft system config level! (not by default anyway) - let it play out of the default, and help the user to understand how to have pulse default sink/source configured (as the docs already do!)
listener.device_name
in the user configurationmycroft-config set listener.device_name <DEVICE>
(as per the docs)The text was updated successfully, but these errors were encountered: