jzu

Aller au contenu | Aller au menu | Aller à la recherche

Despiker & Satana

Le Despiker est un petit plugin LADSPA. Il ne marche pas tout le temps. Il est même possible que la différence soit peu audible pour certains.

C'est normal. Le problème est complexe. Le besoin n'est pas moins courant : la récupération d'enregistrements où des saturations numériques ponctuelles brouillent l'écoute. Le Despiker fonctionne assez bien dans ces cas-là.

Il ne convient pas du tout à d'autres cas de distorsion. Un signal saturé sur une période plus longue que quelques dixièmes de seconde reste saturé et le filtrage opéré le dégrade encore de manière apparemment aléatoire. Quand c'est le micro qui sature au départ, les mouvements de la membrane provoquent des interférences sur une plage de fréquences beaucoup trop large et avec une amplitude trop faible pour qu'elles puissent être détectées et atténuées. Hormis ces cas de figure, en se restreignant à celui de la pure saturation numérique, ce plugin a son utilité. Et une autre, aussi, découverte par hasard, mais voyons d'abord son fonctionnement.

Le principe consiste à appliquer un filtre passe-bas uniquement sur les parties de l'onde qui dépassent une valeur donnée, celle-ci étant déterminée par la pifométrie la plus rigoureuse. Ce filtre repose sur une matrice de convolution à une dimension dont les coefficients ont été déterminés avec la même rigueur méthodologique que la valeur du seuil (à vrai dire, il existe des séries de valeurs optimales).

Quant à l'algorithme, il est constitué de trois étapes.

  1. À chaque fois que le signal passe par zéro, et donc qu'il change de signe, cette position dans le flux est stockée pour pouvoir y revenir par la suite.
  2. Quand l'intensité du signal dépasse le seuil, un indicateur est mis à 1.
  3. Dès que le signal repasse par zéro, et si l'indicateur est positionné, il est réécrit depuis le point de repère précédent, en y appliquant la matrice de convolution qui a tendance à gommer les détails et donc les hautes fréquences.

Les plateaux créés par une saturation numérique verront leurs angles arrondis et pourront même disparaître s'ils sont étroits. Petite démonstration en images pour un cas un peu extrême :

Avant (extrait)

Après (extrait)

Et pour un signal moins saturé :

Signal d'origine, non traité

Signal traité par Despiker

J'ai découvert accidentellement une autre utilité à cet algorithme. Sur une piste « propre », c'est-à-dire sans saturation, mais où figurent aléatoirement des pics n'ayant rien à voir avec la dynamique de la musique, on ne peut pas normaliser à 0 dB de manière efficace. Les pics doivent être fastidieusement retouchés à la main pour arriver à un niveau global décent. Ce programme les gomme automatiquement et sans toucher au reste. L'effet est insensible quand des pics isolés sont traités. On peut ensuite amplifier la piste à environ 1 dB de plus par rapport au niveau d'origine.

Ce comportement fait tout de suite penser à celui d'un compresseur/limiteur. Et c'en est un, finalement, bien que primitif et d'une utilité très limitée. Il est toujours possible de relancer le cycle plugin + amplification mais au risque d'impacter de plus nombreuses parties d'ondes et donc de rendre le traitement audible.



Ce qui peut être intéressant, à condition d'appliquer le même principe d'une manière un peu différente dans un autre contexte. C'est tout l'objet de Satana (Saturation Analogique), qui dérive du Despiker. Le signal y est traité indépendamment d'un quelconque seuil, mais sur chaque point du signal proportionnellement à l'amplitude de ce point. Un signal faible est laissé quasiment tel quel alors que les échantillons proches de la saturation passent entièrement par le filtre passe-bas.

L'évolution du mix entre le signal brut et le signal traité peut être linéaire ou suivre une fonction quelconque du moment que f(0)=0 et f(1)=1 ; par exemple, j'aime bien sin(x*π/2) en ce moment.

Le résultat, qui dépend des coefficients de convolution et de la fonction d'application du filtre, ressemble de loin à une saturation analogique. Je voudrais arriver à celle d'une bande de magnétophone dont les VU-mètres sont calés dans le rouge. Idéalement, la fonction choisie devrait représenter le comportement de la bande quand on la pousse dans ses retranchements. Il est malheureusement très difficile, voire impossible, de trouver des exemples pertinents de l'évolution du spectre d'un signal au fur et à mesure qu'il sature une bande magnétique et il faudrait donc mettre en place un banc d'essai avec un Revox (quand j'aurai moins la flemme). Pour l'instant, il donne un son plutôt proche d'un ampli aux lampes rincées.

Bah. Satana fonctionne assez bien pour mes besoins, même s'il est ralenti par cette fonction d'application du filtre.

Satana peut aussi servir à récupérer une saturation numérique (un étage asymétrique pour les harmoniques paires suivi d'un symétrique pour les impaires) en la transformant en distorsion simili-analogique, dans les cas où on veut, pas forcément le son d'origine, mais un son, au sens de « un son particulier ». Le filtre passe-bas contrôlé par les 2e et 3e paramètres du plugin remplace celui du Despiker en plus progressif.

Je m'en sers surtout comme compresseur. L'altération du son, réelle et audible, n'est pas désagréable quand on cherche plus l'efficacité que la haute-fidélité, sans l'effet de « pompage » des compresseurs habituels quand ils sont poussés à bloc.

Reprenons le deuxième exemple de traitement par Despiker, cette fois en appliquant Satana avec comme paramètres

  • Compression = 1 (une seule itération de la compression)
  • Sélectivité = 2.2 (pas mal de points seront traités)
  • Efficacité = 25 (nombre maximum de coefficients, donc très filtré)
  • Volume = 1 (inchangé... mais le volume perçu sera plus élevé).


Signal d'origine, non traité

Signal traité par Satana (C=1, S=2.2, E=25, V=1)

Si on pousse le premier paramètre, qui contrôle le nombre de fois que l'on applique la fonction de compression, la distorsion devient extrêmement perceptible au point de devenir un effet en soi. Le résultat n'est pas désagréable sur une guitare mais c'est tout ; la plupart des pédales d'overdrive de base sont bien meilleures. Il serait possible de l'améliorer en ajoutant un autre étage de saturation asymétrique et surtout en travaillant l'équalisation avant l'effet, mais ce n'est pas le but de la manœuvre.

Les deux plugins tournent sous Linux, sans problème avec Audacity ou Mplayer. En revanche, avec Ardour, une friture bizarre apparaît, peut-être due aux denormals, peut-être due à la nature « temps réel » de cette application. Cela dit, Mplayer traite le flux audio un peu de la même manière qu'Ardour sans que les symptômes apparaissent, et le plugin débarrassé de tout le code de traitement provoque le même phénomène dans Ardour.

Un binaire de Satana existe pour MacOS X mais reste expérimental pour l'instant faute de disposer d'une plate-forme de compilation stable. Quant à Windows, rien n'est prévu hormis quelques #includes. Une bonne âme pourra toujours forker le repo Github et tripoter le Makefile... Avis aux amateurs.

Le Gecko Électrique

Logo Gecko Électrique

Le dénommé Kleuck fabrique des pédales d'effet qui, de l'avis général, tuent les ours à mains nues. Si la plus réputée dans le microcosme de certains forums est le Ballast Trouble Booster, un treble booster qui ajoute du grain au son, la Screamin' Red Toad m'intéressait spécialement pour remplacer une MXR Distortion + de 1974, parfaite avec des single coils, trop boueuse avec des humbuckers.

J'ai pris les deux sur la foi de quelques démos sur Youtube. Il a fallu quelques mois pour qu'elles arrivent ; c'est du fait main, avec peu de stock puisque l'activité ne fait que démarrer. La production semble un peu mieux maîtrisée aujourd'hui. Peut-être.

Screamin' Red Toad

Ça sonne. Putain de Dieu, qu'est-ce que ça sonne. Le Screamin' Red Toad fait exactement ce que j'en attendais : graou-graou, mais en respectant la dynamique du jeu. Les variations d'intensité au médiator sont parfaitement restituées, au contraire de pas mal d'autres overdrives. Oui, je parle bien de vous, Ibanez.

Tous les réglages sont utilisables, tous, et le son gagne toujours une qualité tubale qui rend l'effet quasiment indispensable quand on joue à travers un ampli à transistors.

Démonstration chez Kleuck. Et une autre par Mikka Grytviken.


Ballast Trouble Booster

Le Ballast Trouble Booster, lui, remplit un rôle déterminant et largement sous-estimé, celui du préampli qui monte le niveau au moment d'une intervention qui doit trancher dans le mix. Il en existe plusieurs variétés dont les clean boosts, qui ne font en théorie rien d'autre que monter le niveau de quelques dB, et les treble boosters qui ajoutent des aigus. Le BTB appartient à cette famille mais salit le signal pour l'enrichir et il fait très bien son boulot, comme j'ai pu le constater en concert. D'autres treble boosters passent mieux dans des amplis « à l'anglaise » (Marshall, Vox, Orange) que dans des amplis typés Fender dont le clean comporte déjà beaucoup d'aigus ; mais celui-ci fonctionne très bien avec un Hot Rod.

Là aussi, démonstration par l'exemple (et l'exemplaire Doc Loco).


Mais comment ça marche-t-y ? Les circuits restent secrets car, à force de réflexion et d'essais, Kleuck a trouvé quelques astuces inédites en matières de composants, de polarisation et d'architecture. Tout est connu mais le diable est dans les détails, et ces détails se retrouvent dans le spectre du signal traité. Et dans le son, car Kleuck n'est pas qu'un électronicien ; son principal outil de mesure est sa paire d'oreilles et ça s'entend.

Il n'empêche, j'aime essayer de comprendre. Sortons notre casquette de hacker et analysons tout cela. Rassure-toi, cher (et rare) lecteur, on va faire dans le graphique. Le visuel.

Prenons un signal vers les 250 Hz, celui d'une vuvuzela d'une onde sinusoïdale provenant d'un logiciel comme Audacity sur un portable dont la sortie audio est connectée à l'entrée ligne d'un autre PC. Il faut que le niveau de sortie soit compatible avec celui d'un micro de guitare, quelques centaines de millivolts, afin de ne pas fausser les résultats en attaquant l'effet de manière trop différente des conditions nominales. On peut alors le faire passer à travers ces pédales pour étudier l'onde qui en résulte.

Voici ce qui se passe, en gros. L'onde sinusoïdale de départ est traitée d'abord par le SRT, ensuite par le BTB, tous les potentiomètres étant réglés à 12 heures.

Dry - SRT - BTB

Pourquoi les formes d'onde sont-elles si différentes ? C'est que leur contenu harmonique l'est tout autant. Audacity, comme la piupart des logiciels de traitement audio, permet de lancer une transformée de Fourier rapide ou FFT.

Sinusoïde de base Le signal d'origine

SRT - Gain=12, Tone=12 Traité par le SRT, tout à 12h

BTB - Trouble=12, Boost=12 Traité par le BTB, tout à 12h


Screamin' Red Toad

La forme de l'onde - et le spectre - dépend bien sûr des réglages.

SRT Gain Tone Formes d'onde selon les réglages du SRT

On voit ci-dessous l'évolution du contenu harmonique du signal traité selon que le Gain et le Tone sont réglés à 12h ou à 16h.

SRT - Gain=12h, Tone=12h SRT, Gain=12h, Tone=12h

SRT - Gain=12h, Tone=16h SRT, Gain=12h, Tone=16h

SRT - Gain=16h, Tone=12h SRT, Gain=16h, Tone=12h

SRT - Gain=16h, Tone=16h SRT, Gain=16h, Tone=16h

L'intensité respective de chaque harmonique dépend donc avant tout du Gain, le Tone se contentant d'atténuer ou de renforcer uniformément les aigus.


Ballast Trouble Booster

Le Ballast Trouble Booster ne se laisse pas analyser si facilement. En théorie, il sert à monter le niveau et à renforcer les aigus en ajoutant du grain. Dans la pratique, on s'aperçoit qu'il retire des graves et que le contenu harmonique se restreint quand on monte le Trouble, alors qu'il reste constant quelle que soit la position du Boost. Ma version est la « First Run », un des premiers exemplaires fabriqués, avec deux potentiomètres. La version actuelle comporte trois réglages et le dernier permet de doser la coloration.

BTB - Formes d'onde 'Formes d'onde selon les réglages du BTB''

BTB-t10b10.gif BTB, Trouble=10h, Boost=10h

BTB-t12b12.gif BTB, Trouble=12h, Boost=12h

BTB-t12b14.gif BTB, Trouble=12h, Boost=14h

BTB-t14b12.gif BTB, Trouble=14h, Boost=12h

BTB-t14b14.gif BTB, Trouble=14h, Boost=14h

On ne s'en rend pas forcément compte a priori, mais le réglage des potentiomètres à 10 heures n'est pas intéressant quand on joue en groupe. Le son est trop riche, pas assez précis. Mon réglage favori est actuellement vers les 14 heures pour les deux réglages, là où le spectre est le moins fourni, comme s'il s'agissait en fait d'un filtre passe-bande. Une règle fondamentale du mixage veut que pour qu'un instrument perce, pas la peine de le monter ou de le rendre plus massif, il faut retirer des fréquences pour éviter que les instruments ne se marchent sur les pieds.


Et les autres ?

On va maintenant comparer avec d'autres pédales d'effet mais, comme je n'ai pas d'autre overdrive ni de booster, je vais prendre en exemple des distorsions classiques :

Une MXR Distortion + de 1974, Distortion à 12h

MXR Distortion +

Une vieille saleté italienne avec un circuit à la Fuzz Face, tout à fond

Playful Distortion

Une EHX Double Muff (en mode double), les deux potards à 15h

EHX Double Muff

Surprise, la EHX, à la dernière ligne, montre une courbe relativement similaire à la SRT.

Disto+ - Fuzz Face - Double Muff Formes d'onde pour une Distortion +, une Fuzz Face et une Double Muff

Mais ce n'est pas si simple qu'il y paraît et la SRT est en fait assez différente de la Double Muff par son contenu spectral, comme on pouvait s'y attendre à l'écoute (qui est quand même l'outil le plus fiable d'évaluation d'un effet)...

La Distortion + ne présente aucune harmonique seconde et peu d'harmoniques de rang élevé.

Spectre Distortion + MXR Distortion +, Distortion=12h

La pseudo-Fuzz Face fout un bordel insensé dans le spectre avec une harmonique seconde égale en intensité à la fondamentale et le reste à l'avenant, d'où sa courbe assez particulière.

Spectre FF Clone de Fuzz Face, Distortion=max

Pour la bonne bouche, l'analyse de son spectre montre que la Double Muff ne donne aucune harmonique paire mais beaucoup plus d'harmoniques de rang élevé. Ce dernier point explique qu'elle ne soit pas resté très longtemps sur mon pedalboard - assez bonne pédale, cela dit, mais pas ce que je cherchais. La Screamin' Red Toad donne un spectre plus complet et plus resserré.

Spectre Double Muff 15h*2 Electro-Harmonix Double Muff, Muff1=15h, Muff2=15h


Enfin...

N'oublions pas que ces mesures ont été effectuées in vitro et que le contenu harmonique peut changer en fonction du comportement de l'étage d'entrée de l'ampli dans lequel est injecté le signal, pour ne pas parler des caractéristiques propres à l'ampli lui-même et à son baffle. On peut donc faire ce qu'on veut de l'étude qui précède, comme s'en servir de référence pour comprendre un peu ce que font les effets de distorsion, ou pour savoir comment comparer une autre pédale. Ou la mettre au panier en considérant que l'auteur du billet est définitivement irrécupérable.

SLAB - Slug Audio Blaster

Après le Phaseur Arduino, l'étape suivante était logiquement un système embarqué sous Linux afin de pouvoir gérer assez de RAM pour des effets comme l'echo et, peut-être, la reverb, en plus du flanger. Enfin, un vrai système d'exploitation avec un compilateur et un serveur SSH ! Ça change de l'IDE limité et des transmissions série de l'Arduino. Parfois, j'aime mes aises. Et une vraie carte-son permet de s'affranchir des bricolages d'I/O analogiques et d'obtenir un rapport signal-bruit correct.

Parmi tous les matériels compacts pouvant tourner sous GNU/Linux, le Linksys NSLU2, alias Slug, est un choix logique parce qu'il est très largement supporté et qu'il comprend 2 ports USB. Plusieurs distros pour processeur ARM sont disponibles dont SlugOS/LE, qui ne m'a pas convaincu (trop compliqué à customiser, surtout alors que je pensais encore utiliser jack) et Debian. Le seul vrai inconvénient de Debian est l'ajout obligatoire d'espace disque supplémentaire, ce qui implique d'utiliser un des ports USB pour une clef de 2Go. La carte-son choisie est un dongle USB appelé C-sound, compatible usb-audio, trouvé sur eBay pour 4 €.

Le contrôleur ? Une wah chinoise à 16 € (+fdp) dépouillée de son électronique et un peu bricolée pour pouvoir se servir réellement du switch. N'importe quelle wah mécanique fera l'affaire, en évitant de préférence les wah chinoises comme la mienne qui ne sert qu'à prototyper. Les Morley, Behringer et autres pédales à commande optique sont donc à oublier pour l'instant. Le potentiomètre de 100 kΩ est connecté à un convertisseur 15 broches analogigue -> USB. Sa résolution de 7 bits n'est ni plus ni moins pathétique que les joysticks USB habituels mais les potards de ceux-ci ne sont pas compatibles. Il faudrait aussi que je retrouve ce fabricant anglais de convertisseurs analogique-numérique pas trop chers, qui ont une bien meilleure résolution.

Ok, il faut trois ports USB au total, donc ajouter un hub. Pas grave car il peut être passif, mais le joystick doit être connecté en direct sinon il marche très mal (un hub actif n'y change rien). Deux câbles USB vont donc de la pédale au Slug.

Ensuite, quelle couche logicielle attaquer ? Jack est tentant sur le papier mais, sérieusement, il n'y a ici rien à multiplexer et ses capacités « temps réel » dépendent avant tout de la couche ALSA sous-jacente. Malgré l'étrange avis du tutoriel de l'API ALSA concernant le full-duplex (In a word: JACK), on peut parfaitement lire et écrire sur la même carte-son.

Le code, sous GPL, est structuré en gros en :

  • Thread séparé du joystick ;
  • Initialisation de la carte-son en full-duplex ;
  • Boucle de traitement avec l'enchaînement d'effets ;
  • Diverses fonctions de gestion des indicateurs lumineux, d'affichage de debug, gestion des signaux, etc.

Dans les données, on notera surtout

  • procbuf, le buffer circulaire où le signal est traité ;
  • joyval, indiquant la position du potard de la pédale, dont il faut intégrer les variations pour éliminer les fluctuations engendrant des distorsions ;
  • sinus, un tableau de valeurs pre-calculées pour pallier l'absence de FPU sur cet ARM.

On compile le source unique par :

$ gcc -g -Wall -lasound -lthread -o slab slab.c

et c'est tout. Si l'exécutable résultant est lancé par root, il permet en plus de commander les petites lumières du Slug qui indiquent quels effets sont enclenchés. Le flag -d fait afficher des messages de debug.

ALSA ne se laisse pas programmer facilement. Comme le rappelait déjà Alan's clob en parlant de ses efforts sur Gnuitar, il faut en passer par une palanquée de fonctions de bas niveau quand, la plupart du temps, on voudrait simplement ouvrir une carte-son avec des paramètres par défaut. Heureusement, ALSA fournit des variantes suffixées par _near pour ajuster les paramètres en interne si ceux qui ont été passés ne correspondent pas exactement à ce qu'accepte la carte.

L'echo et le flanger fonctionnent plutôt bien. Il faut intégrer la valeur du joystick de manière différente dans les deux effets pour ne pas voir apparaître d'altération. Pourquoi ? Parce que je ne sais pas m'y prendre, probablement.

La distorsion modélise plus ou moins un étage de sortie en push-pull d'ampli à lampes. Plutôt moins que plus, hein. Disons qu'il génère un bon paquet d'harmoniques tierces grâce à une fonction de transfert en quart d'onde sinusoidale, qu'on applique récursivement pour accentuer l'effet.

Le gros problème est la latence, dans les 22 ms, en partie due au bus USB auquel est raccordé la carte-son. Ce délai est perceptible (il gêne le jeu) sur les effets non temporels comme la distorsion ; beaucoup moins sur les effets d'ambiance où la précision est moins cruciale. L'USB n'est pas le seul coupable car j'observe aussi des latences avec la carte-son d'un vieux portable IBM 240 sur lequel tourne le programme.

En conditions réelles, on doit pouvoir sélectionner deux effets par les poussoirs rouges situés devant la pédale. Un troisième, plus petit, situé juste au-dessous d'eux, permet de réinitialjser le programme - en fait de l'interrompre, le système le relançant par une boucle dans /etc/rc.local - au cas où une série de write_underrun engendre un délai énorme (une seconde) que l'on ne peut plus faire disparaître : il faut resetter toute la stack ALSA. Je ne maîtrise pas encore tout de l'API, d'où peut-être ce délai étonnant qui apparaît au playback quand, lors des tests, le traitement s'effectue aux dépens des I/O.

La latence de base et l'absence de FPU limitent sérieusement les possibilités. Il faudrait tester avec un système du type PC embarquant une carte-son intégrée mais cela reviendrait beaucoup plus cher que les 140 € de l'ensemble. Un vieux portable comme l'IBM dont il est question plus haut pose des problèmes potentiels de fiabilité (disque dur, à remplacer par de la SSD ?) et de solidité mécanique (boîtier plastique) qui interdisent son utilisation sur scène. Et la latence n'y disparaît pas totalement, loin de là (qu'en dit le projet Gnuitar ?). Je recherche surtout une manière de lire les trames USB au plus bas niveau pour démiauler les données brutes et les réinjecter directement après traitement. Sans trop d'espoir, mais à vrai dire sans trop de motivation non plus : quand le système sera complètement intégré, d'ici quelques soudures, il fera malgré tout exactement ce qui lui était demandé au départ, et je pourrait l'intégrer à mon pedalboard pour remplacer la Cry Baby qui remplace l'airFX.

Les photos !

Le Slug et la carcasse de wah : SLAB - premier essai

Les éléments, de haut en bas - NSLU2, hub sur lequel est monté clef USB et carte-son, convertisseur joystick, carcasse (sans les boutons) : SLAB 2

L'intégration dans le boîtier : Slab complet

Les samples !

Premier essai. Clairement, cette pédale souffre, il faut faire quelque chose.

Ça marche ! Son clean, en direct sur une console de mixage.

Avec une fuzz devant, on peut jouer avec la résonance pour obtenir une mélodie par-dessus les accords. La résolution imparfaite du convertisseur USB donne des notes discrètes au lieu d'un portamento continu.

Les liens !

Le Phaseur

Update: English translation avalaible at http://jzu.blog.free.fr/index.php?pages/Le-Phaseur

L'airFX prenant trop de place sur le pédalier, il avait giclé au profit d'une wah de base, mais j'avais toujours besoin de cet effet de flange malade qu'on peut entendre par exemple sur Youpi Youpi Yeah (la chanson) - enfin, moins maintenant, mais bon - et, après tout, pourquoi ne pas bricoler un effet numérique ? Il existe déjà une pédale se voulant open source dont le manque de succès est peut-être dû à son prix élevé, dans les $300. On peut baisser les coûts en utilisant un Arduino, par exemple, si on n'a pas besoin de trop de mémoire ni de définition, et puis ça peut être cool d'architecturer soi-même tout le système. Il faut quand même faire un peu d'électronique, et savoir optimiser son code car on ne dispose là que d'un pauvre micro-contrôleur ATmega168 à 16 MHz avec quelques kilo-octets pour le programme et 1 kilo-octet pour les données, y compris la stack. Juste de quoi piloter un lave-vaisselle. Ou fabriquer un effet de déphasage lo-fi.

Arduino

Le déclic est venu d'un article d'Instructables où, même si les effets n'avaient pas trop d'intérêt et s'il s'y glissait deux ou trois erreurs, son auteur, kylemcdonald, posait toutes les bases nécessaires que ce soit au niveau matériel ou logiciel. Ma solution est maintenant un peu différente sous ces deux aspects mais n'aurait jamais vu le jour sans cet article.

En attendant le circuit commandé aux USA, j'ai commencé par tester mes idées de « flange variable » avec Audacity pour valider l'algorithme à employer en décalant un signal de quelques millièmes de seconde et en faisant varier ce décalage. Le colis reçu, on commence le boulot d'intégration avec l'adaptation des entrées-sorties audio. En entrée, il faut 5 volts alors que le signal d'une guitare est de l'ordre de quelques centaines de millivolts. En sortie, c'est l'inverse. Il faut donc un étage d'amplification comme un ampli op (le LT1006 convient pour 5 volts) en entrée et un diviseur de tension en sortie. L'entrée analogique autorise 10 bits mais, pour obtenir une sortie d'une résolution au moins aussi correcte, il faut combiner deux sorties numériques 8 bits en PWM en ajustant les résistances de sortie pour que l'une soit d'une valeur 256 fois supérieure à l'autre. Enfin, on peut obtenir 5 volts à partir de 9 volts avec un régulateur de tension sur un radiateur. Quelque chose comme ça, les parties en pointillés étant optionnelles :

Schema adapatation Phaseur

A posteriori, je vois bien que le circuit d'entrée est buggé et que les filtres passe-bas ne sont pas nécessaires. Mais il a suffit à obtenir du son au bout de quelques essais difficiles, avec le proto du circuit d'adaptation sur un breadboard.

phaseur1.jpg

Les premiers essais avec le prototype complet - dont une vieille pédale italienne nullissime recyclée pour l'occasion - donnent ce sample. Attention aux oreilles sensibles.

Phaseur complet 1

Et finalement, on peut embarquer une version définitive dans la vieille wah. La correction du circuit électronique donne un meilleur résultat du point de vue de la saturation mais le son devient bien moins intéressant malgré le sample and hold involontaire (interférences au niveau du multiplexeur d'entrées analogiques audio et potentiomètre ?)

phaseur8.jpg

Le code du Phaseur, sous licence Artistic 2.0, est rébarbatif et simple en même temps. Rébarbatif en raison de la proximité du matériel qu'aucune librairie n'isole du programmeur (« Cachez ces registres que je ne saurais voir »). Simple car l'algorithme consiste à mélanger l'échantillon courant avec ce qu'on a écrit dans le buffer circulaire juste un peu plus tôt, selon la position de la pédale. Tout se passe dans loop().

À suivre. Car, même si un autre effet est prévu sous Linux avec des possibilités de traitement de qualité CD et de la mémoire a gogo, l'Arduino reste une solution efficace - car sans système d'exploitation - si on se contente de 8 ou 10 bits de résolution. Une fois que l'électronique d'adaptation sera au point et que le son obtenu sera correct, il suffira de décaler l'offset de la polarisation et de monter le gain pour obtenir l'effet cradingue du premier sample qui plaît tant à certains (et terrorise les autres).

Alesis airFX

Il y a quelgues années, Warren m'avait parlé de son airSynth qu'il avait acheté pour des queues de cerises car personne n'en voulait. Il m'a donné envie de tester l'airFX, qui est la version effet pour DJ. Mais avec une guitare.

alesis_airFX_main.jpg

C'est un de ces engins bizarres qu'Alesis sort régulièrement pour les poubelliser trois ans plus tard. Ici, nous avons un gros socle plat surmonté d'un dôme contenant des capteurs infrarouges permettant de moduler trois paramètres de l'effet sélectionné, selon la position de la main dans l'espace. Il comprend 49 présélections accessibles par l'espèce de grosse molette, non modifiables mais les réglages en 3D compensent un peu cette limitation.

Oooh, on dirait qu'il y a de quoi s'amuser, j'en veux un, j'en veux un... Facile, il n'intéresse personne. J'ai donc eu un des derniers exemplaires chez Thomann, au tarif de déstockage. On en trouve encore aujourd'hui pour moins de 100 € sur la baie et ailleurs.

Il a fallu réaliser l'adaptation à la guitare, d'abord par un petit boîtier contenant 3 jacks (1 in, 2 out) et 2 interrupteurs (mono/stéréo, on/bypass). Au lieu de la main, j'agitais le pied au dessus du dôme - pas pratique - jusqu'à l'arrivée d'un socle en bois. Même après, il fallait toujours se baisser pour actionner l'interrupteur. Solution : un switch fugitif monté sur un pied de meuble, lequel intègre aussi les jacks et des potentiomètres d'adaptation du niveau.

pedalboard2.jpg

En groupe, je ne me servais plus que d'un seul patch, une sorte de flanger où le LFO est remplacé par le positionnement du pied au-dessus du dôme.

L'airFX a maintenant disparu de mon pedalboard de scène pour cause de place manquante, remplacé temporairement par une Cry Baby en attendant une pédale numérioue home-made en cours de réalisation qui reproduirait ce fameux flanger. On en reparle bientôt.