Se connecter
Se connecter

ou
Créer un compte

ou
Pédago
30 réactions
Viva la Convolution Reloaded

Dossier sur les processeurs à convolution

Aujourd'hui, c'est l'heure de mettre à jour notre fameux dossier sur les applications de l'opération de convolution numérique dans la M.A.O. ! Presque 20 ans après, quels en sont les usages principaux aujourd'hui, et y a-t-il encore des territoires à défricher ?

Dossier sur les processeurs à convolution : Viva la Convolution Reloaded

Mon tout premier article pour Audio­Fan­zine, il y a main­te­nant 18 ans (ça ne me rajeu­nit pas), parlait de convo­lu­tion pour ceux qui s’en souviennent encore. Il avait lancé quelques discus­sions sur les forums, notam­ment sur le fameux sujet « les pour­ris­seurs(euses) ! » du Pub, avec comme parti­ci­pants un certain nombre des modé­ra­teurs de l’époque. Il fut égale­ment le point d’en­trée de ma carrière de déve­lop­peur/cher­cheur, et avait alimenté entre autres choses le démar­rage d’un certain projet appelé Two Notes dont vous avez peut-être entendu parler depuis !

Récem­ment j’ai eu l’oc­ca­sion de relire cet article, et je me suis évidem­ment rendu compte qu’il avait pas mal vieilli. Je me suis dit qu’il serait perti­nent de le mettre un peu à jour, par rapport à ce qui se fait aujour­d’hui autour des proces­seurs à convo­lu­tion, de réali­ser une petite rétros­pec­tive, corri­ger quelques points, et acces­soi­re­ment répondre à certaines ques­tions lais­sées en suspens à l’époque. Donc aujour­d’hui je vous propose de nous replon­ger tranquille­ment via ce nouveau dossier dans les appli­ca­tions de la convo­lu­tion, et vous allez voir en plus qu’il y a un twist à la fin de l’ar­ticle ! Allons-y, et commençons donc déjà par répondre à nouveau à la ques­tion !

C’est quoi la convo­lu­tion numé­rique ?

C’est une opéra­tion de trai­te­ment de signal numé­rique, que vos plug-ins préfé­rés utilisent matin midi et soir pour réali­ser la tota­lité des opéra­tions de filtrage, par exemple dans vos égali­seurs, délais, distor­sions, synthé­ti­seurs. Cela consiste en gros à utili­ser une série de coef­fi­cients, qui carac­té­risent le trai­te­ment ou l’ef­fet à repro­duire, et à les multi­plier et addi­tion­ner d’une certaine manière aux échan­tillons de votre signal d’en­trée audio pour opérer la magie de la simu­la­tion. Imagi­nez par exemple le « profil » d’une réverbe qu’on pourra super­po­ser ou appliquer sur n’im­porte quel signal numé­risé, et faire comme si « on y était ».

schema1Ce profil, on a pris l’ha­bi­tude dans le langage courant de la M.A.O de le voir exclu­si­ve­ment comme un fichier audio un peu parti­cu­lier, avec comme nom « IR » pour impulse response en anglais ou réponse impul­sion­nelle en français. Une IR est spéci­fique à un système audio parti­cu­lier, elle permet de le carac­té­ri­ser et aussi de le simu­ler via un type d’ef­fet ou de plug-in appelé le proces­seur à convo­lu­tion. Elle peut être mesu­rée sur le système réel, mais aussi être conçue arti­fi­ciel­le­ment à partir d’un algo­rithme, que ce soit pour créer un son de réver­bé­ra­tion arti­fi­ciel, ou pour opérer à toutes sortes de trans­for­ma­tions du son plus ou moins trans­pa­rentes. C’est d’ailleurs le prin­cipe de nos fameux filtres à phase linéaire dans les plug-ins d’éga­li­sa­tion dédiés !

Captu­rer une réponse impul­sion­nelle

Une IR mesu­rée peut être obte­nue tradi­tion­nel­le­ment en suivant sa défi­ni­tion, qui veut aussi dire « réponse à une impul­sion » : on cherche un son très violent et très court, on le déclenche, et on l’en­re­gistre. Par exemple, pour captu­rer l’acous­tique d’une pièce, on peut faire écla­ter un ballon de baudruche ou tirer un coup de feu, et les enre­gis­trer pour obte­nir l’IR carac­té­ris­tique.

Malheu­reu­se­ment, de tels enre­gis­tre­ments ne se contentent pas de captu­rer les carac­té­ris­tiques du système qui nous inté­resse, mais aussi tout un tas de phéno­mènes annexes qui sont présents lors de la capture et dans la chaine d’en­re­gis­tre­ment du son, tels que la colo­ra­tion du micro­phone de la prise du son, du préam­pli­fi­ca­teur, un ensemble de phéno­mènes liés à la posi­tion et à l’orien­ta­tion dans l’es­pace du micro­phone, ainsi qu’une colo­ra­tion plus ou moins aléa­toire liée au fait que le coup de feu ou le ballon ne génèrent pas une « impul­sion » parfaite au sens mathé­ma­tique du terme. C’est pourquoi, en géné­ral, on préfé­rera utili­ser d’autres tech­niques plus adap­tées, qui n’au­ront notam­ment pas pour effet de bord de faire des trous dans le toit des cathé­drales du monde entier, ou de mettre le « son du pisto­let » sur le résul­tat. C’est égale­ment pour ces raisons que les termes « impulse » ou « impul­sion » pour parler d’IR sont inadap­tés, et que chaque fois que quelqu’un en fait usage de cette manière, il y a un petit chaton qui finit écrasé sous un bus (le même que celui qui écrase les petits chiots des gens qui disent versa­tile pour poly­va­lent).

La méthode alter­na­tive la plus popu­laire consiste à envoyer un son sinu­soï­dal, dont on fait varier la fréquence fonda­men­tale de bas en haut dans la zone de fréquences d’in­té­rêt (par exemple de 20 à 20000 Hz), appelé aussi sinus sweep.

Sine Sweep FadeEn fonc­tion du système à carac­té­ri­ser, il est possible d’en­voyer ce signal de capture direc­te­ment dans le système (par exemple pour un effet hard­ware, ou pour carac­té­ri­ser une enceinte d’am­pli­fi­ca­teur guitare), ou néces­saire d’uti­li­ser une enceinte adap­tée aussi « trans­pa­rente » que possible. Une fois l’en­re­gis­tre­ment effec­tué, on pourra alors lui appliquer un trai­te­ment dit de « décon­vo­lu­tion » pour obte­nir les coef­fi­cients de l’IR qui nous inté­resse, de manière très précise (ici appliqué à une réverbe à ressorts).

Sine Sweep SpringCette tech­nique peut faci­le­ment être expé­ri­men­tée en utili­sant la version démo du produit Voxengo Decon­vol­ver, qui possède toutes les fonc­tion­na­li­tés dont vous avez besoin, ou encore l’ou­til inté­gré dans le pack Convo­lu­tion de Able­ton Live, qui prend en charge la géné­ra­tion du sweep, la gestion des niveaux, le calcul de l’IR et sa sauve­garde sous forme de fichier audio direc­te­ment dans le STAN.

Voxengo DeconvolverAu passage, il existe une tech­nique de sioux pour arri­ver au même résul­tat dans un contexte numé­rique à moindre embê­te­ment. Admet­tons que vous adoriez le son de tel plug-in qui ne génère pas d’har­mo­niques, comme un simu­la­teur d’en­ceintes, IR-Measurement-Device-1ou une réverb logi­cielle avec pas ou peu de modu­la­tion. Il est tout à fait possible de captu­rer son compor­te­ment en envoyant l’équi­valent d’une « impul­sion » numé­rique dans ledit plug-in, et d’ob­te­nir une IR qui je le rappelle est une « réponse à une impul­sion ». Pour cela, vous pouvez utili­ser un fichier WAV qui contient unique­ment un échan­tillon avec la valeur 1 et plusieurs secondes de zéros après. Placez-le sur une piste, faites un rendu de ce fichier passé au travers du plug-in à calcu­ler, et vous aurez votre IR, c’est magique ! L’ou­til de Live permet d’ailleurs aussi de faire ça. N’ou­bliez pas d’ailleurs en l’uti­li­sant de désac­ti­ver les fades in qui se mettent parfois par défaut sur le début de vos clips audios dans votre STAN préféré.

Limites de l’ap­proche

L’en­semble de ce proces­sus, la capture de l’IR d’un système avec l’hy­po­thèse que l’IR le carac­té­rise plei­ne­ment, puis l’ap­pli­ca­tion de l’IR par convo­lu­tion numé­rique sur un signal audio numé­rique donné, est une tenta­tive de simu­la­tion logi­cielle de ce système. Mais celle-ci ne sera « réaliste » que si les effets de bord de l’en­re­gis­tre­ment ne posent pas de problème, et surtout si le système à modé­li­ser répond à une exigence qui rend perti­nente sa capture par une IR. Celui-ci doit être un système dit « LTI », c’est à dire linéaire à temps inva­riant. En gros, un système parfai­te­ment linéaire (qui ne génère pas d’har­mo­niques), et à compor­te­ment constant dans le temps. Exit donc toute possi­bi­lité de simu­ler avec ces tech­niques tout ce qui est distor­sion, compres­seurs, bidules à tubes, effets de modu­la­tion…

Pour d’autres systèmes, on ne peut décem­ment dire qu’ils rentrent parfai­te­ment dans le cadre, mais on peut déci­der d’igno­rer la partie non linéaire ou modu­la­tion qui n’a pas une impor­tance jugée trop signi­fi­ca­tive : enceintes d’am­pli­fi­ca­teurs guitare, réver­bé­ra­tions numé­riques ou méca­niques, délais analo­giques, proces­seurs d’ef­fets ou égali­sa­tions en tout genre, etc.

Par exemple, pour citer un cas que j’ai rencon­tré derniè­re­ment, les fameuses réver­bé­ra­tions à ressorts physiques (ou Spring en anglais), qui sont d’ailleurs consti­tuées du tank, mais aussi de tout un tas de compo­sants élec­tro­niques pour adap­ter les impé­dances et ampli­fier le signal d’en­trée, sont souvent réglées pour que la plage utile de volume soit pile avant le moment où les Schbooiiiiings habi­tuels se trans­forment en concert de Black Metal. On peut donc imagi­ner que ce qui sera repré­senté par une simple IR sera forcé­ment moins riche que le vrai circuit, même si on peut s’en conten­ter pour la plupart des usages. Au passage, j’en profite pour vous mettre en lien la petite IR du tank de réver­bé­ra­tion à ressort que j’ai sorti de mon Randall Diavlo et que j’ai mesu­rée avec Live :

Comment ça marche un proces­seur à convo­lu­tion en 2024

En tout cas, plusieurs décades après la première utili­sa­tion de la convo­lu­tion numé­rique dans un plug-in, un certain nombre de choses ont changé ! Déjà, on voit des moteurs à convo­lu­tion partout, dans les réverbes, dans les simu­la­teurs d’am­pli­fi­ca­teurs, dans les effets inclus avec les STANs (Cubase, Live, Logic Pro X, Reaper, etc.), les plug-ins de sampling et de lecture de samples, et même sur du hard­ware en géné­ral, que ce soit sur des pédales, modules Euro­rack ou derrière des amplis à lampes avec les sorties « recor­ding » (chez Mesa Boogie, Revv, Victory, etc.).

Réali­ser cette opéra­tion en temps réel faisait partie il y a un temps d’un des trai­te­ments les plus coûteux en charge CPU, sachant que quelque soit la méthode utili­sée, le nombre d’opé­ra­tions à faire par seconde pour réali­ser le trai­te­ment augmente avec la taille de l’IR. Heureu­se­ment, la puis­sance des ordi­na­teurs et DSP a pas mal évolué depuis, et il existe un certain nombre de tech­niques qui ont permis d’op­ti­mi­ser les convo­lu­tions, au-delà de la tech­nique de base que j’abor­dais déjà dans mon article de 2005, qui est l’uti­li­sa­tion de la FFT (Fast Fourier Trans­­form, trans­­for­­mée de Fourier rapide). Par exemple, on peut décou­per l’IR en plusieurs parti­tions de diffé­rentes tailles, ce qui permet de paral­lé­li­ser le calcul sur plusieurs cœurs, ou de le rendre compa­tible avec l’usage du GPU.

L’usage de ces tech­niques spéci­fiques a fait une pous­sée d’ailleurs depuis quelques années, pour une raison très bizarre pour les néophytes, qui est la péremp­tion de certains brevets. L’exis­tence de ces brevets a fait couler beau­coup d’encre (numé­rique) dans les années 2000 et 2010, car leur vali­dité était contes­tée, dans la mesure où ils étaient basés en partie sur des recherches publiées dans le domaine public, ce qui leur a valu le quali­fi­ca­tif de brevets « trolls », et ont obligé certains déve­lop­peurs à utili­ser des tech­niques alter­na­tives ou à payer une licence d’uti­li­sa­tion aux déten­teurs des brevets. La date de vali­dité de certains de ces brevets étant passée aujour­d’hui, il est devenu moins problé­ma­tique d’uti­li­ser les tech­niques de convo­lu­tion les plus avan­cées partout, et ce sans latence ajou­tée ce qui n’était pas le cas en 2005.

Je vais en profi­ter pour débun­ker une idée reçue pour juger de la qualité d’un « moteur de convo­lu­tion ». En théo­rie, tous les moyens d’ob­te­nir la simu­la­tion d’un système carac­té­risé par une IR donnent stric­te­ment le même résul­tat. J’in­siste lour­de­ment là-dessus. Quelque soit la tech­nique utili­sée, ou même si la convo­lu­tion devait être faite dans le domaine tempo­rel sans les FFTs, le résul­tat du signal multi­plié par l’IR via l’opé­ra­tion de convo­lu­tion doit donner à chaque fois stric­te­ment le même résul­tat. Il n’y a donc pas de moteur de convo­lu­tion en théo­rie qui sonne mieux que le voisin ! S’il y en a deux qui donnent un résul­tat diffé­rent pour une même IR, cela signi­fie qu’un des deux ne fait pas son travail correc­te­ment, ou rajoute des trai­te­ments qui n’ont rien à voir avec la convo­lu­tion ! Par contre, en fonc­tion des opti­mi­sa­tions réali­sées, il est possible que certains soient moins « perfor­mants » en basse latence dans votre STAN, ce qui se traduira par des hausses de la charge CPU et aussi par des clics assez répé­tés et carac­té­ris­tiques…

Usages créa­tifs d’aujour­d’hui et d’IR

3D-Display-SHP-03bAlors que fait-on de la convo­lu­tion en 2024 ? Est-ce que les usages ont beau­coup changé depuis 2005 chez les maoistes ? Sans surprise, quand on parle de convo­lu­tion aujour­d’hui, on pense réver­bé­ra­tions, et logi­ciels dédiés qui proposent des IRs de multiples appa­reils et acous­tiques réso­nantes, du plus clas­sique au plus éton­nant, en passant par des systèmes élec­tro­mé­ca­niques (plaques, ressorts, etc.) voire… des systèmes numé­riques ! En effet, un regain d’in­té­rêt récent pour les premiers racks d’ef­fets numé­riques, qui sonnaient d’une certaine manière notam­ment à cause des limi­ta­tions tech­niques de l’époque, a permis de voir foison­ner les émula­tions logi­cielles, basées au choix sur une repro­duc­tion aussi proche que possible des algo­rithmes et des effets de bord du maté­riel d’époque (l’exemple le plus connu étant la Valhalla Vinta­ge­Verb), ou sur la capture d’IRs avec des astuces pour gérer les modu­la­tions présentes sur les origi­naux par exemple chez Liquid­so­nics (ici démo audio avec plusieurs exemples d’IRs d’es­paces acous­tiques et de racks d’ef­fets numé­riques). 

House Demo Conv
00:0002:29

Ensuite, la deuxième utili­sa­tion la plus répan­due de la convo­lu­tion est bien évidem­ment la simu­la­tion d’en­ceintes d’am­pli­fi­ca­teurs guitare/basse. La tech­no­lo­gie permet de repro­duire de manière fidèle (mais sans les non-linéa­ri­tés addi­tion­nelles donc) toute la chaine de prise de son après l’am­pli­fi­ca­teur, à savoir l’en­ceinte et ses haut-parleurs, mais aussi la couleur de l’am­pli­fi­ca­teur de puis­sance utilisé pour la mesure, l’acous­tique de la pièce, la direc­ti­vité et la réponse en fréquence du micro­phone et de sa posi­tion devant l’en­ceinte, etc. C’est pour cette raison que depuis 15 ans, on a pu voir fleu­rir des centaines de compi­la­tions d’IR gratuites et payantes sur les inter­nets, dont la qualité peut être très variable en fonc­tion des condi­tions de mesures et des trai­te­ments addi­tion­nels appliqués sur les IRs… Certaines socié­tés proposent égale­ment des tech­no­lo­gies proprié­taires basées plus ou moins sur la convo­lu­tion, et une compa­ti­bi­lité avec les IRs tierces addi­tion­nelle, dont on en repar­lera très prochai­ne­ment (ici démo sans et avec la simu­la­tion).

Démo Cab Sim
00:0000:22

Mais là où les choses sont vrai­ment deve­nues inté­res­santes à mes yeux, c’est lorsque les déve­lop­peurs ont inté­gré ces usages clas­siques, puis ont cher­ché à les augmen­ter de diffé­rentes manières. Déjà il n’est pas rare que les STANs, qui intègrent presque en majo­rité un effet interne de trai­te­ment par convo­lu­tion, proposent égale­ment des outils pour la capture d’IR, et pour leur trai­te­ment en live. On pourra ainsi captu­rer la signa­ture sonore direc­te­ment dedans d’une machine exté­rieure ou d’un plug-in, appliquer des enve­loppes de volume et de fondu sur l’IR, la resam­pler pour la rendre plus courte ou plus longue, la filtrer d’une certaine manière ou lui appliquer des modé­li­sa­tions de l’im­pact de l’im­pé­dance d’une enceinte sur l’am­pli­fi­ca­teur de puis­sance, la mixer avec d’autres, la placer dans une posi­tion donnée de l’es­pace stéréo ou multi­ca­nal, la « déré­ver­bé­rer » ou augmen­ter au contraire la densité de réver­bé­ra­tion avec du délai et des diffu­seurs, et expor­ter le résul­tat final sous forme d’une IR seule, réuti­li­sable ainsi ailleurs.

AudioThing Fog Convolver 2

Quelques produits remarquables comme Audio­Thing Fog Convol­ver 2 ou Lese Audio Tech­no­lo­gies Eigen vont même jusqu’à permettre la géné­ra­tion d’une base arti­fi­cielle de réver­bé­ra­tion à partir de bruits blancs et de modé­li­sa­tion physique, ce qui permet ensuite de faire des choses plus ou moins complexes et réalistes grâce aux trai­te­ments sus-cités, quand un Fabfil­ter Pro-R 2 se permet de faire carré­ment l’in­verse, à savoir de lire une IR pour esti­mer les para­mètres d’un algo­rithme de réverbe clas­sique qui devra coller le plus possible au son de l’IR, avec des possi­bi­li­tés de person­na­li­sa­tion en plus !

indoor-location-2

En parlant de spatia­li­sa­tion, la véné­rable société Audio Ease qui propo­sait déjà Alti­verb il y a quelques années, a sorti depuis des produits remarquables orien­tés plutôt post­pro­duc­tion, tels que Indoor et Spea­ker­phone. Le premier permet de géné­rer via la convo­lu­tion des ambiances acous­tiques, je dirais moins gran­di­lo­quentes que ce qu’on utilise pour la musique, telles que celles d’une maison avec une géomé­trie donnée et avec la possi­bi­lité d’y dépla­cer un micro­phone virtuel. Spea­ker­phone est plutôt une boite à outils qui propose une combi­nai­son d’ef­fets, de brui­tages, de musiques libres de droits et de réponses impul­sion­nelles de bidules pouvant être mises en série pour géné­rer des ambiances plus ou moins réalistes et plus ou moins barrées ou lo-fi.

Et puis évidem­ment l’usage que person­nel­le­ment je préfère avec la convo­lu­tion et les IRs, c’est le sound design au sens large. Il ne s’agira pas seule­ment de créer ou d’uti­li­ser des IRs avec des réponses en fréquence ou des réver­bé­ra­tions éton­nantes, mais aussi d’es­sayer d’uti­li­ser à peu près tout et n’im­porte quoi niveau signal audio comme base, avec quelques trai­te­ments supplé­men­taires si besoin ! Il sera alors inté­res­sant de voir comment le fait de la consi­dé­rer comme une IR plutôt que comme un son va permettre de combi­ner ses carac­té­ris­tiques soniques à celles du signal à trai­ter, avec des résul­tats d’une qualité et d’un inté­rêt plutôt aléa­toire, qui auront parfois pour effet de rajou­ter du contenu musi­cal ou harmo­nique en plus des aspects pure­ment fréquen­tiels ou dyna­miques. D’ailleurs, alors que cet usage était plutôt peu conven­tion­nel il y a quelques années, il est éton­nant de consta­ter qu’aujour­d’hui les librai­ries de Diego Stocco ont eu des petits, que ce soit avec des plug-ins dédiés à l’usage, ou avec la partie expé­ri­men­tale de la librai­rie d’IRs d’un Able­ton Live par exemple (petite démo ci-dessous).

Démo Convo­lu­tion Expe­ri­men­tal
00:0002:17

Conclu­sion

Nous avons donc fait un tour d’ho­ri­zon de ce qu’est la convo­lu­tion pour la M.A.O. aujour­d’hui et de ce que nous pouvons en faire. Mais il me reste à abor­der un dernier sujet. Dans la première version de cet article de 2005, j’avais abordé quelques recherches en cours qui permet­taient de « géné­ra­li­ser l’opé­ra­tion de convo­lu­tion et la capture de maté­riel » à des systèmes non LTI, c’est-à-dire non linéaires ou variants dans le temps. En effet, le concept qui consiste à captu­rer les carac­té­ris­tiques sonores d’un joujou en lui envoyant un signal parti­cu­lier, en l’en­re­gis­trant et en le trai­tant, était telle­ment enthou­sias­mant qu’il était égale­ment frus­trant, devant la somme des éléments impos­sibles à captu­rer par la tech­no­lo­gie. Déjà à l’époque on parlait d’amé­lio­ra­tions scien­ti­fiques possibles qui pour­raient débou­cher sur de nouveaux plug-ins et effets (séries de Volterra, « convo­lu­tion dyna­mique » avec l’IR qui change en fonc­tion de l’éner­gie du signal, etc.). Il se trouve qu’une société italienne, Acus­tica Audio, a réussi à faire quelque chose dans ce sens, pour des effets faible­ment non linéaires et pour les modu­la­tions. D’autres égale­ment ont produit des tech­no­lo­gies plutôt dédiées à la simu­la­tion d’en­ceintes. Mais globa­le­ment, je trouve que ces approches ne satis­font pas les promesses initiales.

Alors a-t-on fina­le­ment aban­donné cette idée ? Et bien non juste­ment, et je voudrais conclure là-dessus en forme de petit clin d’œil aux ques­tions que je me posais en 2005. Il se trouve que l’idée a fait son chemin et trouvé plusieurs solu­tions depuis, que ce soit avec l’es­ti­ma­tion des para­mètres d’al­go­rithmes géné­riques par des mesures (ça commence par un K) et surtout avec le Machine Lear­ning ! Mais ça sera le sujet d’un prochain article :)

En atten­dant, j’an­nonce en avance que nous allons publier prochai­ne­ment deux dossiers supplé­men­taires de type « guide d’achat », qui contien­dront une liste non exhaus­tive de produits gratuits et payants perti­nents pour que vous puis­siez vous amuser avec la convo­lu­tion. Le premier sera dédié aux réver­bé­ra­tions et aux proces­seurs de convo­lu­tion géné­ra­listes, tandis que le deuxième sera centré autour de la simu­la­tion d’en­ceintes d’am­pli­fi­ca­teurs, avec à chaque fois quelques réfé­rences de banques d’IR à télé­char­ger (aka les irré­cu­pé­rables).

Bonne convo­lu­tion à toutes et à tous !

 

Auteur de l'article Wolfen

Développeur freelance pour de nombreuses sociétés dans le domaine de l'industrie musicale, créateur de la marque Musical Entropy, et musicien qui achète plus de matos qu'il n'en joue


Vous souhaitez réagir à cet article ?

Se connecter
Devenir membre