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()