Sobre el proyecto

OpenBand es una plataforma de producción musical de código abierto y local-first que funciona principalmente en el navegador, construida con Expo Router, React Native Web y TypeScript. Se presenta como un lugar único para llevar una idea musical a través de las etapas que el README describe como 'start', 'hear', 'shape', 'finish' y 'keep or share', sin necesidad de crear una cuenta para explorarla. Las capacidades principales descritas en el repositorio incluyen grabación y arreglo de audio multipista, MIDI con piano roll, un looper y pista de acordes, un sampler, sintetizador y beatmaker, una pedalera de guitarra con cadenas de modelado de amplificador/cabina, separación de stems (opcionalmente mediante Demucs local), herramientas de afinación y tiempo/tono, y un mezclador con efectos, buses, instantáneas, medición LUFS, masterización y exportación. También se mencionan modos creativos enfocados y salas de estudio 3D. Las funciones de colaboración como presencia, edición basada en CRDT y ramificaciones se enumeran como en evolución y dependientes de servicios backend opcionales. La disponibilidad se enmarca explícitamente como alfa. La aplicación web es accesible públicamente como demo; Electron de escritorio, Android e iOS son objetivos de compilación desde el código fuente, no versiones firmadas para tiendas. El README afirma que no se reclama ningún listado en tiendas móviles ni descarga de escritorio firmada hasta que exista un enlace de lanzamiento verificado, y advierte a los usuarios que mantengan copias de seguridad independientes de su trabajo importante. Ejecutarlo localmente requiere Node.js 22 o superior y npm; Python 3.12 solo se necesita para la separación de stems con Demucs local. El frontend puede iniciarse sin un archivo .env usando valores de desarrollo por defecto, que el README señala que son para exploración y pruebas, no como demostración de servicios de producción. Una API Express opcional usa SQLite por defecto para el desarrollo local, con Supabase/PostgreSQL y almacenamiento de objetos como opciones alojadas. Las compilaciones de escritorio se ejecutan a través de Electron detrás de un puente OpenBandNative, y las pantallas del frontend no deben llamar directamente a las APIs de Electron. La arquitectura está en capas: la interfaz (Expo Router, React, React Native Web, TypeScript) se comunica con un núcleo tipado de música y proyecto, que se conecta a almacenes locales de proyectos y activos, Web Audio / expo-audio / audio WASM, y la API opcional. El estilo usa tokens de NativeWind/Tailwind, el estado usa contexto de React y Zustand cuando corresponde, y la validación incluye TypeScript, Vitest, pruebas de humo con Playwright y comprobaciones de grafo de arquitectura. Los comandos útiles incluyen npm run lint, npm test, npm run test:legacy, npm run test:graph-sdd, npm run graph:ci y npm run build, con verificación de tipos del backend mediante npx tsc --noEmit. La documentación es inusualmente completa para una versión alfa: estrategia de producto, arquitectura, configuración de compilación, estado de implementación de funciones, hoja de ruta, contratos, registros de decisiones de arquitectura, base de marketing y especificaciones de auditoría de capturas/UI. La contribución es ante todo mediante PR, usa GitHub Spec Kit para cambios grandes y tiene una política AGENTS.md. El repositorio está bajo términos MIT según su insignia, aunque el README señala que las dependencias, modelos, muestras y material proporcionado por creadores conservan sus propios términos, y que la atribución y los avisos de terceros siguen siendo un punto de revisión para el lanzamiento. El nombre del proyecto se describe como un nombre de trabajo pendiente de autorización de marca.