leo-kwan commited on
Commit
efeef10
1 Parent(s): 052ba4a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -3
app.py CHANGED
@@ -3,13 +3,24 @@ import numpy as np
3
  import torch
4
  from datasets import load_dataset
5
 
6
- from transformers import SpeechT5ForTextToSpeech, SpeechT5HifiGan, SpeechT5Processor, pipeline
7
 
8
 
9
  device = "cuda:0" if torch.cuda.is_available() else "cpu"
10
 
11
  # load speech translation checkpoint
12
- asr_pipe = pipeline("automatic-speech-recognition", model="openai/whisper-base", language = 'french', device=device)
 
 
 
 
 
 
 
 
 
 
 
13
 
14
  # load text-to-speech checkpoint and speaker embeddings
15
  processor = SpeechT5Processor.from_pretrained("leo-kwan/speecht5_finetuned_voxpopuli_lt")
@@ -22,7 +33,7 @@ speaker_embeddings = torch.tensor(embeddings_dataset[7306]["xvector"]).unsqueeze
22
 
23
 
24
  def translate(audio):
25
- outputs = asr_pipe(audio, max_new_tokens=256, generate_kwargs={"task": "translate"})
26
  return outputs["text"]
27
 
28
 
 
3
  import torch
4
  from datasets import load_dataset
5
 
6
+ from transformers import SpeechT5ForTextToSpeech, SpeechT5HifiGan, SpeechT5Processor, WhisperForConditionalGeneration, WhisperFeatureExtractor, WhisperTokenizer, pipeline
7
 
8
 
9
  device = "cuda:0" if torch.cuda.is_available() else "cpu"
10
 
11
  # load speech translation checkpoint
12
+ feature_extractor = WhisperFeatureExtractor.from_pretrained("openai/whisper-base")
13
+ tokenizer = WhisperTokenizer.from_pretrained("openai/whisper-base", language="french", task="automatic-speech-recognition")
14
+
15
+ model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-base")
16
+ forced_decoder_ids = tokenizer.get_decoder_prompt_ids(language="french", task="automatic-speech-recognition")
17
+ asr_pipe = pipeline(
18
+ "automatic-speech-recognition",
19
+ model=model,
20
+ feature_extractor=feature_extractor,
21
+ tokenizer=tokenizer,
22
+ device=device
23
+ )
24
 
25
  # load text-to-speech checkpoint and speaker embeddings
26
  processor = SpeechT5Processor.from_pretrained("leo-kwan/speecht5_finetuned_voxpopuli_lt")
 
33
 
34
 
35
  def translate(audio):
36
+ outputs = asr_pipe(audio, max_new_tokens=256, generate_kwargs={"task": "translate", "forced_decoder_ids": forced_decoder_ids})
37
  return outputs["text"]
38
 
39