RaiSantos commited on
Commit
91b9b44
·
verified ·
1 Parent(s): f75f9ce

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +68 -17
app.py CHANGED
@@ -209,8 +209,12 @@ def processar_audio(audio_file, modelo_selecionado, progress=gr.Progress()):
209
  if audio_file is None:
210
  return None, "❌ Faça upload do áudio da VSL."
211
 
212
- if modelo_selecionado not in MODEL_CONFIGS:
213
- return None, " Modelo inválido selecionado."
 
 
 
 
214
 
215
  config = MODEL_CONFIGS[modelo_selecionado]
216
  start_time = time.time()
@@ -442,7 +446,12 @@ def criar_interface():
442
  modelo_opcoes.append(label)
443
 
444
  modelo_selecionado = gr.Dropdown(
445
- choices=list(zip(modelo_valores, modelo_opcoes)),
 
 
 
 
 
446
  value="large-v3",
447
  label="🚀 Escolha o Modelo WhisperX",
448
  info="Large-v3 recomendado para VSL profissional",
@@ -482,7 +491,7 @@ Melhor modelo disponível - ideal para VSL profissional
482
 
483
  with gr.Column(scale=1):
484
  gr.Markdown("### 📊 Status & Progresso")
485
- status_output = gr.Markdown("🟡 Selecione o modelo e faça upload da VSL...")
486
 
487
  gr.Markdown("### 💾 Download")
488
  file_output = gr.File(
@@ -495,21 +504,53 @@ Melhor modelo disponível - ideal para VSL profissional
495
 
496
  # Atualizar info do modelo
497
  def atualizar_info_modelo(modelo):
498
- try:
499
- if modelo in MODEL_CONFIGS:
500
- config = MODEL_CONFIGS[modelo]
501
- return f"""
502
- **{config['display_name']}**
503
- {config['description']}
 
 
 
504
 
505
  📊 **Configurações:**
506
- - Score mínimo: {config['score_minimo']}
507
- - Batch size: {config['batch_size']}
508
- - Beam size: {config['beam_size']}
509
- """
510
- return "Selecione um modelo"
511
- except:
512
- return "Carregando informações do modelo..."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
513
 
514
  modelo_selecionado.change(
515
  fn=atualizar_info_modelo,
@@ -517,6 +558,16 @@ Melhor modelo disponível - ideal para VSL profissional
517
  outputs=[modelo_info]
518
  )
519
 
 
 
 
 
 
 
 
 
 
 
520
  # Eventos
521
  init_btn.click(
522
  fn=inicializar_modelos,
 
209
  if audio_file is None:
210
  return None, "❌ Faça upload do áudio da VSL."
211
 
212
+ # Debug do modelo selecionado
213
+ print(f"DEBUG: Modelo recebido: '{modelo_selecionado}'")
214
+ print(f"DEBUG: Modelos disponíveis: {list(MODEL_CONFIGS.keys())}")
215
+
216
+ if not modelo_selecionado or modelo_selecionado not in MODEL_CONFIGS:
217
+ return None, f"❌ Modelo inválido: '{modelo_selecionado}'. Modelos disponíveis: {list(MODEL_CONFIGS.keys())}"
218
 
219
  config = MODEL_CONFIGS[modelo_selecionado]
220
  start_time = time.time()
 
446
  modelo_opcoes.append(label)
447
 
448
  modelo_selecionado = gr.Dropdown(
449
+ choices=[
450
+ ("large-v3", "🚀 Large-v3 (Máxima Precisão) ⭐"),
451
+ ("large-v2", "⚡ Large-v2 (Alta Precisão)"),
452
+ ("medium", "🏃 Medium (Rápido)"),
453
+ ("turbo", "⚡ Turbo (Ultra Rápido)")
454
+ ],
455
  value="large-v3",
456
  label="🚀 Escolha o Modelo WhisperX",
457
  info="Large-v3 recomendado para VSL profissional",
 
491
 
492
  with gr.Column(scale=1):
493
  gr.Markdown("### 📊 Status & Progresso")
494
+ status_output = gr.Markdown("🟡 **Status:** Pronto para transcrição!\n\n📝 **Instruções:**\n1. Escolha o modelo (Large-v3 recomendado)\n2. Faça upload da VSL (máx. 15min)\n3. Clique em 'Transcrever VSL'")
495
 
496
  gr.Markdown("### 💾 Download")
497
  file_output = gr.File(
 
504
 
505
  # Atualizar info do modelo
506
  def atualizar_info_modelo(modelo):
507
+ print(f"DEBUG: Atualizando info para modelo: '{modelo}'")
508
+
509
+ if not modelo:
510
+ return "⚠️ Nenhum modelo selecionado"
511
+
512
+ if modelo == "large-v3":
513
+ return """
514
+ **🚀 Large-v3 (Máxima Precisão) ⭐**
515
+ Melhor modelo disponível - ideal para VSL profissional
516
 
517
  📊 **Configurações:**
518
+ - Score mínimo: 0.25
519
+ - Batch size: 4
520
+ - Beam size: 5
521
+ """
522
+ elif modelo == "large-v2":
523
+ return """
524
+ **⚡ Large-v2 (Alta Precisão)**
525
+ Excelente qualidade com boa velocidade
526
+
527
+ 📊 **Configurações:**
528
+ - Score mínimo: 0.3
529
+ - Batch size: 6
530
+ - Beam size: 5
531
+ """
532
+ elif modelo == "medium":
533
+ return """
534
+ **🏃 Medium (Rápido)**
535
+ Boa qualidade, processamento mais rápido
536
+
537
+ 📊 **Configurações:**
538
+ - Score mínimo: 0.35
539
+ - Batch size: 8
540
+ - Beam size: 3
541
+ """
542
+ elif modelo == "turbo":
543
+ return """
544
+ **⚡ Turbo (Ultra Rápido)**
545
+ Processamento mais rápido para testes
546
+
547
+ 📊 **Configurações:**
548
+ - Score mínimo: 0.4
549
+ - Batch size: 12
550
+ - Beam size: 1
551
+ """
552
+ else:
553
+ return f"⚠️ Modelo desconhecido: {modelo}"
554
 
555
  modelo_selecionado.change(
556
  fn=atualizar_info_modelo,
 
558
  outputs=[modelo_info]
559
  )
560
 
561
+ # Debug: também vamos mostrar o modelo selecionado no status
562
+ def debug_modelo_selecionado(modelo):
563
+ return f"🔧 **Modelo selecionado:** {modelo}\n\n✅ Pronto para carregar modelo ou transcrever!"
564
+
565
+ modelo_selecionado.change(
566
+ fn=debug_modelo_selecionado,
567
+ inputs=[modelo_selecionado],
568
+ outputs=[status_output]
569
+ )
570
+
571
  # Eventos
572
  init_btn.click(
573
  fn=inicializar_modelos,