Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions joinly/services/stt/whisper.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,23 @@ class WhisperSTT(STT):
def __init__(
self,
*,
model_name: str = "tiny.en",
model_name: str | None = None,
min_audio: float = 0.4,
min_silence: float = 0.2,
hotwords: list[str] | None = None,
) -> None:
"""Initialize the WhisperSTT.

Args:
model_name: The Whisper model to use (default is "tiny.en").
model_name: The Whisper model to use (default is None,
where the local "tiny.en" is used).
min_audio: Minimum audio length (in seconds) to consider for transcription.
min_silence: Minimum silence length (in seconds) to consider before ending
a segment.
hotwords: A list of hotwords to improve transcription accuracy.
"""
self.model_name = model_name
self.model_name = model_name or "tiny.en"
self._set_model_name = model_name is not None
self.min_audio = min_audio
self.min_silence = min_silence
hotwords_arr = (hotwords or []) + [get_settings().name]
Expand All @@ -57,6 +59,7 @@ async def __aenter__(self) -> Self:
self.model_name,
device="cpu",
compute_type="int8",
local_files_only=not self._set_model_name,
)

logger.info("Initialized Whisper model")
Expand Down