Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,22 +1,19 @@
|
|
| 1 |
import os
|
| 2 |
-
import moviepy as mp
|
| 3 |
from pydub import AudioSegment
|
| 4 |
from pydub.effects import normalize
|
| 5 |
from scipy.io.wavfile import read, write
|
| 6 |
import noisereduce as nr
|
| 7 |
import numpy as np
|
| 8 |
import gradio as gr
|
| 9 |
-
import sys
|
| 10 |
-
|
| 11 |
-
try:
|
| 12 |
-
import moviepy.editor as mp
|
| 13 |
-
print("moviepy importado con 茅xito.")
|
| 14 |
-
except ModuleNotFoundError:
|
| 15 |
-
print("moviepy no se puede importar.")
|
| 16 |
-
|
| 17 |
|
| 18 |
# --- FUNCIONES PARA EL PROCESAMIENTO DE AUDIO ---
|
| 19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
def extract_audio(video_path, output_audio_path):
|
| 21 |
"""Extrae el audio de un video y lo guarda como un archivo de audio."""
|
| 22 |
video = mp.VideoFileClip(video_path)
|
|
@@ -98,15 +95,31 @@ def audio_processing_interface(video_file=None, audio_file=None):
|
|
| 98 |
return output_audio_path
|
| 99 |
|
| 100 |
|
| 101 |
-
# Interfaz Gradio
|
| 102 |
iface = gr.Interface(
|
| 103 |
fn=audio_processing_interface,
|
| 104 |
inputs=[
|
| 105 |
-
gr.File(
|
| 106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 107 |
],
|
| 108 |
outputs=gr.File(label="Archivo Procesado"),
|
| 109 |
-
live=False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
)
|
| 111 |
|
| 112 |
-
iface.launch()
|
|
|
|
| 1 |
import os
|
| 2 |
+
import moviepy.editor as mp
|
| 3 |
from pydub import AudioSegment
|
| 4 |
from pydub.effects import normalize
|
| 5 |
from scipy.io.wavfile import read, write
|
| 6 |
import noisereduce as nr
|
| 7 |
import numpy as np
|
| 8 |
import gradio as gr
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
|
| 10 |
# --- FUNCIONES PARA EL PROCESAMIENTO DE AUDIO ---
|
| 11 |
|
| 12 |
+
def convert_audio_to_wav(input_file_path, wav_file_path):
|
| 13 |
+
"""Convierte cualquier archivo de audio a WAV usando pydub."""
|
| 14 |
+
audio = AudioSegment.from_file(input_file_path) # Cargar el archivo de audio
|
| 15 |
+
audio.export(wav_file_path, format="wav") # Exportar como WAV
|
| 16 |
+
|
| 17 |
def extract_audio(video_path, output_audio_path):
|
| 18 |
"""Extrae el audio de un video y lo guarda como un archivo de audio."""
|
| 19 |
video = mp.VideoFileClip(video_path)
|
|
|
|
| 95 |
return output_audio_path
|
| 96 |
|
| 97 |
|
| 98 |
+
# Interfaz Gradio Mejorada
|
| 99 |
iface = gr.Interface(
|
| 100 |
fn=audio_processing_interface,
|
| 101 |
inputs=[
|
| 102 |
+
gr.File(
|
| 103 |
+
label="Sube un video (para procesar su audio)",
|
| 104 |
+
type="filepath",
|
| 105 |
+
file_count="single",
|
| 106 |
+
file_types=[".mp4", ".avi", ".mov", ".mkv"],
|
| 107 |
+
),
|
| 108 |
+
gr.File(
|
| 109 |
+
label="O sube un archivo de audio",
|
| 110 |
+
type="filepath",
|
| 111 |
+
file_count="single",
|
| 112 |
+
file_types=[".mp3", ".wav", ".ogg", ".flac", ".aac"],
|
| 113 |
+
),
|
| 114 |
],
|
| 115 |
outputs=gr.File(label="Archivo Procesado"),
|
| 116 |
+
live=False,
|
| 117 |
+
layout="vertical", # Mejor disposici贸n vertical
|
| 118 |
+
title="Procesador de Audio y Video",
|
| 119 |
+
description="Sube un archivo de video o audio para procesarlo. El audio ser谩 mejorado (reducci贸n de ruido, normalizaci贸n) y, si es video, se reemplazar谩 el audio del video.",
|
| 120 |
+
theme="compact", # Tema m谩s minimalista
|
| 121 |
+
allow_flagging="never", # Deshabilitar las banderas
|
| 122 |
+
allow_screenshot=False, # Deshabilitar las capturas de pantalla
|
| 123 |
)
|
| 124 |
|
| 125 |
+
iface.launch(share=True)
|