File size: 1,494 Bytes
c5219f4
 
1b06801
c5219f4
1b06801
c5219f4
 
 
 
 
 
 
3cc0c1a
 
c5219f4
3cc0c1a
1b06801
c5219f4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1b06801
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import gradio as gr
import speech_recognition as sr
from deep_translator import GoogleTranslator

# Inicializa o reconhecedor de fala
recognizer = sr.Recognizer()

# Função para transcrever e traduzir o áudio
def transcrever_e_traduzir(audio_file):
    with sr.AudioFile(audio_file) as source:
        audio = recognizer.record(source)  # Lê todo o áudio
        try:
            # Tenta transcrever o áudio para texto usando pocketsphinx (reconhecimento offline)
            text_en = recognizer.recognize_sphinx(audio)  # Modificado para pocketsphinx
            
            # Se a transcrição for bem-sucedida, traduz
            translated_text = GoogleTranslator(source='en', target='pt').translate(text_en)
            
            return f"Texto original (Inglês): {text_en}\n\nTexto traduzido (Português): {translated_text}"
        
        except sr.UnknownValueError:
            return "A transcrição não pôde ser compreendida."
        except sr.RequestError as e:
            return f"Erro ao acessar o serviço de reconhecimento de fala: {e}"

# Cria a interface com Gradio
interface = gr.Interface(
    fn=transcrever_e_traduzir,
    inputs=gr.Audio(type="filepath"),  # Input de áudio via upload
    outputs="text",  # Saída em formato de texto
    title="Transcrição e Tradução de Áudio",
    description="Faça upload de um arquivo de áudio em inglês e receba a transcrição e tradução para português."
)

# Executa a interface
interface.launch()