== Mycroft Mark II == === body / case === The original mark2 body at [https://github.com/MycroftAI/hardware-mycroft-mark-II-rpi] was not printable on my FDM printer. So I used this: [https://community.mycroft.ai/t/simplified-mark-ii-body-for-fdm-printing/8248/12] or [https://github.com/guhl/hardware-mycroft-mark-II-rpi] === Software basis === I used the picroft image Picroft_Buster-Keaton_2020-01-10.img as the software basis === Audio === I had two problems related to audio. First the volume of the Adafruit MAX9744 Amplifier was very high and resulted in a general cracking and static noise when switched on. === Adafruit Volume control === I am controlling the volume of the MAX9744 using the CircuitPython Libraries (see [https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi] ). The things that I had to do: ==== Install the library ==== while in (.venv) * pip3 install RPI.GPIO * pip3 install adafruit-blinka ==== Enable I2C === I2C is not enabled by default so run and enable I2C in the Interfacing Options ==== Python script ==== Use this script to set the initial volume to about the half (the range is 0 to 63). Create ~/bin/ada_volume.py with the following content * nano ~/bin/ada_volume.py {{{ import board import busio import adafruit_max9744 i2c = busio.I2C(board.SCL, board.SDA) amp = adafruit_max9744.MAX9744(i2c) amp.volume = 30 }}} ==== Start using systemd ==== Place a service file in the user directory: * nano ~/.config/systemd/user/myadavolume.service with the content {{{ [Unit] Description=set adafruit volume After=network.target [Service] Type=simple ExecStart=/home/pi/mycroft-core/.venv/bin/python /home/pi/bin/ada_volume.py [Install] WantedBy=default.target }}} Enable and start it: * systemctl --user daemon-reload * systemctl --user enable myadavolume * systemctl --user start myadavolume === Pulseaudio === The picroft installation does not use pulseaudio for the output of voice and other sound so the general volume control did not work ==== blacklist the internal bcm2835 sound card ==== This is for sure totally optional but I did it * sudo nano /etc/modprobe.d/alsa-blacklist.conf {{{ blacklist snd_bcm2835 }}} ==== force ALSA userspace to use PulseAudio ==== * sudo nano /etc/asound.conf {{{ # Use PulseAudio by default pcm.!default { type pulse fallback "sysdefault" hint { show on description "Default ALSA Output (currently PulseAudio Sound Server)" } } ctl.!default { type pulse fallback "sysdefault" } }}} ==== mycroft conf ==== * sudo nano /etc/mycroft/mycroft.conf replace: {{{ "play_wav_cmdline": "aplay -Dplughw:ArrayUAC10,0 %1", "play_mp3_cmdline": "mpg123 -a plughw:ArrayUAC10,0 %1", }}} with {{{ "play_wav_cmdline": "paplay %1", "play_mp3_cmdline": "mpg123 %1", }}} ==== additional setting in default.pa ==== This enables ducking and is a nice feature that the volume of music playing is turned down while Mycroft speaks instead of stopping the output. * sudo nano /etc/pulse/default.pa add to the end of the file {{{ unload-module module-suspend-on-idle unload-module module-role-cork load-module module-role-ducking }}}