Spaces:
Running on Zero
Running on Zero
GitHub Actions
Quality improvements: Unicode chars, Token class, imports, type hints, formatting
3f78ea8 | """STT and TTS backend protocol and result types.""" | |
| from __future__ import annotations | |
| from dataclasses import dataclass | |
| from typing import Protocol, runtime_checkable | |
| # ββ STT βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| class SttSegment: | |
| start_seconds: float | |
| end_seconds: float | |
| text: str | |
| language: str | None = None | |
| confidence: float | None = None | |
| class SttResult: | |
| segments: list[SttSegment] | |
| full_text: str | |
| detected_language: str | |
| backend: str | |
| ms: int | |
| class SttBackend(Protocol): | |
| name: str | |
| async def transcribe( | |
| self, | |
| audio_bytes: bytes, | |
| language: str | None = None, | |
| translate_to_en: bool = False, | |
| ) -> SttResult: ... | |
| def health(self) -> dict: ... | |
| # ββ TTS βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| class TtsResult: | |
| audio_bytes: bytes | |
| audio_format: str | |
| duration_seconds: float | |
| backend: str | |
| ms: int | |
| class TtsBackend(Protocol): | |
| name: str | |
| async def synthesize( | |
| self, | |
| text: str, | |
| voice: str | None = None, | |
| language: str = "de", | |
| audio_format: str = "ogg_vorbis", | |
| ) -> TtsResult: ... | |
| def health(self) -> dict: ... | |