rhasspy / hassio-addons

Add-ons for Home Assistant's Hass.IO
MIT License
63 stars 31 forks source link

USB Speakerphone not available in Input/Output #41

Open The-Distal opened 1 year ago

The-Distal commented 1 year ago

I'm trying to set up wakeword support on my HA setup. The pipeline was previously configured, using Whisper and Piper, and I have it set for Openwakeword: "ok nabu". However, the system does not seem to use my USB speakerphone for the audio, and I can only select "Default" or "Built-in Audio Analog Stero" in the Assist Microphone configuration.

The device is a "KAYSUDA USB Speaker Phone" from Amazon. It shows up on my system as follows:

BUSNUM: '001'
DEVNAME: /dev/bus/usb/001/003
DEVNUM: '003'
DEVPATH: /devices/pci0000:00/0000:00:14.0/usb1/1-4
DEVTYPE: usb_device
DRIVER: usb
ID_BUS: usb
ID_FOR_SEAT: usb-pci-0000_00_14_0-usb-0_4
ID_MODEL: SPEAKPHONE_SP300U
ID_MODEL_ENC: SPEAKPHONE\x20SP300U
ID_MODEL_ID: '3220'
ID_PATH: pci-0000:00:14.0-usb-0:4
ID_PATH_TAG: pci-0000_00_14_0-usb-0_4
ID_REVISION: '0010'
ID_SERIAL: Shenzhen_Startime_CO._LTD._SPEAKPHONE_SP300U
ID_USB_INTERFACES: ':010100:010200:030000:'
ID_USB_MODEL: SPEAKPHONE_SP300U
ID_USB_MODEL_ENC: SPEAKPHONE\x20SP300U
ID_USB_MODEL_ID: '3220'
ID_USB_REVISION: '0010'
ID_USB_SERIAL: Shenzhen_Startime_CO._LTD._SPEAKPHONE_SP300U
ID_USB_VENDOR: Shenzhen_Startime_CO._LTD.
ID_USB_VENDOR_ENC: Shenzhen\x20Startime\x20CO.\x2cLTD.
ID_USB_VENDOR_ID: '4658'
ID_VENDOR: Shenzhen_Startime_CO._LTD.
ID_VENDOR_ENC: Shenzhen\x20Startime\x20CO.\x2cLTD.
ID_VENDOR_ID: '4658'
MAJOR: '189'
MINOR: '2'
PRODUCT: 4658/3220/10
SUBSYSTEM: usb
TAGS: ':seat:'
TYPE: 0/0/0
USEC_INITIALIZED: '1454022'

dmesg result if I unplug and replug device:

[234294.954609] usb 1-4: USB disconnect, device number 3
[234296.356146] usb 1-4: new full-speed USB device number 7 using xhci_hcd
[234296.482602] usb 1-4: New USB device found, idVendor=1234, idProduct=5678, bcdDevice= 0.10
[234296.482619] usb 1-4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[234297.176215] usb 1-4: USB disconnect, device number 7
[234297.426118] usb 1-4: new full-speed USB device number 8 using xhci_hcd
[234297.552673] usb 1-4: New USB device found, idVendor=4658, idProduct=3220, bcdDevice= 0.10
[234297.552682] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[234297.552686] usb 1-4: Product: SPEAKPHONE SP300U
[234297.552689] usb 1-4: Manufacturer: Shenzhen Startime CO.,LTD.
[234297.555134] input: Shenzhen Startime CO.,LTD. SPEAKPHONE SP300U as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.3/0003:4658:3220.0001/input/input13
[234297.607321] hid-generic 0003:4658:3220.0001: input,hidraw0: USB HID v1.10 Device [Shenzhen Startime CO.,LTD. SPEAKPHONE SP300U] on usb-0000:00:14.0-4/input3
[234297.629968] usb 1-4: Warning! Unlikely big volume range (=4864), cval->res is probably wrong.
[234297.629976] usb 1-4: [5] FU [PCM Playback Volume] ch = 1, val = -6400/-1536/1
[234297.630646] usbcore: registered new interface driver snd-usb-audio

Reboot/restarting the system doesn't seem to make any difference.

Log for Assist Microphone:

DEBUG:__main__:Namespace(host='homeassistant', token='mytoken', port=8123, api_path='/api', pipeline='Home Assistant', protocol='http', mic_device=None, snd_device=None, mic_command=None, snd_command=None, snd_command_sample_rate=22050, awake_sound='/usr/src/sounds/awake.wav', done_sound='/usr/src/sounds/done.wav', volume=1.0, vad='silero', vad_model=PosixPath('/usr/local/lib/python3.11/dist-packages/homeassistant_satellite/models/silero_vad.onnx'), vad_threshold=0.5, vad_trigger_level=3, vad_buffer_chunks=40, wake_buffer_seconds=0.0, noise_suppression=2, auto_gain=15, volume_multiplier=1.0, udp_mic=None, udp_snd=None, udp_snd_sample_rate=22050, debug_recording_dir='', debug=True)

HA Core: core-2023.10.3 Running on HAOS 11.0. Assist Microphone: 2.2.1

synesthesiam commented 1 year ago

Thanks for reporting. I am collecting details of devices that don't seem to be supported by Home Assistant OS.