Read the statement by Michael Teeuw here.
MMM-AssistantMk2 / MMM-Hotword Issue
-
Have you test your microphone to see if it working in general?
From home directory:
arecord test.wav
and talk for about 5 seconds into your microphone.
Then cancel that by Ctrl+COnce you have cancelled the test check your directory to ensure that the ‘test.wav’ file is there:
dir
if your file shows up then you can test that file to ensure it recorded your voice from the microphone:
aplay test.wav
You should be able to hear back what you just recorded.
If you can, that means it is a configuration setting that just needs to be tweaked. If not, then there is something wrong with either the microphone settings or audio settings within the pi itself.I will keep monitoring and let me know how you go.
-
Just tested. Recording & playing back fine with arecord and aplay. No problems and no error messages. Thanks for taking the time for getting in touch anyway. I’d almost given up on this.
-
No dramas at all.
Now you need to double check that you are pointing to the correct device number for your audio with the Assistant module.
In a terminal at the root directory (pi@raspberrypi:~ ) Check the device list for audio input:arecord -l
This should provide you a list of CAPTURE Hardware Devices. The numbers you want to write down is the Card number, and device number.
As an example on my device I have it as Card: 2 Device: 0Now within the config.js of the MagicMirror ensure that the device number is the same. Here is what it looks like within my config.js:
{ module: "MMM-AssistantMk2", position: "bottom_bar", config: { record: { recordProgram : "arecord", device : "plughw:2", }, notifications: { ASSISTANT_ACTIVATED: "HOTWORD_PAUSE", ASSISTANT_DEACTIVATED: "HOTWORD_RESUME", }, } }, { module: "MMM-Hotword", config: { chimeOnFinish:null, mic: { recordProgram : "arecord", device : "plughw:2", }, models: [ { hotwords : "smart_mirror", file : "smart_mirror.umdl", sensitivity : "0.5", }, ], defaultCommand: { notificationExec: { notification: "ASSISTANT_ACTIVATE", payload: (detected, afterRecord) => { return {profile:"default"} } }, afterRecordLimit:0, restart:false, }, }, },
Notice within both my modules because my card number is ‘2’, that the
device : "plughw:2",
So make sure your number corresponds with your Card number.
Give that a test and we will go from there.
-
@BJ-Duncan said in MMM-AssistantMk2 / MMM-Hotword Issue:
arecord -l
I get this…
pi@raspberrypi:~ $ arecord -l **** List of CAPTURE Hardware Devices **** card 0: sndrpigooglevoi [snd_rpi_googlevoicehat_soundcar], device 0: Google voiceHAT SoundCard HiFi voicehat-codec-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 pi@raspberrypi:~ $
-
@JonoGee I recognised both devices as 0 so I changed accordingly. Now i get this error message. Mirror opens but closes immediately…
[MMM-PushBulletNotifications][Info] 13:58:15.164 - PushBullet connected [HOTWORD] begins. [HOTWORD] Detector starts listening. /home/pi/MagicMirror/node_modules/electron/dist/electron js/electron.js: symbol lookup error: /home/pi/MagicMirror/modules/MMM-Hotword/snowboy/lib/node/binding/Release/electron-v3.0-linux-arm/snowboy.node: undefined symbol: cblas_sdot npm ERR! file sh npm ERR! code ELIFECYCLE npm ERR! errno ENOENT npm ERR! syscall spawn npm ERR! magicmirror@2.7.1 start: `sh run-start.sh` npm ERR! spawn ENOENT npm ERR! npm ERR! Failed at the magicmirror@2.7.1 start script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2019-07-01T12_58_15_977Z-debug.log pi@raspberrypi:~/MagicMirror $
-
@JonoGee If devices are set as…
hw:0,0
The mirror works, but Assistant/Hotword doesm’t. I just changed to …```
plughw:0and it crashes
-
What type of microphone is it? Is it USB?
Also, what version of Raspbian are you using? And is it Raspberry Pi 3+ ? -
@BJ-Duncan
The Mic is a combined Speaker / Mic HAT as see here… https://www.raspiaudio.com/raspiaudio-aiyI am running Raspberry Pi3+
Version…pi@raspberrypi:~ $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 9.9 (stretch) Release: 9.9 Codename: stretch pi@raspberrypi:~ $
-
Sorry @JonoGee mate, I may not be the best person to resolve as I have USB Mic so my settings will be different to yours.
I will attempt to do some research for you though and see if I can assist with a solution.
-
@BJ-Duncan
I realise both Speaker & Mic are on same Hat but does it make sense to you that the ID for aplay and arecord are exactly the same. Code included below…pi@raspberrypi:~ $ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: sndrpigooglevoi [snd_rpi_googlevoicehat_soundcar], device 0: Google voiceHAT SoundCard HiFi voicehat-codec-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 pi@raspberrypi:~ $ arecord -l **** List of CAPTURE Hardware Devices **** card 0: sndrpigooglevoi [snd_rpi_googlevoicehat_soundcar], device 0: Google voiceHAT SoundCard HiFi voicehat-codec-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 pi@raspberrypi:~ $