LivanArzuaga's picture
Upload 2 files
e539326 verified
Raw
History Blame Contribute Delete
2.59 kB
import os
import streamlit as st
from utils_hf import download_youtube_audio, diarize_full_audio, process_transcripts, summarize_speaker_transcripts, transcribir_segmentos
st.title("Transcripci贸n y Diarizaci贸n de YouTube")
url = st.text_input("URL de YouTube:")
if st.button("Transcribir y Diarizar"):
if url:
progress_bar = st.progress(0)
with st.spinner("Descargando ..."):
try:
audio_path = download_youtube_audio(url, progress_bar)
if os.path.exists(audio_path):
st.success("Video descargado con 茅xito.")
else:
st.error(f"Error al descargar el video de YouTube:")
st.stop()
except Exception as e:
st.error(f"Error al procesar el video de YouTube: {e}")
st.stop()
with st.spinner("Realizando diarizaci贸n..."):
try:
diarization_segments, diarization_text, speakers = diarize_full_audio(audio_path)
if diarization_text:
st.text_area("Diarizaci贸n", diarization_text, height=200)
st.success(f"Diarizaci贸n completada. N煤mero de hablantes detectados: {len(speakers)}")
else:
st.error("No se pudo realizar la diarizaci贸n.")
except Exception as e:
st.error(f"Error al realizar la diarizaci贸n: {e}")
with st.spinner("Transcribiendo segmentos de audio..."):
try:
trancription_text = transcribir_segmentos(diarization_segments, audio_path)
st.success("Transcripci贸n completada.")
st.text_area("Diarizaci贸n y Transcripci贸n:", trancription_text)
st.success("Diarizaci贸n y transcripci贸n guardadas en diarization_transcription.txt")
except Exception as e:
st.error(f"Error al transcribir los segmentos de audio: {e}")
with st.spinner("Resumiendo hablantes..."):
try:
speaker_transcripts = process_transcripts(trancription_text, speakers)
summaries = summarize_speaker_transcripts(speaker_transcripts)
for speaker, summary in summaries.items():
st.text_area(f"Resumen del Hablante {speaker}", summary, height=200)
except Exception as e:
st.error(f"Error al resumir por hablante: {e}")
else:
st.warning("Por favor, ingresa una URL de YouTube.")