Javitron4257 commited on
Commit
c288a27
verified
1 Parent(s): 9082574

This is the version 1.0 of app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -0
app.py ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from transformers import AutoProcessor, BarkModel # Para poder seleccionar voz de hombre o de mujer y poder seleccionar el idioma
2
+ import gradio as gr
3
+
4
+ model_name="suno/bark-small"
5
+
6
+ processor = AutoProcessor.from_pretrained(model_name)
7
+ model = BarkModel.from_pretrained(model_name)
8
+
9
+ # Selecci贸n de voz - Valores: https://suno-ai.notion.site/8b8e8749ed514b0cbf3f699013548683
10
+ voice_preset = "v2/es_speaker_0"
11
+
12
+ def tts(frase):
13
+ # Obtenemos el procesador
14
+ inputs = processor(frase, voice_preset=voice_preset) # la frase de entrada se procesa usando la voz seleccionada
15
+
16
+ # Realiza la inferencia a partir de procesador y el modelo
17
+ audio_array = model.generate(**inputs, pad_token_id=100) # El modelo genera el audio a partir de los inputs procesados. Pad_token es el relleno que sirve para cuando trabajamos con secuencias de texto de diferentes longitudes y transformarlas para que todas tengan la misma longitud y poder procesarlas en lotes. Pad_token_id=100 especifica el identificador del token de relleno
18
+ audio_array = audio_array.cpu().numpy().squeeze() # El array del audio se castea a un array de numpy
19
+
20
+ sample_rate = model.generation_config.sample_rate # Obtenemos la tasa de muestreo
21
+
22
+ return sample_rate,audio_array
23
+
24
+ demo = gr.Interface(
25
+ tts,
26
+ inputs=gr.Text(label="Teclea el texto a pronunciar"), # Entrada campo de texto
27
+ outputs=gr.Audio(label="audio generado"), # Salida audio
28
+ title="De texto a voz",
29
+ )
30
+
31
+ demo.launch()