LinFIR - Mesures et égalisation FIR/IIR

Modérateur : SYLEX

Avatar du membre
Arnwald
10 dB
Messages : 18
Enregistré le : 20 févr. 2026, 20:33
Localisation : Saxon, Valais, Suisse
Contact :

LinFIR - Mesures et égalisation FIR/IIR

Message par Arnwald »

Bonjour à tous,

Je crée ce fil pour partager les mises à jour que j’apporte à LinFIR, ainsi que pour recueillir des suggestions de fonctionnalités, des améliorations ou simplement des rapports de bugs.

J’ai commencé à développer LinFIR dans le cadre d’un projet DIY autour des filtres FIR, initialement pour concevoir des crossovers brickwall à phase linéaire, puis pour l’égalisation et la correction de phase. En tant qu’utilisateur Mac, j’étais assez limité par les solutions existantes…

Bref, je me suis un peu laissé happer par le projet, et j'ai décidé de le mettre à disposition de la communauté. Pour être 100% transparent, je vends une license pour l'utilisation des outils avancés, mais la mesure, la création et l'export de filtres sont disponibles pour tout le monde.

LinFIR est disponible pour Mac OS et Windows, et j'espère un jour pouvoir distribuer une version Linux. Techniquement je peux déjà le compiler pour cette plateforme, mais je n'ai pas de machine dédiée avec ce système pour tester et débugger. C'est dans les cartons, il me faut juste trouver un peu de temps. :D

Des tutoriels viendront aussi dans le futur, mais en attendant n'hésitez pas à poser des questions!

Vous pouvez trouver la documentation sous ce lien:
https://demaudio.com/doc/linfir/

Et pour le téléchargement de LinFIR c'est ici:
https://linfir.demaudio.com
 

POSTREACT(ions) SUMMARY

Arnaud Demion
LinFIR — https://linfir.demaudio.com
Avatar du membre
Dagda
Fondateur
Messages : 2019
Enregistré le : 08 mars 2024, 17:16
Localisation : Est parisien (94)
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Dagda »

Merci pour le partage Arnaud :D

Sachant que de plus en plus d'utilisateurs Windows migrent vers Linux ... :ane

D.
 

POSTREACT(ions) SUMMARY

https://www.youtube.com/@SoundPixelLab
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toutes réflexions pour ne pas offenser les imbéciles.
moonfly
85 dB
Messages : 192
Enregistré le : 30 sept. 2024, 15:36

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par moonfly »

je suis LinFIR depuis le début, j'ai d'ailleurs fait la dernière mise à jour ce matin.

''Sachant que de plus en plus d'utilisateurs Windows migrent vers Linux ...''

il y a bien longtemps que j'utilise du Linux en plus de Windows sur mes PC, j'aurais laisser tomber Windows définitivement mais il y a des applications qui ne fonctionnent qu'avec lui.
 

POSTREACT(ions) SUMMARY

Avatar du membre
Arnwald
10 dB
Messages : 18
Enregistré le : 20 févr. 2026, 20:33
Localisation : Saxon, Valais, Suisse
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Arnwald »

Je dois avouer que je m'arrache souvent les cheveux avec le stack audio de Windows... Il y a beaucoup d'instabilités et de jitter dans les callbacks audio, il faut être créatif pour que ça fonctionne correctement.
 

POSTREACT(ions) SUMMARY

Arnaud Demion
LinFIR — https://linfir.demaudio.com
Avatar du membre
Dagda
Fondateur
Messages : 2019
Enregistré le : 08 mars 2024, 17:16
Localisation : Est parisien (94)
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Dagda »

Tu travailles en ASIO ?
 

POSTREACT(ions) SUMMARY

https://www.youtube.com/@SoundPixelLab
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toutes réflexions pour ne pas offenser les imbéciles.
Avatar du membre
Arnwald
10 dB
Messages : 18
Enregistré le : 20 févr. 2026, 20:33
Localisation : Saxon, Valais, Suisse
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Arnwald »

ASIO et WASAPI sont supportés, mais aucun des deux n'a un comportement acceptable à mes yeux. J'ai eu des cas avec un jitter plus prononcé avec ASIO.

Pour donner une idée, là où scheduler de Windows permet de lire et écrire le buffer avec des variations de 10 à 150 ms, sous Mac les callbacks sont réguliers à 10^-4 voire 10^-6 ms... J'ai dû ajuster la taille du buffer de LinFIR sous Windows pour éviter les buffer underrun.
 

POSTREACT(ions) SUMMARY

Arnaud Demion
LinFIR — https://linfir.demaudio.com
Avatar du membre
Dagda
Fondateur
Messages : 2019
Enregistré le : 08 mars 2024, 17:16
Localisation : Est parisien (94)
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Dagda »

Ah ouai ...

Tu es en 96k Pour le traitement ?
J'allais dire que ASIO discutait normalement en direct avec la carte mais il me semble que WASAPI le fait aussi maintenant ?
 

POSTREACT(ions) SUMMARY

https://www.youtube.com/@SoundPixelLab
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toutes réflexions pour ne pas offenser les imbéciles.
Avatar du membre
Arnwald
10 dB
Messages : 18
Enregistré le : 20 févr. 2026, 20:33
Localisation : Saxon, Valais, Suisse
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Arnwald »

La fréquence d'échantillonnage est ajustable, selon ce qu'accepte l'interface.

Je n'ai pas regardé en détail comment ASIO et WASAPI géraient les ressources, dans les deux cas je n'ai accès qu'à l'API via une bibliothèque: j'ouvre les streams puis j'écris et lis les échantillons. Pour beaucoup d'applications ça serait "good enough", mais pour aligner temporellement des hauts parleurs il faut une référence temporelle stable... Et là j'ai dû adapter le buffer de synchronisation des flux entrants et sortants pour éviter les coupures...

C'est aussi pour cela qu'il est important d'utiliser un loopback physique comme référence temporelle pour éliminer le jitter résiduel (autrement la réponse impulsionnelle se déplace dans le temps d'une mesure à l'autre).
 

POSTREACT(ions) SUMMARY

Arnaud Demion
LinFIR — https://linfir.demaudio.com
Pio2001
130 dB
Messages : 615
Enregistré le : 18 mars 2024, 00:29

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Pio2001 »

Arnwald a écrit : 18 mars 2026, 16:38Je dois avouer que je m'arrache souvent les cheveux avec le stack audio de Windows... Il y a beaucoup d'instabilités et de jitter dans les callbacks audio, il faut être créatif pour que ça fonctionne correctement.
Est-ce que cela peut être lié aux glitches qui se produisent parfois quand on lit de l'audio ? Un petit clic de temps en temps, toutes les minutes. Surtout avec les interfaces USB (jamais dans la sortie casque du pc). Plus souvent avec Foobar2000 qu'avec Youtube.
 

POSTREACT(ions) SUMMARY

Avatar du membre
Dagda
Fondateur
Messages : 2019
Enregistré le : 08 mars 2024, 17:16
Localisation : Est parisien (94)
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Dagda »

La seul fois où j'ai eu des glitches c'était avec un notebook pas top dont le module WiFi foutait la merde en prenant de la ressource de manière régulière et qui faisait bugger l'USB.
Mais sur tout les autres PC que j'ai eu ou que j'ai utilisé, je n'ai jamais eu de souci de lecture, que ce soit avec Foobar, VLC, Youtube .... en Wasapi, ASIO, ... bref, même sur mon vieux coucou de 1998 je n'avais pas ça.

D.
 

POSTREACT(ions) SUMMARY

https://www.youtube.com/@SoundPixelLab
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toutes réflexions pour ne pas offenser les imbéciles.
pvrx
67 dB
Messages : 154
Enregistré le : 21 mars 2024, 14:02

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par pvrx »

Bonjour,
Et bravo pour ce super projet, déjà apparemment très abouti !
Sans avoir encore vraiment pris le temps de rentrer dans le sujet, je vois le travail accompli sur l'interface et l'ergonomie, bravo encore. Tu vas démoder rePhase...
J'ai vu dans Files/New project un choix Hypex FusionAmps, encore grisé. Quelles sont les perspectives ?

Pascal
 

POSTREACT(ions) SUMMARY

Avatar du membre
Arnwald
10 dB
Messages : 18
Enregistré le : 20 févr. 2026, 20:33
Localisation : Saxon, Valais, Suisse
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Arnwald »

Hello,
Merci beaucoup pour ce retour. :-)

Les projets dédiés aux modules Hypex sont réservés à la licence. Cependant, il est tout à fait possible d'exporter filtres, gains délais, etc. sous forme de projet HFD sans licence.
Les projets dédiés partent d'une demande que j'ai eue de la part de professionnels pour faciliter le flux de travail: le projet est figé sur les paramètres du hardware cible et contraint le nombre de biquads et de taps.

Arnaud
 

POSTREACT(ions) SUMMARY

Arnaud Demion
LinFIR — https://linfir.demaudio.com
Avatar du membre
Arnwald
10 dB
Messages : 18
Enregistré le : 20 févr. 2026, 20:33
Localisation : Saxon, Valais, Suisse
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Arnwald »

LinFIR 1.2.21 devrait bientôt être disponible.

J'ai pu corriger un comportement indésirable sous Mac, où les fenêtres redimensionnables étaient ouvertes dans un onglet quand l'app était en mode plein écran. De fait, de nombreuses fenêtres sont maintenant redimensionnables.

Les détenteurs de licence ont maintenant accès à la courbe de "listening window" (moyenne des réponses contenues dans les angles ±30° horizontal et ±10° vertical). La listening window peut être sélectionnée comme référence pour l'égalisation dans les filtres globaux (auto EQ et FIR de correction de magnitude). L'idée étant d'améliorer, en moyenne, la balance tonale dans la zone d'écoute.

Petite remarque concernant l'utilisation de la listening window comme référence: avec des hauts parleurs directifs (courbe de Directivity Index croissante), la courbe de listening window a une tendance décroissante. L'utiliser directement pour égaliser "flat" tend à booster le haut du spectre. Pour compenser ce phénomène, il suffit d'utiliser la target curve et de lui donner une tendance décroissante. :-)
 

POSTREACT(ions) SUMMARY

Arnaud Demion
LinFIR — https://linfir.demaudio.com
Avatar du membre
Arnwald
10 dB
Messages : 18
Enregistré le : 20 févr. 2026, 20:33
Localisation : Saxon, Valais, Suisse
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Arnwald »

Pour illustrer ici j'ai réglé le FIR de correction sur "On-axis":
Capture d’écran 2026-03-27 à 18.10.47.png
Et quand on passe à la listening window, on se retrouve avec une courbe montante dans les aigus:
Capture d’écran 2026-03-27 à 18.10.58.png
On peut corriger cela simplement en utilisant la courbe cible :wink :
Capture d’écran 2026-03-27 à 18.11.50.png
 

POSTREACT(ions) SUMMARY

Arnaud Demion
LinFIR — https://linfir.demaudio.com
pvrx
67 dB
Messages : 154
Enregistré le : 21 mars 2024, 14:02

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par pvrx »

Bonjour à tous,

J'ai commencé à "jouer" avec LinFIR, et je voulais faire part de mes premiers pas et impressions.
Cet outil est bluffant, et pour ceux qui se battent encore avec rePhase (ou qui ont renoncé), il représente une véritable révolution. Super boulot !
Ses avantages principaux (pour moi) : son ergonomie, l'immédiateté de ses effets (what you see is what you get), permettant une mise au point de la réponse et de la phase en quelques minutes !
Il faut bien sûr accepter de passer un peu de temps pour se familiariser avec l'outil (ça peut quand même prendre un peu de temps quand on n'est pas très dégourdi, comme moi...)

Avant de procéder aux premières mesures sur mon projet en cours, j'ai collecté des mesures de droite et de gauche dans mes dossiers : la mesure d'un grave en ground plane en extérieur (10RS430), la mesure d'un 8S219 et d'une ND1TP_16 sur pavillon X25, en extérieur également. Toutes ces mesures sont donc sans réflexion proche.
Ci-dessous l'importation brute de ces mesures :

Importations brutes.jpg

Une fois familiarisé avec l'outil , je suis déjà parvenu à ça (croisements à 350 et 1500Hz) :

Réponse et step.jpg

Chacun des graphes peut être observé individuellement en plein écran, et on peut afficher ou non les courbes des divers HP et la courbe somme résultante. L'alignement des impulsions est d'une grande facilité, lorsqu'on affiche simultanément les graphiques de magnitude, phase et impulsion.
J'ai une question : les résultats que j'ai obtenus sont apparemment impeccables, mais la courbe de phase globale du système n'est cependant pas horizontale. Elle montre une rotation de 720° environ sur toute la bande.

Réponse et phase.jpg

Comment l'analyser, et peut-on améliorer ce résultat ?

Par ailleurs, l'impulsion résultante présente un peu de pre-ringing. Le commentaire qui s'affiche quand on le survole est "pre ring : -46.6dB (likely masked)". Peut-on le réduire encore, ou est-ce inutile ?

Pre ring.jpg

Pascal
 

POSTREACT(ions) SUMMARY

Avatar du membre
Arnwald
10 dB
Messages : 18
Enregistré le : 20 févr. 2026, 20:33
Localisation : Saxon, Valais, Suisse
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Arnwald »

Salut Pascal,

Merci beaucoup pour ce retour. 🙂

Peux-tu me donner plus d'informations concernant tes crossovers? Je vois que tu as utilisé des filtres FIR, visiblement de type LR, mais comment as-tu réglé le paramètre de causalité? La forme des courbes de phase me fait penser qu'ils sont configurés avec une valeur de 1 (curseur à droite), ce qui donne des filtres phase minimum.

Cela expliquerait la rotation de phase globale. On voit d'ailleurs que la step response se fait en deux temps plutôt qu'avec un seul front montant, ce qui est caractéristique d'un crossover phase minimum.

Si je ne me suis pas trompé, en plaçant le curseur des filtres de crossover à 0 tu devrais voir la courbe de phase s'aplatir. Il ne faut pas s'inquiéter pour le pre-ringing qui apparaitra sur les réponses impulsionnelles individuelles des hauts parleurs, avec les filtres complémentaires des crossovers le pre-ringing s'annule. ;-)

Pour exemple, voici le résultat du projet de mes étudiants:
Capture d’écran 2026-03-31 à 12.20.51.png
Et l'ensemble des courbes:
Capture d’écran 2026-03-31 à 12.22.03.png

Les valeurs de pre-ringing sont indicatives. Je doute qu'un niveau si faible soit audible: il est tellement court et faible qu'il sera masqué par l'attaque.
 

POSTREACT(ions) SUMMARY

Arnaud Demion
LinFIR — https://linfir.demaudio.com
pvrx
67 dB
Messages : 154
Enregistré le : 21 mars 2024, 14:02

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par pvrx »

Bonjour Arnaud,
Mes crossovers sont en LR24, le curseur de causalité FIR est à 0.
Mais quand je regarde FIR Correction/configure, je vois le curseur de causalité à 1 ! Faut-il le passer à 0 lui aussi ?
En fait, je ne sais pas comment paramétrer correctement le menu ci-dessous, peux-tu aider ?
Je n'ai pas non plus compris le coefficient de Kaiser. Comment l'utiliser ?

FIR config.jpg
FIR config.jpg (64.57 Kio) Vu 254 fois
Pascal
 

POSTREACT(ions) SUMMARY

Avatar du membre
Arnwald
10 dB
Messages : 18
Enregistré le : 20 févr. 2026, 20:33
Localisation : Saxon, Valais, Suisse
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Arnwald »

Ok!

Donc c'est probablement autre chose. Peux-tu montrer toutes les réponses impulsionnelles? il y a peut-être un petit mismatch temporel. Sinon peut-être que ce sont les hauts parleurs eux mêmes qui ont ces rotations de phase, cela dépend aussi beaucoup de la charge acoustique.

La correction de magnitude me semble très bien telle quelle, il est préférable de la laisser avec une causalité de 1. C'est un bonus de l'égalisation phase minimum, cela corrige aussi un peu la phase.
Seule chose à modifier peut-être: restreindre la plage fréquentielle de correction. Je règle personnellement la fréquence min. et max. pour qu'elles correspondent à environ -40 dB de mon crossover. Cela éviter d'aller corriger en dehors de la bande passante finale. Ça ne changera pas forcément grand chose, mais il faut voir, parfois ça élimine 2-3 artefacts.

Il serait aussi possible d'activer la correction de phase pour aplatir un peu tout cela. Avec 1500 taps ça devrait être plutôt efficace.
 

POSTREACT(ions) SUMMARY

Arnaud Demion
LinFIR — https://linfir.demaudio.com
pvrx
67 dB
Messages : 154
Enregistré le : 21 mars 2024, 14:02

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par pvrx »

J'ai quand même passé à 0 la causalité dans FIR correction/configure, sans véritable changement dans la courbe de phase :

Phase 2.jpg
Concernant les plages de correction, le menu "manage IR" permet de modifier la fréquence de début (ce qu j'ai fait), mais pas la fréquence de fin, automatiquement fixée à 23.7kHz :

Manage IR.jpg
Manage IR.jpg (64.22 Kio) Vu 245 fois

Pourrais-u expliquer comment activer et paramétrer la correction de phase ?
Et le coefficient de Kaiser?

Pascal
 

POSTREACT(ions) SUMMARY

Avatar du membre
Arnwald
10 dB
Messages : 18
Enregistré le : 20 févr. 2026, 20:33
Localisation : Saxon, Valais, Suisse
Contact :

Re: LinFIR - Mesures et égalisation FIR/IIR

Message par Arnwald »

Pour restreindre la plage de fréquence de l'application du filtre de correction, ça se passe ici:
Capture d’écran 2026-03-31 à 13.31.29.png
Pour la correction de phase, il suffit de l'activer dans la même fenêtre, par exemple:
Capture d’écran 2026-03-31 à 13.33.51.png
Peux-tu montrer les réponses impulsionnelles
 

POSTREACT(ions) SUMMARY

Arnaud Demion
LinFIR — https://linfir.demaudio.com
Répondre