Spaces:
Runtime error
Runtime error
File size: 1,713 Bytes
797c88d 94a8d6e 797c88d 94a8d6e 797c88d 417bff0 a210a37 417bff0 a210a37 417bff0 797c88d 417bff0 797c88d 94a8d6e 797c88d 417bff0 797c88d a9a6044 797c88d 94a8d6e 797c88d 94a8d6e 78f0409 94a8d6e a9a6044 797c88d | 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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | import gradio as gr
from pydub import AudioSegment
import os
def processar_audio(trilha, faixa2, volume_trilha):
trilha = AudioSegment.from_file(trilha.name)
faixa2 = AudioSegment.from_file(faixa2.name)
# Adicionar um segundo de silêncio no início da faixa2
faixa2 = AudioSegment.silent(duration=1000) + faixa2
# Adicionar um segundo de atraso no final da trilha
trilha = trilha + AudioSegment.silent(duration=2000)
# Ajustar o volume da trilha
trilha_com_volume = trilha - volume_trilha
# Obter a duração total das faixas
duracao_total = max(len(trilha_com_volume), len(faixa2))
print(f'Duração total: {duracao_total}')
# Ajustar o tamanho das faixas para a duração total
trilha_com_volume = trilha_com_volume[:duracao_total]
faixa2 = faixa2[:duracao_total]
# Sobrepor as duas faixas
trilha_mesclada = trilha_com_volume.overlay(faixa2, position=0)
# Determinar o ponto de corte (após o final da faixa 2)
ponto_de_corte = len(faixa2)
print(f'Ponto de corte: {ponto_de_corte}')
# Cortar a trilha após o ponto de corte
trilha_cortada = trilha_mesclada[:ponto_de_corte]
# Exportar o resultado
resultado_path = "resultado.mp3"
trilha_cortada.export(resultado_path, format="mp3")
# Adicionar reprodução do áudio no Gradio
resultado_audio = gr.Audio(resultado_path)
return resultado_audio
iface = gr.Interface(
fn=processar_audio,
inputs=[
gr.File(label="Trilha"),
gr.File(label="Faixa de Narração"),
gr.Slider(0, 100, 27, label="Volume da Trilha")
],
outputs=gr.Audio(label="Resultado")
)
if __name__ == "__main__":
iface.launch()
|