Spaces:
Runtime error
Runtime error
| 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() | |