Move non legacy stt models out from legacy module (#99582)
This commit is contained in:
parent
d2a52230ff
commit
0b383067ef
3 changed files with 39 additions and 30 deletions
|
@ -40,12 +40,11 @@ from .const import (
|
|||
)
|
||||
from .legacy import (
|
||||
Provider,
|
||||
SpeechMetadata,
|
||||
SpeechResult,
|
||||
async_default_provider,
|
||||
async_get_provider,
|
||||
async_setup_legacy,
|
||||
)
|
||||
from .models import SpeechMetadata, SpeechResult
|
||||
|
||||
__all__ = [
|
||||
"async_get_provider",
|
||||
|
|
|
@ -3,7 +3,6 @@ from __future__ import annotations
|
|||
|
||||
from abc import ABC, abstractmethod
|
||||
from collections.abc import AsyncIterable, Coroutine
|
||||
from dataclasses import dataclass
|
||||
import logging
|
||||
from typing import Any
|
||||
|
||||
|
@ -20,8 +19,8 @@ from .const import (
|
|||
AudioCodecs,
|
||||
AudioFormats,
|
||||
AudioSampleRates,
|
||||
SpeechResultState,
|
||||
)
|
||||
from .models import SpeechMetadata, SpeechResult
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
@ -88,32 +87,6 @@ def async_setup_legacy(
|
|||
]
|
||||
|
||||
|
||||
@dataclass
|
||||
class SpeechMetadata:
|
||||
"""Metadata of audio stream."""
|
||||
|
||||
language: str
|
||||
format: AudioFormats
|
||||
codec: AudioCodecs
|
||||
bit_rate: AudioBitRates
|
||||
sample_rate: AudioSampleRates
|
||||
channel: AudioChannels
|
||||
|
||||
def __post_init__(self) -> None:
|
||||
"""Finish initializing the metadata."""
|
||||
self.bit_rate = AudioBitRates(int(self.bit_rate))
|
||||
self.sample_rate = AudioSampleRates(int(self.sample_rate))
|
||||
self.channel = AudioChannels(int(self.channel))
|
||||
|
||||
|
||||
@dataclass
|
||||
class SpeechResult:
|
||||
"""Result of audio Speech."""
|
||||
|
||||
text: str | None
|
||||
result: SpeechResultState
|
||||
|
||||
|
||||
class Provider(ABC):
|
||||
"""Represent a single STT provider."""
|
||||
|
||||
|
|
37
homeassistant/components/stt/models.py
Normal file
37
homeassistant/components/stt/models.py
Normal file
|
@ -0,0 +1,37 @@
|
|||
"""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
|
||||
|
||||
def __post_init__(self) -> None:
|
||||
"""Finish initializing the metadata."""
|
||||
self.bit_rate = AudioBitRates(int(self.bit_rate))
|
||||
self.sample_rate = AudioSampleRates(int(self.sample_rate))
|
||||
self.channel = AudioChannels(int(self.channel))
|
||||
|
||||
|
||||
@dataclass
|
||||
class SpeechResult:
|
||||
"""Result of audio Speech."""
|
||||
|
||||
text: str | None
|
||||
result: SpeechResultState
|
Loading…
Add table
Reference in a new issue