Synthetics commited on
Commit
4f96a7d
·
1 Parent(s): 2f412fc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -14
app.py CHANGED
@@ -1,9 +1,20 @@
1
  import gradio as gr
2
  from pydub import AudioSegment
3
  import tempfile
4
- import os
5
 
6
  def processar_audio(trilha, faixa2, volume_trilha, tonalidade_narracao):
 
 
 
 
 
 
 
 
 
 
 
 
7
  trilha = AudioSegment.from_file(trilha.name)
8
  faixa2 = AudioSegment.from_file(faixa2.name)
9
 
@@ -12,15 +23,12 @@ def processar_audio(trilha, faixa2, volume_trilha, tonalidade_narracao):
12
  "frame_rate": int(faixa2.frame_rate * (2 ** (tonalidade_narracao / 12.0)))
13
  })
14
 
15
-
16
  # Ajustar o volume da trilha
17
  trilha_com_volume = trilha - volume_trilha
18
 
19
  # Obter a duração total das faixas
20
  duracao_total = max(len(trilha_com_volume), len(faixa2_tonalidade_ajustada))
21
 
22
- print(f'Duração total: {duracao_total}')
23
-
24
  # Ajustar o tamanho das faixas para a duração total
25
  trilha_com_volume = trilha_com_volume[:duracao_total]
26
  faixa2_tonalidade_ajustada = faixa2_tonalidade_ajustada[:duracao_total]
@@ -31,17 +39,20 @@ def processar_audio(trilha, faixa2, volume_trilha, tonalidade_narracao):
31
  # Determinar o ponto de corte (após o final da faixa 2)
32
  ponto_de_corte = len(faixa2_tonalidade_ajustada)
33
 
34
- print(f'Ponto de corte: {ponto_de_corte}')
35
-
36
  # Cortar a trilha após o ponto de corte
37
  trilha_cortada = trilha_mesclada[:ponto_de_corte]
38
 
39
- # Criar um arquivo temporário para salvar a trilha cortada
40
- _, temp_path = tempfile.mkstemp(suffix=".mp3")
41
- trilha_cortada.export(temp_path, format="mp3")
42
- return temp_path
43
-
44
- interface_css = " "
 
 
 
 
 
45
  .dark {
46
  --body-background-fill: #232735;
47
  --background-fill-secondary: #232735
@@ -60,7 +71,7 @@ body {
60
  .left-align-textbox {
61
  text-align: left;
62
  }
63
-
64
 
65
  iface = gr.Interface(
66
  fn=processar_audio,
@@ -75,4 +86,4 @@ iface = gr.Interface(
75
  )
76
 
77
  if __name__ == "__main__":
78
- iface.launch()
 
1
  import gradio as gr
2
  from pydub import AudioSegment
3
  import tempfile
 
4
 
5
  def processar_audio(trilha, faixa2, volume_trilha, tonalidade_narracao):
6
+ """
7
+ Processa os arquivos de áudio, ajusta tonalidade e volume, mescla e corta.
8
+
9
+ Args:
10
+ - trilha (File): Arquivo de áudio para a trilha principal.
11
+ - faixa2 (File): Arquivo de áudio para a faixa de narração.
12
+ - volume_trilha (int): Valor para ajustar o volume da trilha.
13
+ - tonalidade_narracao (int): Valor para ajustar a tonalidade da narração em semitons.
14
+
15
+ Returns:
16
+ - str: Caminho do arquivo temporário resultante.
17
+ """
18
  trilha = AudioSegment.from_file(trilha.name)
19
  faixa2 = AudioSegment.from_file(faixa2.name)
20
 
 
23
  "frame_rate": int(faixa2.frame_rate * (2 ** (tonalidade_narracao / 12.0)))
24
  })
25
 
 
26
  # Ajustar o volume da trilha
27
  trilha_com_volume = trilha - volume_trilha
28
 
29
  # Obter a duração total das faixas
30
  duracao_total = max(len(trilha_com_volume), len(faixa2_tonalidade_ajustada))
31
 
 
 
32
  # Ajustar o tamanho das faixas para a duração total
33
  trilha_com_volume = trilha_com_volume[:duracao_total]
34
  faixa2_tonalidade_ajustada = faixa2_tonalidade_ajustada[:duracao_total]
 
39
  # Determinar o ponto de corte (após o final da faixa 2)
40
  ponto_de_corte = len(faixa2_tonalidade_ajustada)
41
 
 
 
42
  # Cortar a trilha após o ponto de corte
43
  trilha_cortada = trilha_mesclada[:ponto_de_corte]
44
 
45
+ try:
46
+ # Criar um arquivo temporário para salvar a trilha cortada
47
+ _, temp_path = tempfile.mkstemp(suffix=".mp3")
48
+ trilha_cortada.export(temp_path, format="mp3")
49
+ return temp_path
50
+ finally:
51
+ # Garantir que o arquivo temporário seja excluído
52
+ os.remove(temp_path)
53
+
54
+ # Adicionar o CSS
55
+ interface_css = """
56
  .dark {
57
  --body-background-fill: #232735;
58
  --background-fill-secondary: #232735
 
71
  .left-align-textbox {
72
  text-align: left;
73
  }
74
+ """
75
 
76
  iface = gr.Interface(
77
  fn=processar_audio,
 
86
  )
87
 
88
  if __name__ == "__main__":
89
+ iface.launch()