Projet de fin d
51 pages
Français

Projet de fin d'étude

-

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

École Polytechnique Université de Montréal Réalisation d'un processeur audio multi-effets dans l'environnement “Cubase VST” et sur le DSP56002 de Motorola Rapport de projet de fin d’études soumis comme condition partielle à l’obtention du diplôme de baccalauréat en ingénierie. Présenté par : Jasmin Frenette Matricule : 58475 Directeur de projet : Michel Lemire Département de Génie Électrique et de Génie Informatique Décembre 1998 Réalisation d'un processeur audio multi-effets dans l'environnement “Cubase VST” et sur le DSP56002 de Motorola Les nouveaux PCs, de plus en plus performants, remettent en question l'utilisation de DSPs dédiés pour réaliser des effets audio en temps réel. Dans le cadre de ce projet, les équations mathématiques des effets les plus répandus en musique (écho, chorus, flanger, réverbération et compression) ont été développées et implantées sur un PC (dans l’environnement du logiciel audio «Cubase VST») et sur le DSP56002 de Motorola. Nous avons ainsi pu constater que la plate-forme PC se démarquait par son interface utilisateur flexible, sa facilité de programmation et sa grande quantité de mémoire. De plus, il est ressortit que malgré la performance considérable du DSP, sa mémoire limitée, sa faible résolution interne et son architecture à point fixe rend sa programmation beaucoup plus complexe. Finalement, la sonorité des effets implantés s’est ...

Sujets

Informations

Publié par
Nombre de lectures 531
Langue Français
École Polytechnique Université de Montréal Réalisation d'un processeur audio multi-effets dans l'environnement Cubase VST et sur le DSP56002 de Motorola
Rapport de projet de fin détudes soumis comme condition partielle à lobtention du diplôme de baccalauréat en ingénierie.
 Présenté par : Jasmin Frenette  Matricule : 58475  Directeur de projet : Michel Lemire Département de Génie Électrique et de Génie Informatique
Décembre 1998
Réalisation d'un processeur audio multi-effets dans l'environnement Cubase VST et sur le DSP56002 de Motorola
 Les nouveaux PCs, de plus en plus performants, remettent en question l'utilisation de DSPs dédiés pour réaliser des effets audio en temps réel. Dans le cadre de ce projet, les équations mathématiques des effets les plus répandus en musique (écho, chorus, flanger, réverbération et compression) ont été développées et implantées sur un PC (dans lenvironnement du logiciel audio «Cubase VST») et sur le DSP56002 de Motorola. Nous avons ainsi pu constater que la plate-forme PC se démarquait par son interface utilisateur flexible, sa facilité de programmation et sa grande quantité de mémoire. De plus, il est ressortit que malgré la performance considérable du DSP, sa mémoire limitée, sa faible résolution interne et son architecture à point fixe rend sa programmation beaucoup plus complexe. Finalement, la sonorité des effets implantés sest avérée excellente sur le PC tout comme sur le DSP. Mots Clés : processeur  multi-effet  DSP  audio  musique.
ii
TABLE DES MATIÈRES
LISTE DES FIGURES ................................................................................................................................ V LISTE DES TABLEAUX ............................................................................................................................ V LISTES DES SYMBOLES ET DES ABRÉVIATIONS .......................................................................... VI 1 INTRODUCTION ................................................................................................................................ 1 2 PROBLÉMATIQUE ............................................................................................................................ 2 3 MÉTHODOLOGIE.............................................................................................................................. 4 3.1 CHOIX DES PLATE-FORMES ET DES LOGICIELS .................................................................... 4 3.2 DESCRIPTION DES PLATE-FORMES ET DES LOGICIELS....................................................... 5 3.3 RÉALISATION DES ALGORITHMES ........................................................................................... 7 4 RÉSULTATS ........................................................................................................................................ 8 4.1 RÉALISATION DE LÉCHO ........................................................................................................... 8 4.2 RÉALISATION DU FLANGER ..................................................................................................... 10 4.3 RÉALISATION DU CHORUS ....................................................................................................... 15 4.4 RÉALISATION DE LA RÉVERBÉRATION................................................................................. 22 4.5 RÉALISATION DU COMPRESSEUR........................................................................................... 25 4.6 MODIFICATIONS ET AMÉLIORATIONS POSSIBLES ............................................................. 31 5 DISCUSSION...................................................................................................................................... 33 5.1 QUALITÉ DES ALGORITHMES IMPLANTÉS ........................................................................... 33 5.2 COMPARAISON DES PROBLÈMES DE CONCEPTION SUR PC ET DSP............................... 33 5.3 CARACTÉRISTIQUES DES PLATES-FORMES ......................................................................... 35 CONCLUSION............................................................................................................................................ 38 RÉFÉRENCES............................................................................................................................................ 40 ANNEXE A .................................................................................................................................................. 42 ANNEXE B .................................................................................................................................................. 45
iii
REMERCIEMENTS
 Jaimerais exprimer ma reconnaissance à tous ceux qui ont contribué à la
réalisation de ce travail. Plus particulièrement à Mlle Renée Touzin pour son aide dans
le domaine des générateurs de nombres pseudo-aléatoires et à M. Michel Lemire qui a
accepté dêtre mon directeur de PFE et qui ma assisté tout au long du projet.
iv
LISTE DES FIGURES Fig. 1  Interface Graphique des plugins dans le logiciel Cubase VST............................. 5 Fig. 2  Modèle de leffet décho ....................................................................................... 8 Fig. 3  Comportement temporel du flanger.................................................................... 10 Fig. 4  Modèle du Flanger ............................................................................................. 11 Fig. 5  Diagramme de loscillateur numérique ............................................................... 12 Fig. 6  Listing et simulation Matlab de loscillateur du DSP ........................................... 14 Fig. 7  Comportement temporel du chorus .................................................................... 15 Fig. 8  Modèle du chorus ............................................................................................... 16 Fig. 9  Filtrage de la séquence pseudo aléatoire sur le PC........................................... 18 -Fig. 10  Séquence pseudo-aléatoire sur le PC.............................................................. 19 Fig. 11  Comportement temporel des quatre séquences pseudo-aléatoires sur le PC . 19 Fig. 12  Séquences pseudo-aléatoires sur le DSP........................................................ 21 Fig. 13  Modèle de la réverbération............................................................................... 22 Fig. 14  Modèle détaillé des «all pass reverbs» ............................................................ 23 Fig. 15  Modèle détaillé des «comb filters» ................................................................... 23 Fig. 16  Modèle du compresseur ................................................................................... 25 Fig. 17  Modèle détaillé du «offset filter»....................................................................... 26 Fig. 18  Modèle détaillé du «release stage».................................................................. 27 Fig. 19  Modèle détaillé du «loop filter»......................................................................... 28 Fig. 20  Comportement du «loop filter» ......................................................................... 28 Fig. 21  Paramètres du compresseur ............................................................................ 29 LISTE DES TABLEAUX Tableau 1 - Paramètres du Flanger................................................................................. 10 Tableau 2 - Paramètres du Chorus ................................................................................. 15 Tableau 3 - Paramètres de la réverbération.................................................................... 24 Tableau 4 - Paramètres du compresseur ........................................................................ 29
v
Audio Engineering Society Central Processing Unit Digital Signal Processing (désigne aussi «Digital Signal Processor») First In First Out Multiply Accumulate (instruction standard dun DSP) Million Instructions Per Second Read Only Memory Static Random Acces Memory Low Frequency Oscillator Random Number Generator
LISTES DES SYMBOLES ET DES ABRÉVIATIONS AES CPU DSP FIFO MAC MIPS ROM SRAM LFO RNG
vi
1 INTRODUCTION  Les nouveaux PCs, de plus en plus performants, remettent en question l'utilisation de DSPs dédiés pour réaliser des effets audio en temps réel. Cest pourquoi on voit apparaître sur le marché de plus en plus de logiciels destinés à faire le même traitement audio que les appareils «hardware» traditionnels. Ainsi, ces derniers devront miser sur leurs avantages sur les logiciels et réorienter leur marché sils veulent rivaliser avec les performances et les coûts des nouveaux processeurs virtuels qui font leur apparition dans le monde des PC.  Dans le cadre de ce projet, afin de mieux caractériser les plates-formes logicielles et matérielles, nous nous proposons de réaliser plusieurs effets audio traditionnels. Ces effets seront réalisés à la fois sur un PC et sur un DSP, ce qui nous permettra de mettre en évidence les qualités de chacune de ces plates-formes. Les algorithmes utilisés seront élaborés à partir des descriptions comportementales des effets audio traditionnels. Les effets réalisés seront lécho, le flanger, le chorus, la réverbération et la compression. Tout au long de ce projet, nous ferons état des difficultés ou particularités de conception afin de dresser un portrait révélateur des plates-formes évaluées. Nous pourrons donc les comparer et porter un jugement sur leur puissance, leur flexibilité, la qualité de leur traitement audio et leur facilité dutilisation et de programmation.
1
2 PROBLÉMATIQUE  La plupart des effets audio numériques actuels sont inspirés des effets électroniques, acoustiques où mécaniques traditionnels. Avant lavènement de la numérisation, les effets à base de délai (écho, chorus, flanger, etc.) étaient réalisés à laide denregistreurs à ruban. Les réverbérations étaient réalisées à partir de ressorts ou alors simulées en enregistrant le son provenant de haut-parleurs dans une salle possédant de bonnes qualités acoustiques. Finalement, dautres effets comme les compresseurs étaient réalisés de façon analogique à laide de transistors. Ce nest que vers la fin des années 50 que les ordinateurs sont devenus assez puissants pour permettre le traitement de laudio en un temps relativement acceptable (mais encore très loin du temps réel). Depuis, les processeurs appelés DSP sont sortit sur le marché. Leur langage assembleur optimisé pour le traitement du signal leur permet de réaliser des effets audio de plus en plus complexes en temps réel. Ainsi, de nos jours, il est courant den retrouver un peu partout, dautant plus que leur taille permet leur utilisation dans une vaste gamme dappareils. Puis les PC actuels sont devenus si rapides que même sils nont pas étés conçus pour le traitement du signal, ils sont maintenant en mesure de rivaliser avec les DSPs. Leur interface graphique conviviale et leurs environnements de programmation élaborés les rendent très attrayants, tant pour les programmeurs que pour les utilisateurs. Lobjectif de ce projet est donc de fournir une base de comparaison entre les environnements de programmation du PC et du DSP pour fournir à lingénieur en traitement de signal linformation nécessaire pour prendre une décision plus éclairée lors dun choix de plate-forme de programmation. Pour ce faire, les caractéristiques suivantes des deux plates-formes seront observées :
€la facilité dutilisation du multi-effet par lutilisateur ; €la flexibilité de lalgorithme : le nombre de paramètres accessibles à lusagé ; €le niveau de complexité de lalgorithme réalisable en temps réel (la puissance et la rapidité du processeur) ;
2
€la mémoire disponible ; € le nombre de bits des échantillons lors du traitement :la qualité du son produit interne et la fréquence déchantillonnage ; €le temps de développement dun effet selon sa complexité ; €le temps dapprentissage de lenvironnement de programmation ; €la puissance de lenvironnement de programmation.
 Afin de bien évaluer toutes ces caractéristiques, tous les effets réalisés seront implantés sur les deux plates-formes. De plus, des effets audio simples et complexes seront réalisés, ce qui permettra de distinguer les avantages des plates-formes selon la complexité de lalgorithme à implanter.
3
3 MÉTHODOLOGIE 3.1 CHOIX DES PLATE-FORMES ET DES LOGICIELS 3.1.1 Choix du logiciel sur le PC  Le traitement de laudio sur Mac ou PC, il ny a pas si longtemps réservé aux studios denregistrement et aux salles de montage vidéo professionnelles, est maintenant beaucoup plus abordable et donc accessible aux particuliers qui sintéressent à la musique. Bien que la plupart des programmes professionnels (Pro Tools, Soundscape, PARIS, etc.) nécessitent un ajout matériel à lordinateur afin de le rendre plus performant, les nouveaux logiciels destinés aux particuliers ou aux petits studios (Sound Forge, Cakewalk, Emagic Logic Audio, etc.) exploitent la vitesse des nouveaux CPUs pour réaliser le traitement audio en temps réel. La plupart de ces logiciels supportent les «plugins». Un plugin est un petit logiciel qui vient complémenter un programme denregistrement ou de traitement audio en lui offrant une fonctionnalité supplémentaire. La plupart des plugins sont des effets audio (réverbération, égalisation graphique, distorsion, etc.) que lusager peut acheter après sêtre procuré le programme audio principal de son choix. Pour la réalisation du projet sur PC, le logiciel Cubase VST de la compagnie Steinberg a été retenu car la méthode de réalisation des plugins quil supporte est accessible gratuitement et est très bien documentée [19]. De plus, les plugins VST sont de plus en plus reconnus par les logiciels audio sur PC. 3.1.2 Choix du DSP  Par ailleurs, pour le traitement audio à laide dun DSP, plusieurs compagnies offrent des solutions abordables (Analog Devices, AT&T, Motorola, NEC, Texas Instruments, Zoran, etc.). Les vitesses de leurs DSPs en juin 1995 se situaient entre 8.8 et 70 MIPS et leur prix, entre 6$ et 450$ (pour une commande de 1000 pièces) [10]. Certains modèles (avec arithmétique à point fixe) représentent les échantillons audio par des entiers ou des fractions entre 1.0 et 1.0 alors que dautres (à points flottants) les
4
représentent à laide dune mantisse suivit dun exposant. Notons que dans le premier cas, il est aussi possible (bien que coûteux en temps de calcul) de simuler larithmétique flottante lorsque nécessaire.  Dans le cadre de ce projet, le DSP56002 de Motorola a été choisi car il est assez puissant pour effectuer les effets audio envisagés et relativement peu dispendieux. De plus, un module dévaluation et les outils de développement du DSP sont disponibles à prix raisonnable. 3.2 DESCRIPTION DES PLATE-FORMES ET DES LOGICIELS 3.2.1 Caractéristiques du logiciel Cubase VST et du PC Le logiciel Cubase offre une interface graphique standard pour les plugins qui a lapparence des processeurs audio «hardware» traditionnels (voir fig.1), ce qui permet de sauver du temps lors de la programmation de linterface usagé. Le langage utilisé pour la programmation des plugins est le C++ (bien quil y ait aussi moyen dutiliser le C) car le logiciel Cubase a été réalisé en C++. Les échanges entre les plugins et Cubase se font aisément à laide de fonctions définies de façon très précise dans le guide de programmation des développeurs fournis par Steinberg [19]. Tous les échantillons audio sont codés sur 16 bits, mais ils sont convertis en nombres à point flottant de 32 ou de 64 bits (floats ou doubles) pour tous les calculs internes. Notons aussi que la mémoire utilisée par les plugins est une partie de celle réservée par Windows à lapplication Cubase.
 Fig. 1  Interface graphique des plugins dans le logiciel Cubase VST Pour le projet, la programmation C++ se fera avec le compilateur Visual C++ 5. Le logiciel Cubase VST (version 3.553) roule sur Windows 95 sur un Pentium II 266MHz
5