Hello,
Je suis très heureux de vous annoncer la sortie de LinFIR 1.4.11. Je travaille depuis quelques temps sur une refonte de l'interface, et elle est enfin terminée. La colonne de gauche est maintenant un ensemble de cartes, une pour les réglages DSP cibles et une par haut-parleur, bordée de sa couleur, et chaque graphique a sa propre carte. Les onglets, boutons et titres ont le même aspect partout, et toutes les fenêtres secondaires suivent le même style, en thème clair comme en thème sombre. Le but était d'avoir quelque chose de plus lisible et intuitif, où l'on trouve ce dont on a besoin plus facilement. Au passage, j'ai ajouté le glisser-déposer pour réordonner les haut-parleurs et les graphiques.
En plus de la refonte, il y a quelques nouveaux outils. Auto-level, à côté de Auto-align delays, règle les gains pour que la réponse sommée soit aussi plate que possible sur toute la bande passante du système, crossovers compris. Et une correction du centre de rotation pour les mesures hors axe : si l'axe de votre table tournante n'était pas au niveau du baffle, les mesures hors axe sont décalées et la mesure polaire est un peu faussée. Vous indiquez donc où se trouvait l'axe, et LinFIR reconstruit les réponses hors axe comme si l'enceinte avait tourné autour de son baffle.
J'ai aussi passé beaucoup de temps sur le moteur de calcul. Le déplacement des curseurs avec plusieurs haut-parleurs est plus léger, le tracé des graphiques coûte une fraction de ce qu'il coûtait en ressources CPU, et le CQT et le Burst Decay du spectrogramme sont jusqu'à 13 fois plus rapides. Parmi la longue liste de corrections : l'Auto EQ s'arrêtait après sa première étape, les niveaux de splicing near-field pour les évents et radiateurs passifs étaient plusieurs dB trop bas. La sauvegarde et la fermeture sont aussi bien plus fiables qu'avant.
Le changelog complet : https://demaudio.com/doc/linfir/release-notes.html
Arnaud
LinFIR - Mesures et égalisation FIR/IIR
Modérateur : SYLEX
- Arnwald
- 49 dB
- Messages : 118
- Enregistré le : 20 févr. 2026, 20:33
- Localisation : Saxon, Valais, Suisse
- Contact :
Re: LinFIR - Mesures et égalisation FIR/IIR
Arnaud Demion
LinFIR — https://demaudio.com/linfir/
LinFIR — https://demaudio.com/linfir/
Re: LinFIR - Mesures et égalisation FIR/IIR
Bonsoir Arnaud,
Cette nouvelle version est effectivement plus agréable à utiliser, et son ergonomie a progressé.
J'ai notamment apprécié la nouvelle ergonomie du bandeau de gauche, plus net, qui fait gagner beaucoup de temps, puisqu'on passe pas mal de temps à naviguer visuellement du bandeau de gauche à un graphique ou à une fenêtre de paramétrage.
Une remarque de détail concernant la fonction "Niveaux automatiques".
Sur un de mes essais, je me suis retrouvé avec des niveaux respectifs de -26, -35 et -38dB environ sur les gains des trois voies. Je les ai recalés "à la main" de 26dB.
Ca ne change sans doute rien aux calculs de LinFIR, mais à quoi correspondent ces gains par voie ?
Pascal
Cette nouvelle version est effectivement plus agréable à utiliser, et son ergonomie a progressé.
J'ai notamment apprécié la nouvelle ergonomie du bandeau de gauche, plus net, qui fait gagner beaucoup de temps, puisqu'on passe pas mal de temps à naviguer visuellement du bandeau de gauche à un graphique ou à une fenêtre de paramétrage.
Une remarque de détail concernant la fonction "Niveaux automatiques".
Sur un de mes essais, je me suis retrouvé avec des niveaux respectifs de -26, -35 et -38dB environ sur les gains des trois voies. Je les ai recalés "à la main" de 26dB.
Ca ne change sans doute rien aux calculs de LinFIR, mais à quoi correspondent ces gains par voie ?
Pascal
- Jean Fourcade
- 130 dB
- Messages : 323
- Enregistré le : 08 avr. 2024, 14:56
Re: LinFIR - Mesures et égalisation FIR/IIR
Arnwald a écrit : ↑01 oct. 2026, 18:35 Le curseur de causalité de LinFIR est basé sur le filtrage homomorphique (en calculant le cepstre : https://fr.wikipedia.org/wiki/Cepstre ) pour séparer la composante causale et anticausale d’un signal. La proportion gardée entre les deux permet de passer d’un filtre phase linéaire à un filtre phase minimum (donc avec rotations de phase).
Le comportement de RePhase est accessible avec une option dans les réglages, mais je le déconseille fortement, on s’expose aux artefacts.
Merci pour ces explications sur le traitement du centrage de l'impulsion.Arnwald a écrit : ↑01 oct. 2026, 18:40 D’ailleurs, la tendance qu’a RePhase à cacher le résultat final (et les artefacts liés à de mauvais choix de conception de filtre) est une des raisons qui m’ont poussé à concevoir LinFIR avec un retour visuel direct du résultat. Pas de courbe théorique, on voit directement tout.
Chacun défend l'approche ergonomique et technique de son logiciel, et c'est tout à fait légitime. En revanche, présenter rePhase comme un outil qui « calcule mal » ou qui inciterait à faire de mauvais choix me semble réducteur. rePhase ne fait que calculer exactement ce que l'utilisateur lui demande.
Vous indiquez que rePhase tend à cacher le résultat final, contrairement à LinFIR. Certes. Mais du point de vue de l'utilisateur, c'est paradoxalement l'inverse qui se produit : en supprimant l'affichage de la cible théorique, LinFIR masque le fait qu'il n'arrive pas à appliquer la consigne demandée par l'utilisateur.
rePhase révèle immédiatement ce problème. À vouloir éviter d'afficher des filtres virtuels hors d'atteinte, on prive l'utilisateur d'un indicateur d'écart indispensable au diagnostic.
Concernant le calage du pic de l'impulsion dans la fenêtre, l'utilisateur ne progresse pas à aveugle sous rePhase : le logiciel affiche précisément les artefacts éventuels introduits par le fenêtrage. Caler l'impulsion autour de 25 % (comme le pratique jlo présent sur ce forum) est une méthode à phase mixte très courante et largement documentée.
Quelle que soit la rigueur mathématique des algorithmes employés si le budget de taps ne permet pas d'atteindre la résolution fréquentielle demandée, le filtre réel s'éloignera de la consigne.
En ce qui me concerne, l'absence d'affichage de cet écart entre la cible et le filtre calculé reste un point rédhibitoire.
- Arnwald
- 49 dB
- Messages : 118
- Enregistré le : 20 févr. 2026, 20:33
- Localisation : Saxon, Valais, Suisse
- Contact :
Re: LinFIR - Mesures et égalisation FIR/IIR
Parler de résultat théorique pour un filtre FIR n'a pas grand sens, puisque par définition le filtre a une réponse impulsionnelle finie. Pour un brickwall on afficherait une porte, pour une correction de phase ou de magnitude une réponse plate. Deviner le résultat final à partir de cette perfection théorique n'a jamais rendu le travail plus intuitif.Jean Fourcade a écrit : ↑06 oct. 2026, 09:12 Merci pour ces explications sur le traitement du centrage de l'impulsion.
Chacun défend l'approche ergonomique et technique de son logiciel, et c'est tout à fait légitime. En revanche, présenter rePhase comme un outil qui « calcule mal » ou qui inciterait à faire de mauvais choix me semble réducteur. rePhase ne fait que calculer exactement ce que l'utilisateur lui demande.
Vous indiquez que rePhase tend à cacher le résultat final, contrairement à LinFIR. Certes. Mais du point de vue de l'utilisateur, c'est paradoxalement l'inverse qui se produit : en supprimant l'affichage de la cible théorique, LinFIR masque le fait qu'il n'arrive pas à appliquer la consigne demandée par l'utilisateur.
rePhase révèle immédiatement ce problème. À vouloir éviter d'afficher des filtres virtuels hors d'atteinte, on prive l'utilisateur d'un indicateur d'écart indispensable au diagnostic.
Concernant le calage du pic de l'impulsion dans la fenêtre, l'utilisateur ne progresse pas à aveugle sous rePhase : le logiciel affiche précisément les artefacts éventuels introduits par le fenêtrage. Caler l'impulsion autour de 25 % (comme le pratique jlo présent sur ce forum) est une méthode à phase mixte très courante et largement documentée.
Quelle que soit la rigueur mathématique des algorithmes employés si le budget de taps ne permet pas d'atteindre la résolution fréquentielle demandée, le filtre réel s'éloignera de la consigne.
En ce qui me concerne, l'absence d'affichage de cet écart entre la cible et le filtre calculé reste un point rédhibitoire.
Le seul cas où une cible est réellement utile est la correction de magnitude, quand on vise une courbe précise. Dans ce cas, la cible s'affiche en superposition lorsque la fenêtre de configuration du filtre est ouverte et au premier plan (capture ci-jointe).
Et ce n'est de toute façon pas le seul retour: LinFIR affiche directement le résultat sur la magnitude, et l'onglet FIR permet de visualiser la réponse réelle du FIR lui-même, avant son application à la réponse impulsionnelle du haut-parleur. L'écart entre l'intention et le filtre réalisé est donc visible à chaque étape, sans qu'il faille le deviner.
Décaler le pic d'un filtre à phase linéaire n'est pas une vraie méthode à phase mixte. On tronque un filtre symétrique, et on introduit des oscillations de Gibbs.
Le traitement du signal impose toujours un compromis temps-fréquence. Ce qui sera « gagné » en pre-ringing et en latence via cette méthode sera perdu en lobes. Et si on fenêtre plus agressivement pour les réduire, alors on perd la résolution fréquentielle et le filtre devient moins efficace. Le curseur de causalité de LinFIR travaille directement sur la causalité du filtre pour conserver sa réponse en magnitude. La transformation cepstrale ne tronque rien : elle redistribue l'énergie dans le temps. La troncature au nombre de taps s'applique ensuite, comme pour n'importe quel FIR, mais son effet se voit directement sur le résultat.
C'est un choix assumé pour faire du traitement du signal propre. Le compromis est la linéarité de phase, ce qui est expliqué dans la documentation. Je ne vous oblige pas à utiliser LinFIR, mais merci de vérifier le fonctionnement du logiciel avant d'en décrire les limites.
Arnaud Demion
LinFIR — https://demaudio.com/linfir/
LinFIR — https://demaudio.com/linfir/
- Jean Fourcade
- 130 dB
- Messages : 323
- Enregistré le : 08 avr. 2024, 14:56
Re: LinFIR - Mesures et égalisation FIR/IIR
Me voilà rassuré
Bonne suite dans le développement de LinFIR.