Sasha commited on
Commit
d0dc16f
·
1 Parent(s): 11fc358

fix: adjust Whisper parameters to disable temperature fallback and prevent hallucinations on silence/noise

Browse files
local_worker/vod_backfiller.py CHANGED
@@ -256,6 +256,9 @@ def transcribe_vod_audio(vod_id, start_time_iso, model, start_offset=0, end_offs
256
  audio_np,
257
  beam_size=5,
258
  language="ru",
 
 
 
259
  vad_filter=True,
260
  vad_parameters=dict(min_silence_duration_ms=500)
261
  )
 
256
  audio_np,
257
  beam_size=5,
258
  language="ru",
259
+ temperature=0.0,
260
+ log_prob_threshold=-0.8,
261
+ no_speech_threshold=0.6,
262
  vad_filter=True,
263
  vad_parameters=dict(min_silence_duration_ms=500)
264
  )
local_worker/worker.py CHANGED
@@ -239,6 +239,9 @@ def transcribe_audio_segment(model, pcm_bytes):
239
  audio_np,
240
  beam_size=5,
241
  language="ru",
 
 
 
242
  vad_filter=True, # Voice Activity Detection filters out silence
243
  vad_parameters=dict(min_silence_duration_ms=500)
244
  )
@@ -507,9 +510,17 @@ def run_microphone_capture(model):
507
  # sounddevice records float32 directly, no need for raw conversion
508
  audio_np = recording.flatten()
509
 
510
- # Transcribe and send words
511
  def process_mic(audio=audio_np):
512
- segments, info = model.transcribe(audio, beam_size=5, language="ru")
 
 
 
 
 
 
 
 
 
513
  words_list = []
514
  for segment in segments:
515
  text = segment.text.strip()
 
239
  audio_np,
240
  beam_size=5,
241
  language="ru",
242
+ temperature=0.0,
243
+ log_prob_threshold=-0.8,
244
+ no_speech_threshold=0.6,
245
  vad_filter=True, # Voice Activity Detection filters out silence
246
  vad_parameters=dict(min_silence_duration_ms=500)
247
  )
 
510
  # sounddevice records float32 directly, no need for raw conversion
511
  audio_np = recording.flatten()
512
 
 
513
  def process_mic(audio=audio_np):
514
+ segments, info = model.transcribe(
515
+ audio,
516
+ beam_size=5,
517
+ language="ru",
518
+ temperature=0.0,
519
+ log_prob_threshold=-0.8,
520
+ no_speech_threshold=0.6,
521
+ vad_filter=True,
522
+ vad_parameters=dict(min_silence_duration_ms=500)
523
+ )
524
  words_list = []
525
  for segment in segments:
526
  text = segment.text.strip()