Présentation du projet
L'objectif de ce projet est la réalisation d'un synthétiseur audionumérique sur une carte STM32. Ce projet transverse est à la frontière de plusieurs disciplines: traitement du signal, électronique, microprocesseur et programmation.
Contexte
De la synthèse sonore analogique au numérique
Historiquement, les premiers synthétiseurs, réalisés entre les années 70 et 90, étaient analogiques. Des modèles tels que le Minimoog, le Juno-106, la TB303 de Roland, le Prophet-5 de Sequential Circuits, et le MS-20 de Korg restent très célèbres aujourd'hui et atteignent des prix élevés sur le marché de l'occasion. Malgré leur identité sonore mythique, ces synthétiseurs analogiques présentent plusieurs inconvénients : leur coût élevé les rend souvent inaccessibles aux amateurs ou musiciens débutants, leur poids et leur taille compliquent le transport, ce qui peut poser problème pour les musiciens nomades, et leurs interfaces utilisateur, jugées peu ergonomiques comparées aux standards modernes, manquent souvent de mémoire pour sauvegarder les réglages, obligeant les utilisateurs à noter manuellement les positions des potentiomètres pour recréer des sons spécifiques.
Dès les années 80, certains fabricants ont commencé à développer des synthétiseurs entièrement numériques. Ces instruments sont généralement plus flexibles et abordables que leurs homologues analogiques. Les synthétiseurs numériques offrent une précision et une répétabilité que les machines analogiques ne peuvent pas égaler. Ils sont aussi plus légers, plus compacts, et disposent d'interfaces utilisateur intuitives avec des écrans et des menus qui facilitent le contrôle précis et la sauvegarde des configurations. Sur le marché des synthétiseurs numériques, l'un des plus grands succès commerciaux est le Yamaha DX7, basé sur le brevet de synthèse FM de John Chowning du CCRMA de Stanford. Ce modèle a profondément marqué la musique des années 80 et 90, pour le meilleur ou pour le pire, et le brevet associé reste l'un des plus lucratifs de l'université de Stanford.
Du numérique à l'informatique
Avec le développement de l'informatique dans les années 90, certains développeurs se sont focalisés sur la création de synthétiseurs virtuels. Un des premiers exemples notables est le synthétiseur logiciel Rebirth de Propellerheads, qui offrait des clones virtuels de deux TB303 ainsi que des répliques des boîtes à rythme TR808 et TR909 de Roland. Un élément décisif dans l'évolution des synthétiseurs logiciels fut la création de l'API VST par Steinberg, entreprise renommée pour son séquenceur audio/MIDI, Cubase. En proposant cette API ouverte, Steinberg a permis à d'autres développeurs d'enrichir la palette sonore de son séquenceur. Face à cette innovation, les concurrents adoptèrent rapidement des stratégies similaires en proposant eux aussi des API ouvertes. Dans ce contexte, de nombreuses entreprises se spécialisèrent dans le développement de synthétiseurs logiciels à partir des années 2000. Parmi elles, les allemands de Native Instruments et les Français d'Arturia se distinguent particulièrement. Bien que ces entreprises aient initialement concentré leurs efforts sur le développement de clones de synthétiseurs analogiques, elles ont progressivement introduit de nouvelles architectures de synthèse, exploitant la puissance et l'ergonomie des ordinateurs. À titre d'exemple, des synthétiseurs logiciels tels que Reaktor, Absynth ou Massive de Native Instruments exploitent remarquablement le potentiel des ordinateurs modernes. Ces synthétiseurs continuent de marquer durablement la musique électronique contemporaine.
De l'informatique à l'électronique embarquée.
L'informatique musicale a permis un développement rapide du concept d'home studios. Aujourd'hui, à moindre frais, il est possible d'utiliser un séquenceur audio/MIDI évolué et performant ainsi que des synthétiseurs et des effets logiciels puissants. Les home studios ont permis une démocratisation sans précédent de la production musicale pour le plus grand bonheur de nos oreilles. Cependant, derrière tous ces avantages, l'utilisation d'un ordinateur continue toutefois d'être un frein dans un contexte de jeu live et d'improvisation musicale. Les musiciens trouvent souvent difficile de gérer la latence et les problèmes de fiabilité qui peuvent survenir avec les logiciels en pleine performance.
Pour ces raisons, et pour lutter parfois contre le piratage logiciel, de nombreux développeurs se sont récemment tournés vers la réalisation de synthétiseurs hardware, basés sur des microcontrôleurs. Ces nouveaux appareils hardware combinent la flexibilité de la programmation logicielle avec la fiabilité et la réactivité des instruments traditionnels. Ils offrent également une interaction tactile plus intuitive, ce qui est essentiel pour les performances en direct. De plus, ils peuvent intégrer des fonctionnalités avancées telles que le séquençage sans ordinateur, apportant ainsi une autonomie accrue aux musiciens et réduisant la dépendance aux configurations informatiques complexes en direct.
Description du projet
Matériel Utilisé
Dans ce projet, nous allons utiliser le matériel suivant :
- Un contrôleur MIDI (Musical Instrument Digital Interface), qui permettra d'envoyer des informations MIDI via USB. Ce contrôleur sera essentiel pour interagir avec notre synthétiseur en temps réel.
- Une carte STM32 Discovery, qui est équipée de ports micro USB, de convertisseurs numériques-analogiques, d'une sortie audio analogique, d'un écran LCD et de suffisamment de RAM pour gérer les tâches de synthèse audio numérique.
- Un câble USB vers micro USB, qui servira à raccorder le contrôleur MIDI à la carte STM32.
- Un câble micro jack vers coaxial, qui permettra de visualiser le signal audio analogique en sortie sur un oscilloscope, facilitant ainsi le diagnostic et le debugage.

Objectifs
Notre objectif est de concevoir sur la STM32 un clone numérique personnalisé d'un synthétiseur de type Minimoog.
Ce projet nécessitera l'implémentation des blocs fonctionnels suivants :
- Partie 1: Synthèse d'oscillateurs numériques à fréquence variable. Ces oscillateurs généreront les formes d'onde de base nécessaires à la synthèse audio.
- Partie 2: Gestion du protocole MIDI. Implémentation d'un interpréteur MIDI pour convertir les messages entrants en paramètres de synthèse, permettant ainsi un contrôle dynamique via le contrôleur MIDI.
- Partie 3: Filtrage numérique du signal (VCF). Utilisation de filtres numériques pour façonner le timbre du signal audio, simulant ainsi les caractéristiques du filtre du Minimoog original.
- Partie 4: Modulation des paramètres de synthèse. Implémentation de modulateurs, tels que des oscillateurs basse-fréquence (LFO) et des enveloppes, pour moduler l'amplitude des sons produits (VCA).