fix --direct-english-translation not setting task=translate for localagreement backends
the flag was only used for tokenizer language selection but never actually passed to whisper/faster-whisper transcribe calls. also init OpenaiApiASR.task and read from transcribe_kargs. fixes #306
This commit is contained in:
parent
aded1649ae
commit
8923337380
2 changed files with 6 additions and 3 deletions
|
|
@ -249,6 +249,7 @@ class OpenaiApiASR(ASRBase):
|
||||||
self.load_model()
|
self.load_model()
|
||||||
self.use_vad_opt = False
|
self.use_vad_opt = False
|
||||||
self.direct_english_translation = False
|
self.direct_english_translation = False
|
||||||
|
self.task = "transcribe"
|
||||||
|
|
||||||
def load_model(self, *args, **kwargs):
|
def load_model(self, *args, **kwargs):
|
||||||
from openai import OpenAI
|
from openai import OpenAI
|
||||||
|
|
@ -294,7 +295,8 @@ class OpenaiApiASR(ASRBase):
|
||||||
params["language"] = self.original_language
|
params["language"] = self.original_language
|
||||||
if prompt:
|
if prompt:
|
||||||
params["prompt"] = prompt
|
params["prompt"] = prompt
|
||||||
proc = self.client.audio.translations if self.task == "translate" else self.client.audio.transcriptions
|
task = self.transcribe_kargs.get("task", self.task)
|
||||||
|
proc = self.client.audio.translations if task == "translate" else self.client.audio.transcriptions
|
||||||
transcript = proc.create(**params)
|
transcript = proc.create(**params)
|
||||||
logger.debug(f"OpenAI API processed accumulated {self.transcribed_seconds} seconds")
|
logger.debug(f"OpenAI API processed accumulated {self.transcribed_seconds} seconds")
|
||||||
return transcript
|
return transcript
|
||||||
|
|
|
||||||
|
|
@ -146,6 +146,7 @@ def backend_factory(
|
||||||
|
|
||||||
if direct_english_translation:
|
if direct_english_translation:
|
||||||
tgt_language = "en" # Whisper translates into English
|
tgt_language = "en" # Whisper translates into English
|
||||||
|
asr.transcribe_kargs["task"] = "translate"
|
||||||
else:
|
else:
|
||||||
tgt_language = lan # Whisper transcribes in this language
|
tgt_language = lan # Whisper transcribes in this language
|
||||||
|
|
||||||
|
|
@ -154,9 +155,9 @@ def backend_factory(
|
||||||
tokenizer = create_tokenizer(tgt_language)
|
tokenizer = create_tokenizer(tgt_language)
|
||||||
else:
|
else:
|
||||||
tokenizer = None
|
tokenizer = None
|
||||||
|
|
||||||
warmup_asr(asr, warmup_file)
|
warmup_asr(asr, warmup_file)
|
||||||
|
|
||||||
asr.confidence_validation = confidence_validation
|
asr.confidence_validation = confidence_validation
|
||||||
asr.tokenizer = tokenizer
|
asr.tokenizer = tokenizer
|
||||||
asr.buffer_trimming = buffer_trimming
|
asr.buffer_trimming = buffer_trimming
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue