title: Changelog description: Registro de cambios del proyecto Voice2Machine. ai_context: "Versiones, Historial de Cambios, SemVer" depends_on: [] status: stable
Changelog¶
Todos los cambios notables en este proyecto serán documentados en este archivo.
El formato se basa en Keep a Changelog, y este proyecto se adhiere a Semantic Versioning.
[Unreleased]¶
Added¶
- Motor de Audio Zero-Copy: Nueva implementación de
ZeroCopyAudioRecorderen Rust usando memoria compartida (/dev/shm) para transferencia de audio sin copias. - Detección de Alucinaciones: Filtros heurísticos y parámetros de calidad (
no_speech,compression_ratio) enStreamingTranscriberpara reducir salidas erróneas en Whisper. - Métricas de Rendimiento: Seguimiento de latencia de inferencia en logs para diagnóstico detallado.
Changed¶
- Configuración Whisper Avanzada: Incrementado
beam_sizeybest_ofa 5 para mejorar la calidad de transcripción en el modelo "large-v3-turbo". - Optimización de VAD: Ajustado el umbral por defecto a 0.35 para reducir falsos positivos por ruido ambiental y respiración, preservando mejor las vocales finales del español.
- Gestión de Memoria: Reinicio forzado de la caché de CUDA (
torch.cuda.empty_cache()) al descargar modelos para liberar VRAM de forma efectiva. - Higiene de Código: Refactorización de imports y corrección de errores de linting (
ruff) en toda la base de código del backend.
Planned¶
- Soporte para múltiples idiomas de transcripción simultáneos
- Dashboard web para monitoreo en tiempo real
- Integración con más proveedores LLM
[0.3.0] - 2026-01-23¶
Added¶
- Arquitectura Basada en Features: Reestructuración total hacia módulos autocontenidos en
features/(audio, llm, transcription). - Orquestación mediante Workflows: Introducción de
RecordingWorkflowyLLMWorkflowpara desacoplar la lógica de negocio del antiguo Orchestrator monolítico. - Protocolos Estrictos: Implementación de
typing.Protocolpara todos los servicios internos, permitiendo swapping fácil de proveedores. - API Modular: Estructura de paquetes en
api/con rutas y esquemas separados.
Changed¶
- Eliminación de Orchestrator:
services/orchestrator.pyha sido descompuesto y eliminado. - Refactorización de Infraestructura: La carpeta
infrastructure/ha sido integrada dentro de cadafeaturecorrespondiente. - Core y Domain: Simplificados y movidos a
shared/e interfaces locales.
Removed¶
- Test de Audio Legacy: Eliminación de pruebas obsoletas de la extensión Rust.
- System Monitor: Telemetría de sistema eliminada por simplificación del core.
[0.2.0] - 2025-01-20¶
Added¶
- FastAPI REST API: Nueva API HTTP que reemplaza el sistema IPC basado en Unix Sockets
- WebSocket streaming: Endpoint
/ws/eventspara transcripción provisional en tiempo real - Documentación Swagger: UI interactiva en
/docspara probar endpoints - Orchestrator pattern: Nuevo patrón de coordinación que simplifica el flujo de trabajo
- Rust audio engine: Extensión nativa
v2m_enginepara captura de audio de baja latencia - Sistema de documentación MkDocs: Documentación estructurada con Material theme
Changed¶
- Arquitectura simplificada: De CQRS/CommandBus a Orchestrator pattern más directo
- Comunicación: De Unix Domain Sockets binarios a HTTP REST estándar
- Modelo de estado: Gestión centralizada en
DaemonStatecon lazy initialization - Actualización de README.md con nueva arquitectura
Removed¶
daemon.py: Reemplazado porapi.py(FastAPI)client.py: Ya no necesario, usarcurlo cualquier cliente HTTP- Protocolo IPC binario: Reemplazado por JSON estándar
Fixed¶
- Latencia de arranque: El servidor inicia en ~100ms, modelo carga en background
- Memory leaks en WebSocket connections
[0.1.0] - 2024-03-20¶
Added¶
- Versión inicial del sistema Voice2Machine
- Soporte para transcripción local con Whisper (faster-whisper)
- Integración básica con LLMs (Ollama/Gemini)
- Sistema IPC basado en Unix Domain Sockets
- Arquitectura hexagonal con puertos y adaptadores
- Configuración mediante TOML