Audio Editor
Éditeur audio WAV avec effets DSP, visualisation et traitement temps réel via XAudio2
C++ · XAudio2 · DSP · Audio · WAV
Éditeur audio desktop pour fichiers WAV avec effets DSP, visualisation waveform et traitement temps réel.
Contexte
Projet école GTech3, 6 semaines. Équipe de 3, rôle : développeur DSP et moteur audio.
Exploration des fondamentaux du traitement de signal numérique via une application d'édition audio pratique.
Cahier des Charges École
- Parser et lire des fichiers WAV
- Affichage waveform
- Implémenter au moins 2 effets DSP
- API audio Windows, latence < 50ms
Notre Implémentation
Au-delà des consignes (2 effets demandés) :
- 4 effets DSP complets : EQ, compression, reverb, delay
- Édition non-destructive : preview avant application
- Outils de sélection avancés : cut/copy/paste sample-accurate
- Support formats étendus : 8/16/24-bit, mono/stereo
Liens
- Dépôt privé (école).
Architecture
Pipeline audio avec effets chaînables :
WAV File → Parser → [Effect Chain] → XAudio2 → Output
│
┌──────────────────┼──────────────────┐
│ │ │
EQ Compressor Reverb
(Biquad) (RMS) (Convolution)
Stack Détaillé
| Tech | Version | Rôle |
|---|---|---|
| C++ | 17 | Langage core |
| XAudio2 | Windows API | Moteur audio temps réel |
| Win32/ImGui | - | Interface utilisateur |
| Parser WAV | Custom | Lecture fichiers audio |
Parser WAV Custom
- Parsing header RIFF
- Formats : 8/16/24-bit, mono/stereo
- Navigation chunks et métadonnées
- Au-delà du 16-bit demandé
Effets DSP Implémentés
- EQ paramétrique : Filtres biquad par bande
- Compresseur : Détection RMS avec attack/release
- Reverb : Bases de convolution
- Delay : Delay lines avec feedback
Spécifications
- Latence : < 50ms (API audio Windows)
- Édition non-destructive avec preview
- Sélection sample-accurate : cut/copy/paste