Fedir Zadniprovskyi 2024-10-01
misc: add `vad_filter` form field
@b4b94fdf1f30a7e1bd6d3816db2915f7cee52a82
src/faster_whisper_server/routers/stt.py
--- src/faster_whisper_server/routers/stt.py
+++ src/faster_whisper_server/routers/stt.py
@@ -136,6 +136,7 @@
     response_format: Annotated[ResponseFormat | None, Form()] = None,
     temperature: Annotated[float, Form()] = 0.0,
     stream: Annotated[bool, Form()] = False,
+    vad_filter: Annotated[bool, Form()] = False,
 ) -> Response | StreamingResponse:
     if model is None:
         model = config.whisper.model
@@ -147,7 +148,7 @@
         task=Task.TRANSLATE,
         initial_prompt=prompt,
         temperature=temperature,
-        vad_filter=True,
+        vad_filter=vad_filter,
     )
     segments = TranscriptionSegment.from_faster_whisper_segments(segments)
 
@@ -192,6 +193,7 @@
     ] = ["segment"],
     stream: Annotated[bool, Form()] = False,
     hotwords: Annotated[str | None, Form()] = None,
+    vad_filter: Annotated[bool, Form()] = False,
 ) -> Response | StreamingResponse:
     if model is None:
         model = config.whisper.model
@@ -212,7 +214,7 @@
         initial_prompt=prompt,
         word_timestamps="word" in timestamp_granularities,
         temperature=temperature,
-        vad_filter=True,
+        vad_filter=vad_filter,
         hotwords=hotwords,
     )
     segments = TranscriptionSegment.from_faster_whisper_segments(segments)
@@ -263,6 +265,7 @@
     language: Annotated[Language | None, Query()] = None,
     response_format: Annotated[ResponseFormat | None, Query()] = None,
     temperature: Annotated[float, Query()] = 0.0,
+    vad_filter: Annotated[bool, Query()] = False,
 ) -> None:
     if model is None:
         model = config.whisper.model
@@ -274,7 +277,7 @@
     transcribe_opts = {
         "language": language,
         "temperature": temperature,
-        "vad_filter": True,
+        "vad_filter": vad_filter,
         "condition_on_previous_text": False,
     }
     whisper = model_manager.load_model(model)
Add a comment
List