Page 1 sur 1

LinFIR - Mesures et égalisation FIR/IIR

Posté : 18 mars 2026, 08:49
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

Re: LinFIR - Mesures et égalisation FIR/IIR

Posté : 18 mars 2026, 10:14
par Dagda
Merci pour le partage Arnaud :D

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

D.

Re: LinFIR - Mesures et égalisation FIR/IIR

Posté : 18 mars 2026, 10:37
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.

Re: LinFIR - Mesures et égalisation FIR/IIR

Posté : 18 mars 2026, 16:38
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.

Re: LinFIR - Mesures et égalisation FIR/IIR

Posté : 18 mars 2026, 16:45
par Dagda
Tu travailles en ASIO ?

Re: LinFIR - Mesures et égalisation FIR/IIR

Posté : 18 mars 2026, 17:00
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.

Re: LinFIR - Mesures et égalisation FIR/IIR

Posté : 18 mars 2026, 17:08
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 ?

Re: LinFIR - Mesures et égalisation FIR/IIR

Posté : 18 mars 2026, 17:20
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).