1
0
mirror of https://github.com/home-assistant/core.git synced 2026-06-05 07:04:05 +01:00
Files
core/homeassistant/components/stt/models.py
T

57 lines
1.2 KiB
Python

"""Speech-to-text data models."""
from dataclasses import dataclass
from .const import (
AudioBitRates,
AudioChannels,
AudioCodecs,
AudioFormats,
AudioSampleRates,
SpeechResultState,
)
@dataclass
class SpeechMetadata:
"""Metadata of audio stream."""
language: str
format: AudioFormats
codec: AudioCodecs
bit_rate: AudioBitRates
sample_rate: AudioSampleRates
channel: AudioChannels
@dataclass
class SpeechResult:
"""Result of audio Speech."""
text: str | None
result: SpeechResultState
@dataclass
class SpeechAudioProcessing:
"""Required and preferred input audio processing settings."""
requires_external_vad: bool
"""True if an external voice activity detector (VAD) is required.
If False, the speech-to-text entity must detect the end of speech itself.
"""
prefers_auto_gain_enabled: bool
"""True if input audio should adjust gain automatically for best results."""
prefers_noise_reduction_enabled: bool
"""True if input audio should apply noise reduction for best results."""
DEFAULT_AUDIO_PROCESSING = SpeechAudioProcessing(
requires_external_vad=True,
prefers_auto_gain_enabled=True,
prefers_noise_reduction_enabled=True,
)