1212from wyoming .server import AsyncServer , AsyncTcpServer
1313
1414from . import __version__
15- from .const import PARAKEET_LANGUAGES , SttLibrary
15+ from .const import AUTO_LANGUAGE , AUTO_MODEL , PARAKEET_LANGUAGES , SttLibrary
1616
1717_LOGGER = logging .getLogger (__name__ )
1818
@@ -30,7 +30,7 @@ async def main() -> None:
3030 )
3131 #
3232 parser .add_argument (
33- "--model" , default = "auto" , help = "Name of model to use (or auto )"
33+ "--model" , default = AUTO_MODEL , help = f "Name of model to use (or { AUTO_MODEL } )"
3434 )
3535 parser .add_argument (
3636 "--data-dir" ,
@@ -49,8 +49,8 @@ async def main() -> None:
4949 )
5050 parser .add_argument (
5151 "--language" ,
52- default = "auto" ,
53- help = "Default language to set for transcription (default: auto )" ,
52+ default = AUTO_LANGUAGE ,
53+ help = f "Default language to set for transcription (default: { AUTO_LANGUAGE } )" ,
5454 )
5555 parser .add_argument (
5656 "--compute-type" ,
@@ -109,28 +109,32 @@ async def main() -> None:
109109 # Automatic configuration
110110 stt_library = SttLibrary (args .stt_library )
111111 if stt_library == SttLibrary .AUTO :
112- if args .language in ("en" , "auto" ):
113- # Prefer parakeet
114- try :
115- from .sherpa_handler import SherpaModel
116-
117- stt_library = SttLibrary .SHERPA
118- except ImportError :
119- stt_library = SttLibrary .FASTER_WHISPER
120- elif args .language == "ru" :
121- # Prefer GigaAM via onnx-asr
122- try :
123- from .sherpa_handler import SherpaModel
124-
125- stt_library = SttLibrary .ONNX_ASR
126- except ImportError :
127- stt_library = SttLibrary .FASTER_WHISPER
112+ if args .model == AUTO_MODEL :
113+ if args .language in ("en" , AUTO_LANGUAGE ):
114+ # Prefer parakeet
115+ try :
116+ from .sherpa_handler import SherpaModel
117+
118+ stt_library = SttLibrary .SHERPA
119+ except ImportError :
120+ stt_library = SttLibrary .FASTER_WHISPER
121+ elif args .language == "ru" :
122+ # Prefer GigaAM via onnx-asr
123+ try :
124+ from .sherpa_handler import SherpaModel
125+
126+ stt_library = SttLibrary .ONNX_ASR
127+ except ImportError :
128+ stt_library = SttLibrary .FASTER_WHISPER
129+ else :
130+ # Default to faster-whisper if model is provided
131+ stt_library = SttLibrary .FASTER_WHISPER
128132
129133 _LOGGER .debug ("Speech-to-text library automatically selected: %s" , stt_library )
130134
131135 machine = platform .machine ().lower ()
132136 is_arm = ("arm" in machine ) or ("aarch" in machine )
133- if args .model == "auto" :
137+ if args .model == AUTO_MODEL :
134138 args .model = guess_model (stt_library , args .language , is_arm )
135139 _LOGGER .debug ("Model automatically selected: %s" , args .model )
136140
@@ -147,8 +151,8 @@ async def main() -> None:
147151 model_name = f"{ model_size } -int8"
148152 args .model = f"rhasspy/faster-whisper-{ model_name } "
149153
150- if args .language == "auto" :
151- # Whisper does not understand " auto"
154+ if args .language == AUTO_LANGUAGE :
155+ # Whisper does not understand auto
152156 args .language = None
153157
154158 wyoming_info = Info (
0 commit comments