Home Assistant Unofficial Reference 2024.12.1
homeassistant.components.assist_pipeline.pipeline.PipelineRun Class Reference

Public Member Functions

bool __eq__ (self, object other)
 
None __post_init__ (self)
 
None end (self)
 
None prepare_recognize_intent (self)
 
None prepare_speech_to_text (self, stt.SpeechMetadata metadata)
 
None prepare_text_to_speech (self)
 
None prepare_wake_word_detection (self)
 
AsyncGenerator[EnhancedAudioChunkprocess_enhance_audio (self, AsyncIterable[bytes] audio_stream)
 
None process_event (self, PipelineEvent event)
 
AsyncGenerator[EnhancedAudioChunkprocess_volume_only (self, AsyncIterable[bytes] audio_stream)
 
str recognize_intent (self, str intent_input, str|None conversation_id, str|None device_id)
 
str speech_to_text (self, stt.SpeechMetadata metadata, AsyncIterable[EnhancedAudioChunk] stream)
 
None start (self, str|None device_id)
 
None text_to_speech (self, str tts_input)
 
wake_word.DetectionResult|None wake_word_detection (self, AsyncIterable[EnhancedAudioChunk] stream, list[EnhancedAudioChunk] audio_chunks_for_stt)
 

Public Attributes

 audio_enhancer
 
 debug_recording_queue
 
 debug_recording_thread
 
 id
 
 intent_agent
 
 language
 
 stt_provider
 
 tts_audio_output
 
 tts_engine
 
 tts_options
 
 wake_word_entity
 
 wake_word_entity_id
 

Static Public Attributes

 AudioBuffer
 
 AudioSettings
 
 bool
 
 default
 
 default_factory
 
 False
 
 init
 
 None
 
 Provider
 
 repr
 
 str
 
 WakeWordDetectionEntity
 

Private Member Functions

None _capture_chunk (self, bytes|None audio_bytes)
 
AsyncGenerator[bytes] _speech_to_text_stream (self, AsyncIterable[EnhancedAudioChunk] audio_stream, VoiceCommandSegmenter|None stt_vad, int sample_rate=SAMPLE_RATE, int sample_width=SAMPLE_WIDTH)
 
None _start_debug_recording_thread (self)
 
None _stop_debug_recording_thread (self)
 
AsyncIterable[tuple[bytes, int]] _wake_word_audio_stream (self, AsyncIterable[EnhancedAudioChunk] audio_stream, deque[EnhancedAudioChunk]|None stt_audio_buffer, VoiceActivityTimeout|None wake_word_vad, int sample_rate=SAMPLE_RATE, int sample_width=SAMPLE_WIDTH)
 

Private Attributes

 _device_id
 

Detailed Description

Running context for a pipeline.

Definition at line 536 of file pipeline.py.

Member Function Documentation

◆ __eq__()

bool homeassistant.components.assist_pipeline.pipeline.PipelineRun.__eq__ (   self,
object  other 
)
Compare pipeline runs by id.

Definition at line 605 of file pipeline.py.

◆ __post_init__()

None homeassistant.components.assist_pipeline.pipeline.PipelineRun.__post_init__ (   self)
Set language for pipeline.

Definition at line 578 of file pipeline.py.

◆ _capture_chunk()

None homeassistant.components.assist_pipeline.pipeline.PipelineRun._capture_chunk (   self,
bytes | None  audio_bytes 
)
private
Forward audio chunk to various capturing mechanisms.

Definition at line 1192 of file pipeline.py.

◆ _speech_to_text_stream()

AsyncGenerator[bytes] homeassistant.components.assist_pipeline.pipeline.PipelineRun._speech_to_text_stream (   self,
AsyncIterable[EnhancedAudioChunk audio_stream,
VoiceCommandSegmenter | None  stt_vad,
int   sample_rate = SAMPLE_RATE,
int   sample_width = SAMPLE_WIDTH 
)
private
Yield audio chunks until VAD detects silence or speech-to-text completes.

Definition at line 953 of file pipeline.py.

◆ _start_debug_recording_thread()

None homeassistant.components.assist_pipeline.pipeline.PipelineRun._start_debug_recording_thread (   self)
private
Start thread to record wake/stt audio if debug_recording_dir is set.

Definition at line 1213 of file pipeline.py.

◆ _stop_debug_recording_thread()

None homeassistant.components.assist_pipeline.pipeline.PipelineRun._stop_debug_recording_thread (   self)
private
Stop recording thread.

Definition at line 1248 of file pipeline.py.

◆ _wake_word_audio_stream()

AsyncIterable[tuple[bytes, int]] homeassistant.components.assist_pipeline.pipeline.PipelineRun._wake_word_audio_stream (   self,
AsyncIterable[EnhancedAudioChunk audio_stream,
deque[EnhancedAudioChunk] | None  stt_audio_buffer,
VoiceActivityTimeout | None  wake_word_vad,
int   sample_rate = SAMPLE_RATE,
int   sample_width = SAMPLE_WIDTH 
)
private
Yield audio chunks with timestamps (milliseconds since start of stream).

Adds audio to a ring buffer that will be forwarded to speech-to-text after
detection. Times out if VAD detects enough silence.

Definition at line 811 of file pipeline.py.

◆ end()

None homeassistant.components.assist_pipeline.pipeline.PipelineRun.end (   self)
Emit run end event.

Definition at line 636 of file pipeline.py.

◆ prepare_recognize_intent()

None homeassistant.components.assist_pipeline.pipeline.PipelineRun.prepare_recognize_intent (   self)
Prepare recognizing an intent.

Definition at line 989 of file pipeline.py.

◆ prepare_speech_to_text()

None homeassistant.components.assist_pipeline.pipeline.PipelineRun.prepare_speech_to_text (   self,
stt.SpeechMetadata  metadata 
)
Prepare speech-to-text.

Definition at line 844 of file pipeline.py.

◆ prepare_text_to_speech()

None homeassistant.components.assist_pipeline.pipeline.PipelineRun.prepare_text_to_speech (   self)
Prepare text-to-speech.

Definition at line 1104 of file pipeline.py.

◆ prepare_wake_word_detection()

None homeassistant.components.assist_pipeline.pipeline.PipelineRun.prepare_wake_word_detection (   self)
Prepare wake-word-detection.

Definition at line 654 of file pipeline.py.

◆ process_enhance_audio()

AsyncGenerator[EnhancedAudioChunk] homeassistant.components.assist_pipeline.pipeline.PipelineRun.process_enhance_audio (   self,
AsyncIterable[bytes]   audio_stream 
)
Split audio into chunks and apply VAD/noise suppression/auto gain/volume transformation.

Definition at line 1284 of file pipeline.py.

◆ process_event()

None homeassistant.components.assist_pipeline.pipeline.PipelineRun.process_event (   self,
PipelineEvent  event 
)
Log an event and call listener.

Definition at line 613 of file pipeline.py.

◆ process_volume_only()

AsyncGenerator[EnhancedAudioChunk] homeassistant.components.assist_pipeline.pipeline.PipelineRun.process_volume_only (   self,
AsyncIterable[bytes]   audio_stream 
)
Apply volume transformation only (no VAD/audio enhancements) with optional chunking.

Definition at line 1265 of file pipeline.py.

◆ recognize_intent()

str homeassistant.components.assist_pipeline.pipeline.PipelineRun.recognize_intent (   self,
str  intent_input,
str | None  conversation_id,
str | None   device_id 
)
Run intent recognition portion of pipeline. Returns text to speak.

Definition at line 1005 of file pipeline.py.

◆ speech_to_text()

str homeassistant.components.assist_pipeline.pipeline.PipelineRun.speech_to_text (   self,
stt.SpeechMetadata  metadata,
AsyncIterable[EnhancedAudioChunk stream 
)
Run speech-to-text portion of pipeline. Returns the spoken text.

Definition at line 872 of file pipeline.py.

◆ start()

None homeassistant.components.assist_pipeline.pipeline.PipelineRun.start (   self,
str | None  device_id 
)
Emit run start event.

Definition at line 622 of file pipeline.py.

◆ text_to_speech()

None homeassistant.components.assist_pipeline.pipeline.PipelineRun.text_to_speech (   self,
str  tts_input 
)
Run text-to-speech portion of pipeline.

Definition at line 1147 of file pipeline.py.

◆ wake_word_detection()

wake_word.DetectionResult | None homeassistant.components.assist_pipeline.pipeline.PipelineRun.wake_word_detection (   self,
AsyncIterable[EnhancedAudioChunk stream,
list[EnhancedAudioChunk audio_chunks_for_stt 
)
Run wake-word-detection portion of pipeline. Returns detection result.

Definition at line 677 of file pipeline.py.

Member Data Documentation

◆ _device_id

homeassistant.components.assist_pipeline.pipeline.PipelineRun._device_id
private

Definition at line 624 of file pipeline.py.

◆ audio_enhancer

homeassistant.components.assist_pipeline.pipeline.PipelineRun.audio_enhancer

Definition at line 599 of file pipeline.py.

◆ AudioBuffer

homeassistant.components.assist_pipeline.pipeline.PipelineRun.AudioBuffer
static

Definition at line 570 of file pipeline.py.

◆ AudioSettings

homeassistant.components.assist_pipeline.pipeline.PipelineRun.AudioSettings
static

Definition at line 550 of file pipeline.py.

◆ bool

homeassistant.components.assist_pipeline.pipeline.PipelineRun.bool
static

Definition at line 559 of file pipeline.py.

◆ debug_recording_queue

homeassistant.components.assist_pipeline.pipeline.PipelineRun.debug_recording_queue

Definition at line 1240 of file pipeline.py.

◆ debug_recording_thread

homeassistant.components.assist_pipeline.pipeline.PipelineRun.debug_recording_thread

Definition at line 1241 of file pipeline.py.

◆ default

homeassistant.components.assist_pipeline.pipeline.PipelineRun.default
static

Definition at line 555 of file pipeline.py.

◆ default_factory

homeassistant.components.assist_pipeline.pipeline.PipelineRun.default_factory
static

Definition at line 550 of file pipeline.py.

◆ False

homeassistant.components.assist_pipeline.pipeline.PipelineRun.False
static

Definition at line 553 of file pipeline.py.

◆ id

homeassistant.components.assist_pipeline.pipeline.PipelineRun.id

Definition at line 608 of file pipeline.py.

◆ init

homeassistant.components.assist_pipeline.pipeline.PipelineRun.init
static

Definition at line 553 of file pipeline.py.

◆ intent_agent

homeassistant.components.assist_pipeline.pipeline.PipelineRun.intent_agent

Definition at line 1003 of file pipeline.py.

◆ language

homeassistant.components.assist_pipeline.pipeline.PipelineRun.language

Definition at line 580 of file pipeline.py.

◆ None

homeassistant.components.assist_pipeline.pipeline.PipelineRun.None
static

Definition at line 546 of file pipeline.py.

◆ Provider

homeassistant.components.assist_pipeline.pipeline.PipelineRun.Provider
static

Definition at line 553 of file pipeline.py.

◆ repr

homeassistant.components.assist_pipeline.pipeline.PipelineRun.repr
static

Definition at line 553 of file pipeline.py.

◆ str

homeassistant.components.assist_pipeline.pipeline.PipelineRun.str
static

Definition at line 545 of file pipeline.py.

◆ stt_provider

homeassistant.components.assist_pipeline.pipeline.PipelineRun.stt_provider

Definition at line 870 of file pipeline.py.

◆ tts_audio_output

homeassistant.components.assist_pipeline.pipeline.PipelineRun.tts_audio_output

Definition at line 1117 of file pipeline.py.

◆ tts_engine

homeassistant.components.assist_pipeline.pipeline.PipelineRun.tts_engine

Definition at line 1144 of file pipeline.py.

◆ tts_options

homeassistant.components.assist_pipeline.pipeline.PipelineRun.tts_options

Definition at line 1145 of file pipeline.py.

◆ wake_word_entity

homeassistant.components.assist_pipeline.pipeline.PipelineRun.wake_word_entity

Definition at line 675 of file pipeline.py.

◆ wake_word_entity_id

homeassistant.components.assist_pipeline.pipeline.PipelineRun.wake_word_entity_id

Definition at line 674 of file pipeline.py.

◆ WakeWordDetectionEntity

homeassistant.components.assist_pipeline.pipeline.PipelineRun.WakeWordDetectionEntity
static

Definition at line 557 of file pipeline.py.


The documentation for this class was generated from the following file: