DRDELATV commited on
Commit
923bfec
·
verified ·
1 Parent(s): 70e5c60

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. src/app_kuchiyuya.py +15 -9
src/app_kuchiyuya.py CHANGED
@@ -1,12 +1,11 @@
1
  import gradio as gr
2
  import csv
3
  import os
4
- import difflib
5
  from pydub import AudioSegment
6
  from pydub.playback import play
 
7
 
8
  DATASET = "dataset.csv"
9
- AUDIO_DIR = "voces"
10
 
11
  def cargar_dataset():
12
  with open(DATASET, newline='', encoding='utf-8') as f:
@@ -17,13 +16,20 @@ dataset = cargar_dataset()
17
 
18
  def buscar_audio(texto):
19
  texto = texto.lower().strip()
20
- coincidencias = difflib.get_close_matches(texto, [d["text"] for d in dataset], n=1, cutoff=0.6)
21
- if not coincidencias:
 
 
 
22
  return None, "❌ No encontré coincidencias en tus clips grabados."
23
- for d in dataset:
24
- if d["text"] == coincidencias[0]:
25
- return d["path"], f"🎧 Clip encontrado: {d['path']}"
26
- return None, "⚠️ Algo falló en la búsqueda."
 
 
 
 
27
 
28
  def demo_func(texto):
29
  ruta, mensaje = buscar_audio(texto)
@@ -38,4 +44,4 @@ demo = gr.Interface(
38
  )
39
 
40
  if __name__ == "__main__":
41
- demo.launch(share=True)
 
1
  import gradio as gr
2
  import csv
3
  import os
 
4
  from pydub import AudioSegment
5
  from pydub.playback import play
6
+ from rapidfuzz import process
7
 
8
  DATASET = "dataset.csv"
 
9
 
10
  def cargar_dataset():
11
  with open(DATASET, newline='', encoding='utf-8') as f:
 
16
 
17
  def buscar_audio(texto):
18
  texto = texto.lower().strip()
19
+ frases = [d["text"] for d in dataset]
20
+
21
+ match = process.extractOne(texto, frases, score_cutoff=30)
22
+
23
+ if not match:
24
  return None, "❌ No encontré coincidencias en tus clips grabados."
25
+
26
+ mejor_texto = match[0]
27
+ ruta = next((d["path"] for d in dataset if d["text"] == mejor_texto), None)
28
+
29
+ if ruta and os.path.exists(ruta):
30
+ return ruta, f"🎧 Clip encontrado: {ruta}"
31
+ else:
32
+ return None, "⚠️ Algo falló encontrando el archivo de audio."
33
 
34
  def demo_func(texto):
35
  ruta, mensaje = buscar_audio(texto)
 
44
  )
45
 
46
  if __name__ == "__main__":
47
+ demo.launch()