Muse Luxe with ESPHome voice assistant

New product alert : here it is

2 Likes

Can you please give more details abou this new product?

Is this a network media player, to play a webradio stations? Is this configurable by a web page?
Thank you

replied here:

3 Likes

where do these lines go in the Tetele’s YAML file ? I added them to the “microphone” section and got an error back for each and all lines stating the statements were invalid for [microphone.i2s_audio]

EDIT – figured it out. I added the lines to the voiceassist: section, directly under the microphone: line

When the ESP Home code is compiled I see a lot of compiler warnings about FastLED
I use the Muse as a speaker to send TTS announcements using Piper

I’m using
ESPHome 2024.5.0
The yaml I’m using is the following. Is there an updated version of this?

substitutions:
  name: raspiaudio-muse-luxe-bbnnnn
  friendly_name: RaspiAudio Muse Luxe
packages:
  raspiaudio.muse-luxe: github://esphome/firmware/media-player/raspiaudio-muse-luxe.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
api:
  encryption:
    key: REDACTED


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  power_save_mode: none
  output_power: 20dB
  fast_connect: false

logger:
  level: DEBUG

When does it start shipping?

Should be in a month for the next batch.
I have a few units in beta test now, I will wait to have their feedback to launch a new batch just in case we’ve missed something, in parallel we will work in creating a tutorial for Home Assistant and Squeezelite.

1 Like

Hey, a new version of the yaml for the Muse Luxe is available with Micro Wake word, meaning the wake word for the assistant is running directly on device.

Introducing the New Version: MicroWWPlus

Discover the enhancements in the latest release of MicroWWPlus!

New Features:

  • Micro Wake Words: Now supports multiple wake words like “Hey Jarvis”. Customize it further by modifying the YAML configuration.

ESPHome for Raspiaudio Muse Luxe

This project is designed to enhance your experience with the Raspiaudio Muse Luxe. Follow the instructions below to get started.

Flashing Your Device

  1. Open Google Chrome.
  2. Navigate to apps.raspiaudio.com.
  3. Choose Muse Luxe - Home Assistant and follow the on-screen instructions.
  4. Connect to the device’s access point with these credentials:
    • SSID: Raspiaudio-Luxe
    • Password: 12345678
  5. Access 192.168.4.1 in your browser to configure your home Wi-Fi settings.

Source Code

Explore and contribute to the project on GitHub: esphomeLuxe Repository. For recompilation, ensure to perform a full build clean in ESPHome first.

Forum & Support

Join our community for discussions and support: Raspiaudio Forum Thread

Step-by-Step Video Guide

For a comprehensive walkthrough, watch our Step-by-Step Video Guide.

We hope you enjoy using your Raspiaudio Muse Luxe Voice Satellite! For any further assistance, feel free to reach out via the forum.

I can’t get the yaml to build in the device builder:

INFO Generating C++ source...
INFO Updating https://github.com/espressif/esp-adf.git@v2.5
INFO Updating submodules (components/esp-adf-libs, components/esp-sr) for https://github.com/espressif/esp-adf.git@v2.5
Traceback (most recent call last):
  File "/usr/local/bin/esphome", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/esphome/esphome/__main__.py", line 1036, in main
    return run_esphome(sys.argv)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/esphome/esphome/__main__.py", line 1023, in run_esphome
    rc = POST_CONFIG_ACTIONS[args.command](args, config)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/esphome/esphome/__main__.py", line 452, in command_compile
    exit_code = write_cpp(config)
                ^^^^^^^^^^^^^^^^^
  File "/esphome/esphome/__main__.py", line 213, in write_cpp
    return write_cpp_file()
           ^^^^^^^^^^^^^^^^
  File "/esphome/esphome/__main__.py", line 231, in write_cpp_file
    writer.write_cpp(code_s)
  File "/esphome/esphome/writer.py", line 341, in write_cpp
    copy_src_tree()
  File "/esphome/esphome/writer.py", line 307, in copy_src_tree
    copy_files()
  File "/esphome/esphome/components/esp32/__init__.py", line 824, in copy_files
    shutil.copytree(
  File "/usr/lib/python3.11/shutil.py", line 561, in copytree
    return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/shutil.py", line 515, in _copytree
    raise Error(errors)
shutil.Error: [('/data/idf_components/c8968d05/components/esp-sr/docs/myapp/lib64', '/data/build/muse-luxe/components/esp-sr/docs/myapp/lib64', "[Errno 17] File exists: 'lib' -> '/data/build/muse-luxe/components/esp-sr/docs/myapp/lib64'"), ('/data/idf_components/c8968d05/components/esp-sr/docs/myapp/bin/python3', '/data/build/muse-luxe/components/esp-sr/docs/myapp/bin/python3', "[Errno 17] File exists: '/usr/bin/python3' -> '/data/build/muse-luxe/components/esp-sr/docs/myapp/bin/python3'"), ('/data/idf_components/c8968d05/components/esp-sr/docs/myapp/bin/python', '/data/build/muse-luxe/components/esp-sr/docs/myapp/bin/python', "[Errno 17] File exists: 'python3' -> '/data/build/muse-luxe/components/esp-sr/docs/myapp/bin/python'")]

I also tried installing the .bin directly from your repo, but it will only move on to the wifi scanning mode once I press “reset device”, which obviously resets the device directly after quickly moving through the scanning process. Then I’m back at the beginning

Source Code
For recompilation, ensure to perform a full build clean in ESPHome first

Hi is it solved? please let me know

I followed the instructions above for MicroWWPlus. Playback is choppy and incomprehensible. A connection via USB is no longer possible (Failed to execute ‘open’ on ‘SerialPort’: Failed to open serial port.). A connection via Wi-Fi results in this error:

INFO ESPHome 2025.2.2
INFO Reading configuration /config/esphome/raspiaudio-muse-luxe.yaml...
INFO Updating https://github.com/RASPIAUDIO/esphomeLuxe.git@main
WARNING GPIO5 is a strapping PIN and should only be used for I/O with care.
Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
Failed config

binary_sensor.gpio: [source /config/esphome/raspiaudio-muse-luxe.yaml:245]
  platform: gpio
  pin: 
    number: GPIO19
    inverted: True
    mode: 
      input: True
      pullup: True
  name: Volume Up
  on_click: 
    - 
      expected a dictionary.
      media_player.volume_up: luxe_out

I used the Muse with HomeAssistant as media player, since 2023 with no updates.
It was working okayish (sometimes it needed reboot, recently it started loop playing announces).

I just updated with latest version and now it is unusable.
It plays fine but, randomly, it reboots with a loud noise at max volume and the startup chime.

It happened several times at night, waking up the whole family.

I wish I could go back to the previous version. Now I have to keep it down, at least at night.
I only need it as media player for TTS, I don’t care about assist or wake words.

[D][sensor:093]: 'Battery voltage': Sending state 4.51100 V with 2 decimals of accuracy
[D][sensor:093]: 'Battery': Sending state 96.96455 % with 0 decimals of accuracy
[D][esp-idf:000][wifi]: W (351237) wifi:
[D][esp-idf:000][wifi]: [ADDBA]rx delba, code:39, delete tid:0
[D][esp-idf:000][wifi]: 

[D][esp-idf:000]: W (351271) httpd_txrx: httpd_sock_err: error in send : 128
Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x400ee9e9  PS      : 0x00060230  A0      : 0x800eea07  A1      : 0x3ffc06f0  
A2      : 0x204412cd  A3      : 0x00000000  A4      : 0x00000000  A5      : 0x00000001  
A6      : 0xb33fffff  A7      : 0xb33fffff  A8      : 0x800ee9e7  A9      : 0x3ffc06b0  
A10     : 0x00000000  A11     : 0x00060023  A12     : 0x8008986e  A13     : 0x3ffb1e30  
A14     : 0x3ffb4ac0  A15     : 0x00000001  SAR     : 0x0000000a  EXCCAUSE: 0x0000001c  
EXCVADDR: 0x00000004  LBEG    : 0x400849d9  LEND    : 0x400849e1  LCOUNT  : 0x00000027  


Backtrace: 0x400ee9e6:0x3ffc06f0 0x400eea04:0x3ffc0710 0x400ec79f:0x3ffc0730 0x400ec7d6:0x3ffc0780 0x401c39ed:0x3ffc07a0 0x401c3aa5:0x3ffc07c0 0x400f1fe5:0x3ffc07e0 0x400f56a6:0x3ffc0810 0x400db7c2:0x3ffc0830




ELF file SHA256: 3b8baf6f805e5ab4

Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:7112
load:0x40078000,len:15624
load:0x40080400,len:4
load:0x40080404,len:3876
entry 0x4008064c
I (29) boot: ESP-IDF 5.1.5 2nd stage bootloader

and

[D][ring_buffer:034][ann_read]: Created ring buffer with size 1000000
[D][speaker_media_player.pipeline:114]: Reading FLAC file type
[D][micro_wake_word:19Guru Meditation Error: Core  1 panic'ed (StoreProhibited). Exception was unhandled.

Core  1 register dump:
PC      : 0x400ee586  PS      : 0x00060c30  A0      : 0x800ee61c  A1      : 0x3ffc0550  
A2      : 0x00b83fc0  A3      : 0x00000000  A4      : 0x00b83fc0  A5      : 0x00b83fc0  
A6      : 0x00000000  A7      : 0x00000001  A8      : 0xfffffffe  A9      : 0x3ffc0500  
A10     : 0x00000000  A11     : 0x0000003c  A12     : 0x3ffc03e4  A13     : 0x00000000  
A14     : 0x3ffc03b4  A15     : 0x3ffc04d0  SAR     : 0x00000008  EXCCAUSE: 0x0000001d  
EXCVADDR: 0x00b83fc0  LBEG    : 0x4008a8c6  LEND    : 0x4008a8d1  LCOUNT  : 0x00000000  


Backtrace: 0x400ee583:0x3ffc0550 0x400ee619:0x3ffc0570 0x400ee65a:0x3ffc0590 0x400ee781:0x3ffc05e0 0x400eb52e:0x3ffc0600 0x400e392d:0x3ffc0620 0x400e3cf1:0x3ffc0650 0x400f3f2d:0x3ffc0670 0x400f3f5e:0x3ffc06a0 0x400e4d1a:0x3ffc0700 0x400e5647:0x3ffc0720 0x401c39ed:0x3ffc07a0 0x401c3aa5:0x3ffc07c0 0x400f1fe5:0x3ffc07e0 0x400f56a6:0x3ffc0810 0x400db7c2:0x3ffc0830




ELF file SHA256: 3b8baf6f805e5ab4

Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:7112
load:0x40078000,len:15624
load:0x40080400,len:4
load:0x40080404,len:3876
entry 0x4008064c
I (29) boot: ESP-IDF 5.1.5 2nd stage bootloader

Hi Fabio72!
We’ll try to help you get your Luxe working properly again.

  1. Are Home Assistant and Esphome up to date (latest versions)? If not, please update them.
  2. Once that’s done, update the API on raspiaudio.github.io.
    You can also initialize your Wi-Fi there (=> NEXT then => BACK).

Keep me posted on the results.
Best regards,
LR

I was able to restore previous configuration using this page

Now I can still use it as media player for tts announces (my main goal)
Home assistant is core 2025.5.3

I recompiled with the last dev and unfortunatly… there are some errors (and the ESP32 is rebooting every 10-20s)

[15:45:01][D][micro_wake_word:378]: State changed from STOPPED to STARTING
[15:45:01][D][ring_buffer:034][mww]: Created ring buffer with size 3840
[15:45:01][E][component:174]: Component i2s_audio.microphone set Error flag: unspecified```

I’ll try to help you solve your problem:
There are three methods to load the latest HA software for the Luxe.
1- The simplest: ===> raspiaudio.github.io
Select “Luxe” and “Homeassistant” then follow the instructions…
Once the loading is complete, you can initialize your WiFi (=>NEXT =>BACK)

(Then from the repository: GitHub - RASPIAUDIO/esphomeLuxe)

2- Load the luxe_microWW.bin binary,
for example, with a command like:
> esptool.py -p /dev/ttyUSB0 -b 921600 write_flash 0 luxe_microWW.bin

3- Recompile the luxe_microWW.yaml source code
(especially useful if you want to customize the program) with a command like:
> esphome run luxe_microWW.yaml
(esphome version >= 2025.4.0)
in the last two cases, you can initialize your WiFi from your smartphone by connecting to the network provided by the Luxe (SSID: Raspiaudio-luxe, password: 12345678).

Can you tell me which method you’re using? And any details you might find useful?
See you soon, LR