NouFuS's picture
Update app.py
11ee87b verified
raw
history blame
1.55 kB
import gradio as gr
from transformers import pipeline
import torch
import numpy as np
device = "cuda:0" if torch.cuda.is_available() else "cpu"
device = 'cpu'
print("Device:", device)
pipe_translate = pipeline("translation", model="Helsinki-NLP/opus-mt-fr-en", device=device)
pipe_tts = pipeline("text-to-speech", model="facebook/mms-tts-eng", device=device) # Better quality, way faster than bark
def get_translation(text):
return pipe_translate(text)[0]["translation_text"]
def get_audio(text):
speech = pipe_tts(text)
return speech["sampling_rate"], (speech["audio"]* 32767).astype(np.int16).T
with gr.Blocks() as demo:
input_text = gr.Textbox(
label="Input text",
info="Your text",
lines=3,
placeholder="Écrire le texte à traduire",
)
translation_button = gr.Button("Traduire...")
output_text = gr.Textbox(
label="Output text",
info="Your text",
lines=3,
placeholder="Votre traduction",
)
speech_button = gr.Button("Générer audio...")
translation_button.click(
get_translation,
inputs=[
input_text
],
outputs=[
output_text
],
)
speech_button.click(
get_audio,
inputs=[
output_text
],
outputs=[
gr.Audio(label="Output")
],
)
demo.launch()