Application de simulation d'amplificateur guitare/basse avec interface web moderne et traitement audio natif pour latence < 10ms.
- 🎛️ 100+ pédales d'effets : Distortion, overdrive, fuzz, chorus, delay, reverb, EQ, etc.
- 🔊 Amplificateurs modélisés : Fender, Marshall, Mesa Boogie, Orange, Vox, etc.
- 🔄 Chaîne d'effets modulaire : Drag & drop, réordonnable
- 🥁 Machine à rythmes intégrée : Boîte à rythmes complète avec interface compacte
- 💾 Système de presets : Sauvegarde et chargement avec Supabase
- 📤 Upload d'IR : Impulse responses personnalisées
- 📊 Monitoring temps réel : Vu-mètres, latence, CPU usage
- 🎨 Design neumorphic : Interface moderne et tactile avec layout Bento Grid
- ☁️ Backend Supabase : Base de données, authentification, storage
- ⚡ Code optimisé : Architecture modulaire avec fonctions utilitaires réutilisables
WebAmp/
├── native/ # Native Helper C++ (ASIO/WASAPI/CoreAudio)
│ ├── src/ # Code source C++
│ ├── include/ # Headers
│ └── CMakeLists.txt
├── frontend/ # Interface React/TypeScript
│ ├── src/
│ ├── public/
│ └── package.json
├── shared/ # Protocoles de communication
│ └── protocol/ # Messages WebSocket
└── docs/ # Documentation
- Utiliser la webapp seule : Accédez à l'application déployée sur Vercel
- Pour une latence optimale : Installez le Native Helper depuis les paramètres de l'application
- Dépendances JS gérées uniquement dans
frontend/:cd frontend && npm installnpm run dev(Vite écoute surhttp://localhost:10000)
- Build natif (Release) :
cd native && mkdir -p build && cd buildcmake ..puiscmake --build . --config Release
- WebSocket natif par défaut :
ws://localhost:8765
Voir native/README_PACKAGING.md pour les instructions de packaging.
- Chaîne d'effets modulaire : drag-drop, réordonnable
- Amplis modélisés : clean, crunch, high-gain
- Pédales : disto, drive, chorus, flanger, delay, reverb, EQ
- IR Loader : chargement d'impulse responses
- Console + Master FX
- Système de presets
- Monitoring temps réel : vu-mètres, latence, CPU
Le frontend est déployé automatiquement sur Vercel à chaque push sur main.
Configuration requise :
- Variables d'environnement Vercel :
VITE_SUPABASE_URLVITE_SUPABASE_ANON_KEYVITE_WEBSOCKET_URL(pour dev local)
- Variables optionnelles (selon les fonctionnalités activées) :
VITE_GEMINI_API_KEYVITE_PEXELS_API_KEYVITE_PIXABAY_API_KEYVITE_FREESOUND_CLIENT_IDVITE_FREESOUND_CLIENT_SECRET
Pour la liste complète et les rappels “build-time”, voir docs/VERCEL_ENV_VARS.md.
Voir docs/DEPLOYMENT.md pour le guide de déploiement.
- PostgreSQL avec Row Level Security (RLS)
- Authentification utilisateur
- Storage pour les Impulse Responses
- API REST automatique
Voir supabase/README.md pour la configuration.
Le endpoint supabase/functions/contact-support utilise des secrets côté Supabase, notamment :
RESEND_API_KEYCONTACT_EMAILRESEND_FROM_EMAIL(optionnel, fallback ànoreply@webamp.app)
- Frontend :
http://localhost:10000(dev) ou déployé sur Vercel - WebSocket natif :
ws://localhost:8765(local uniquement) - Protocole : JSON (voir
shared/protocol/) - Supabase : API REST + Realtime
- Total : < 5-10 ms
- Audio callback : < 2-3 ms
- Communication : < 1-2 ms
- Rendu UI : < 1 ms
Voir docs/README.md pour la documentation complète.
- Démarrage rapide - Installation et premier lancement
- Architecture - Vue d'ensemble technique
- Déploiement - Guide de déploiement
- Design System - Conventions UI neumorphic
- API WebSocket - Protocole de communication
- Pédales - Liste complète des pédales
- Amplificateurs - Liste complète des amplis
- Composants - Documentation des composants React
- Frontend : React 18, TypeScript, Vite, Tailwind CSS
- Backend : C++ (Native Helper), WebSocket
- Base de données : Supabase (PostgreSQL)
- Déploiement : Vercel (Frontend), Supabase Cloud (DB)
- Audio : WASAPI (Windows), ASIO, CoreAudio (macOS), PipeWire (Linux)