* Add websocket command to capture audio from a device
* Update homeassistant/components/assist_pipeline/pipeline.py
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Add device capture test
* More tests
* Add logbook
* Remove unnecessary check
* Remove seconds and make logbook message past tense
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Use webrtc-noise-gain instead of webrtcvad package
* Switching to ProcessedAudioChunk
* Refactor VAD and fix tests
* Add vad no chunking test
* Add test that runs audio enhancements
* Add pipeline option to save wake/stt audio to media
* Add debug_recording_dir to assist_pipeline YAML config
* Clean up and additional tests
* Remove I/O in event loop
* Organize saved audio by pipeline name and device id
* Record wake/stt debug audio in separate thread
* Fix after rebase
* Use timestamp instead of pipeline id for directory name
* Add WAV write error test
* Join thread in executor
* Make arguments for async_pipeline_from_audio_stream keyword-only after hass
* Use a bytearray ring buffer
* Move generator outside
* Move stt stream generator outside
* Clean up execute
* Refactor VAD to use bytearray
* More tests
* Refactor chunk_samples to be more correct and robust
* Change AudioBuffer to use append instead of setitem
* Cleanup
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Add wake component
* Add wake support to Wyoming
* Add helper function to assist_pipeline (not complete)
* Rename wake to wake_word
* Fix platform
* Use send_event and clean up
* Merge wake word into pipeline
* Add wake option to async_pipeline_from_audio_stream
* Add start/end stages to async_pipeline_from_audio_stream
* Add wake timeout
* Remove layer in wake_output
* Use VAD for wake word timeout
* Include audio metadata in wake-start
* Remove unnecessary websocket command
* wake -> wake_word
* Incorporate feedback
* Clean up wake_word tests
* Add wyoming wake word tests
* Add pipeline wake word test
* Add last processed state
* Fix tests
* Add tests for wake word
* More tests for the codebot
* Assist pipeline to use configured values
* Include voice in TTS-START event
* Use correct tts language var
* More vars
* Apply suggestions from code review
* Update
---------
Co-authored-by: Bram Kragten <mail@bramkragten.nl>