Verificación e Integración de whisper.cpp
Objetivo
Verificar la instalación de whisper.cpp y optimizar el sistema de transcripción actual reemplazando OpenAI Whisper con whisper.cpp para mejor rendimiento.
Estado Actual
El proyecto utiliza OpenAI Whisper en agents/processing_agent.py con las siguientes características:
- Modelo base de Whisper
- Transcripción con parámetros optimizados
- Soporte multiidioma (español/inglés)
- Detección automática de idioma
Tareas de Verificación
1. Verificar Instalación de whisper.cpp
Crear script para verificar si whisper.cpp está correctamente instalado:
# Verificar binario principal
which whisper
whisper --help
# Verificar modelos disponibles
ls ~/.cache/whisper/ || ls /usr/local/share/whisper/
# Probar transcripción básica
whisper test_audio.wav --language es --output_format txt
2. Script de Verificación Python
import subprocess
import os
from pathlib import Path
def verify_whisper_cpp():
try:
# Verificar comando whisper
result = subprocess.run(['whisper', '--help'],
capture_output=True, text=True)
if result.returncode == 0:
print("✅ whisper.cpp instalado correctamente")
return True
except FileNotFoundError:
print("❌ whisper.cpp no encontrado en PATH")
return False
3. Migración del ProcessingAgent
Modificaciones Propuestas:
- Mantener compatibilidad con OpenAI Whisper como fallback
- Implementar wrapper para whisper.cpp
- Optimizar parámetros para mejor rendimiento
- Añadir soporte para transcripción en tiempo real
Nuevos Parámetros:
class WhisperCppProcessor:
def __init__(self):
self.whisper_binary = "whisper"
self.model_path = "~/.cache/whisper/"
self.temp_dir = "temp_audio/"
def transcribe_with_cpp(self, audio_file, language="es"):
cmd = [
self.whisper_binary,
str(audio_file),
"--language", language,
"--output_format", "json",
"--model", "base",
"--threads", "4",
"--processors", "1"
]
# Ejecutar y procesar resultado
4. Optimizaciones Adicionales
Transcripción en Tiempo Real:
- Implementar streaming con chunks de audio
- Procesamiento por segmentos de 30 segundos
- Buffer circular para audio continuo
Mejoras de Rendimiento:
- Usar modelos cuantizados (q4_0, q5_0)
- Optimizar threads según CPU disponible
- Implementar caché de modelos
5. Pruebas de Verificación
Test de Instalación:
def test_whisper_cpp_installation():
# 1. Verificar binario
# 2. Verificar modelos
# 3. Transcripción de prueba
# 4. Comparar rendimiento vs OpenAI Whisper
Test de Rendimiento:
- Medir tiempo de transcripción
- Comparar calidad de transcripción
- Verificar uso de CPU/memoria
Archivos a Modificar
agents/processing_agent.py - Integrar whisper.cpp
test_whisper_cpp.py - Nuevo script de verificación
config/audio_settings.yaml - Añadir configuración whisper.cpp
requirements.txt - Documentar dependencias
Configuración Recomendada
whisper_cpp_settings:
binary_path: "whisper"
model_size: "base"
threads: 4
language_detection: true
real_time_processing: false
quantization: "q4_0"
fallback_to_openai: true
Criterios de Éxito
Verificación e Integración de whisper.cpp
Objetivo
Verificar la instalación de whisper.cpp y optimizar el sistema de transcripción actual reemplazando OpenAI Whisper con whisper.cpp para mejor rendimiento.
Estado Actual
El proyecto utiliza OpenAI Whisper en
agents/processing_agent.pycon las siguientes características:Tareas de Verificación
1. Verificar Instalación de whisper.cpp
Crear script para verificar si whisper.cpp está correctamente instalado:
2. Script de Verificación Python
3. Migración del ProcessingAgent
Modificaciones Propuestas:
Nuevos Parámetros:
4. Optimizaciones Adicionales
Transcripción en Tiempo Real:
Mejoras de Rendimiento:
5. Pruebas de Verificación
Test de Instalación:
Test de Rendimiento:
Archivos a Modificar
agents/processing_agent.py- Integrar whisper.cpptest_whisper_cpp.py- Nuevo script de verificaciónconfig/audio_settings.yaml- Añadir configuración whisper.cpprequirements.txt- Documentar dependenciasConfiguración Recomendada
Criterios de Éxito