À propos du projet
OpenBand est une plateforme de production musicale open-source, local-first, qui fonctionne principalement dans le navigateur, construite avec Expo Router, React Native Web et TypeScript. Elle est positionnée comme un endroit unique pour faire passer une idée musicale à travers les étapes décrites dans le README comme démarrer, entendre, façonner, terminer et conserver ou partager, sans nécessiter de compte pour explorer. Les capacités principales décrites dans le référentiel incluent l'enregistrement audio multitrack et l'arrangement, MIDI avec un piano roll, un looper et une piste d'accords, un échantillonneur, un synthétiseur et un beatmaker, un pédalier de guitare avec des chaînes de modèle d'ampli/enceinte, une séparation de stems (éventuellement via Demucs local), des outils de réglage et de temps/pitch, et un mélangeur avec des effets, des bus, des instantanés, une mesure LUFS, un mastering et une exportation. Des modes de création ciblés et des salles de studio 3D sont également mentionnés. Les fonctionnalités de collaboration telles que la présence, l'édition CRDT et la création de branches sont répertoriées comme en évolution et dépendantes de services de backend optionnels. La disponibilité est explicitement présentée comme une version alpha. L'application Web est accessible publiquement en tant que démo ; les cibles Electron de bureau, Android et iOS sont des cibles de construction à partir de la source plutôt que des versions de magasin signées. Le README indique qu'aucune liste de magasin mobile ou téléchargement de bureau signé n'est revendiquée jusqu'à ce qu'un lien de version vérifié existe, et avertit les utilisateurs de conserver des sauvegardes indépendantes de leurs travaux importants. L'exécution locale nécessite Node.js 22 ou plus récent et npm ; Python 3.12 est nécessaire uniquement pour la séparation de stems Demucs locale. Le frontend peut démarrer sans fichier .env en utilisant des valeurs par défaut de développement, que le README note sont pour l'exploration et les tests plutôt que pour la preuve des services de production. Un API Express optionnel utilise SQLite par défaut pour le développement local, avec Supabase/PostgreSQL et le stockage d'objets en tant qu'options hébergées. Les constructions de bureau s'exécutent via Electron derrière un pont OpenBandNative, et les écrans du frontend ne sont pas censés appeler directement les API Electron. L'architecture est en couches : l'interface utilisateur (Expo Router, React, React Native Web, TypeScript) parle à un noyau de musique et de projet typé, qui se connecte à des magasins de projets et de ressources locaux, Web Audio / expo-audio / WASM audio, et l'API optionnelle. Le style utilise des jetons NativeWind/Tailwind, l'état utilise React context et Zustand lorsque cela est approprié, et la validation inclut TypeScript, Vitest, Playwright smoke tests et vérifications de graphique d'architecture. Les commandes utiles incluent npm run lint, npm test, npm run test:legacy, npm run test:graph-sdd, npm run graph:ci et npm run build, avec une vérification de type de backend via npx tsc --noEmit. La documentation est inhabituellement complète pour une version alpha : stratégie de produit, architecture, configuration de construction, état de mise en œuvre des fonctionnalités, feuille de route, contrats, enregistrements de décision d'architecture, fondation de marketing et spécifications d'audit d'interface utilisateur/screenshot. La contribution est PR-first, utilise GitHub Spec Kit pour les modifications plus importantes, et a une politique AGENTS.md. Le référentiel est sous les termes MIT conformément à son badge, bien que le README note que les dépendances, les modèles, les échantillons et le matériel fourni par le créateur conservent leurs propres termes, et que l'attribution et les avis de tiers restent un élément de l'examen de lancement. Le nom du projet est décrit comme un nom de travail en attente de dégagement de marque.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.