Synthetics commited on
Commit
797c88d
·
1 Parent(s): d0e0e18

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +55 -0
app.py ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from pydub import AudioSegment
3
+ import os
4
+
5
+ def processar_audio(trilha, faixa2, volume_trilha):
6
+ trilha = AudioSegment.from_file(trilha.name)
7
+ faixa2 = AudioSegment.from_file(faixa2.name)
8
+
9
+ # Adicionar um segundo de silêncio no início da faixa2
10
+ faixa2 = AudioSegment.silent(duration=1000) + faixa2
11
+
12
+ # Adicionar um segundo de atraso no final da trilha
13
+ trilha = trilha + AudioSegment.silent(duration=2000)
14
+
15
+ # Ajustar o volume da trilha
16
+ trilha_com_volume = trilha - volume_trilha
17
+
18
+ # Obter a duração total das faixas
19
+ duracao_total = max(len(trilha_com_volume), len(faixa2))
20
+
21
+ print(f'Duração total: {duracao_total}')
22
+
23
+ # Ajustar o tamanho das faixas para a duração total
24
+ trilha_com_volume = trilha_com_volume[:duracao_total]
25
+ faixa2 = faixa2[:duracao_total]
26
+
27
+ # Sobrepor as duas faixas
28
+ trilha_mesclada = trilha_com_volume.overlay(faixa2, position=0)
29
+
30
+ # Determinar o ponto de corte (após o final da faixa 2)
31
+ ponto_de_corte = len(faixa2)
32
+
33
+ print(f'Ponto de corte: {ponto_de_corte}')
34
+
35
+ # Cortar a trilha após o ponto de corte
36
+ trilha_cortada = trilha_mesclada[:ponto_de_corte]
37
+
38
+ # Exportar o resultado
39
+ resultado_path = "resultado.mp3"
40
+ trilha_cortada.export(resultado_path, format="mp3")
41
+
42
+ return resultado_path
43
+
44
+ iface = gr.Interface(
45
+ fn=processar_audio,
46
+ inputs=[
47
+ gr.File(label="Trilha"),
48
+ gr.File(label="Faixa de Narração"),
49
+ gr.Slider(0, 100, label="Volume da Trilha")
50
+ ],
51
+ outputs=gr.Textbox(label="Caminho do Resultado")
52
+ )
53
+
54
+ if __name__ == "__main__":
55
+ iface.launch()