mirror of
https://github.com/home-assistant/core.git
synced 2025-07-27 23:27:37 +00:00
Move non legacy stt models out from legacy module (#99582)
This commit is contained in:
parent
d2a52230ff
commit
0b383067ef
@ -40,12 +40,11 @@ from .const import (
|
|||||||
)
|
)
|
||||||
from .legacy import (
|
from .legacy import (
|
||||||
Provider,
|
Provider,
|
||||||
SpeechMetadata,
|
|
||||||
SpeechResult,
|
|
||||||
async_default_provider,
|
async_default_provider,
|
||||||
async_get_provider,
|
async_get_provider,
|
||||||
async_setup_legacy,
|
async_setup_legacy,
|
||||||
)
|
)
|
||||||
|
from .models import SpeechMetadata, SpeechResult
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"async_get_provider",
|
"async_get_provider",
|
||||||
|
@ -3,7 +3,6 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from collections.abc import AsyncIterable, Coroutine
|
from collections.abc import AsyncIterable, Coroutine
|
||||||
from dataclasses import dataclass
|
|
||||||
import logging
|
import logging
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
@ -20,8 +19,8 @@ from .const import (
|
|||||||
AudioCodecs,
|
AudioCodecs,
|
||||||
AudioFormats,
|
AudioFormats,
|
||||||
AudioSampleRates,
|
AudioSampleRates,
|
||||||
SpeechResultState,
|
|
||||||
)
|
)
|
||||||
|
from .models import SpeechMetadata, SpeechResult
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_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):
|
class Provider(ABC):
|
||||||
"""Represent a single STT provider."""
|
"""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…
x
Reference in New Issue
Block a user