Modérateurs: Staff DIY, Staff Installations, Staff Juridique • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

Pour discuter de tout ce qui sert dans un projet DIY, de la défonceuse au logiciel de mesure

rePhase: linéarisation de phase, EQ et filtrage FIR

Message » 25 Oct 2012 22:54

l'accident de phase à 400Hz est présent sur les deux enceintes, et récurrent?
pos
 
Messages: 1996
Inscription: 07 Mai 2007 16:36
  • offline

Annonce

Message par Google » 25 Oct 2012 22:54

 
 
Publicite

 
Encart supprimé pour les membres HCFR

Message » 26 Oct 2012 0:41

oui,elle apparait sur les deux enceintes (d'autres supplémentaires sur celle de droite aussi ).
340/380 Hz =90 cm,le mur arrière est à 45 cm.
de mémoire,le sonogramme à 1 M montre aussi la réflexion à 2.7 ms.

l'impulse à 1 M. mur arrière à 50 cm.
Image

récurrente,je ne sais pas.
je ne pas fait d'autre mesure,j'utilise le PC portable,donc le filtre actif analogique.
c'est surtout pour avoir un aperçu.

je n'avais pas de câble assez long ,du préamp micro au PC fixe.
je referai tout de A à Z,la méthode est rodée .

là,c'est le boxon avec tous les fichiers (.wav et .txt),sur 2 ordinateurs avec 3 OS différents.

un petit détail pour rephase:il serait possible de fixer les ordonnées du graph à -150 dB par défaut ?
cela permettrait de ne pas s'oublier sur le nb de taps pendant la génération.
sinon,la sauvegarde prévue settings+correction sera la bienvenue.

avec un PC correct on peut faire du bass management,façon velodyne sms-1,
j'ai joué un peu,c'est 32000 taps mini,pour des F trés basses et seuil à -100 dB.c'est faisable.
dans VSThost,on peut même ajouter plusieurs subwoofer avec chacun son traitement spécifique
on peut aussi rajouter une carte son...il y a de quoi faire.
Dernière édition par thierry38b le 26 Oct 2012 1:38, édité 1 fois.
thierry38
 
Messages: 892
Inscription: 26 Jan 2006 18:42
  • offline

Message » 26 Oct 2012 0:57

J'avais fixé l'echelle par défaut à -70dB pour permettre une visu par défaut utilisable à la fois en correction de phase (surveiller les eventuelles variations d'amplitudes), en EQ légère, et en filtrage...
C'est aussi l'echelle par défaut de Holm, donc je trouvais ça pratique.

La prochaine version (que j'aurais déjà du sortir le weekend dernier...) aura la sauvegarde de tous les params (j'etais retissant, mais si tout le monde est pour je m'incline, et puis ca sera effectivement plus simple que d'avoir 2 fichiers séparés...). Peut etre même l’échelle du graph sauvegardée aussi pourquoi pas?...
Ce sera un nouveau format de sauvegarde plus compact (fichier .rephase, mais on pourra lire les anciens json aussi) avec une option spéciale dans le menu fichier pour les charger/sauver depuis le clipboard, et pouvoir les échanger sur le forum, dans une balise code (il seront en base64).
L'idée sera de faire un topic spécial ou chacun pourra poster ses corrections pour telle ou telle enceinte: une sorte de banque de corrections sur le forum.

Reste à trouver un découpage propre et clair entre nom du fichier rephase, nom à afficher en haut de la fenetre, et nom du fichier d'impulse généré...
Il faut réfléchir aux scénarios d'usages précis.
(si vous avez des idées...)

Pour le nb de taps je l'ai limité à 99999 pour le moment, mais c'est peut etre insuffisant pour les corrections sub que tu evoque? Peut etre simplement un petit message d'alerte quand ca depasser 65536 taps (et aussi sur le déali que ca implique)...
Apres tout vu le temps que prend la generation dans ce cas on peu bien cliquer sur une boite en plus.

Les avis et suggestions sont les bienvenus.
pos
 
Messages: 1996
Inscription: 07 Mai 2007 16:36
  • offline

Message » 28 Oct 2012 21:03

rePhase 0.9.0 est en ligne:

https://rephase.org/

Code: Tout sélectionner
0.9.0  2012-10-28
    - new file format '.rephase', saving/loading all settings, including
      correction settings, impulse settings, and graph settings
      (old '.jason' files can still be loaded, but impulse and graph
      settings get reset)
    - impulse file is now a three-part thing: directory, filename, and
      format extension. The directory is the only thing that is not saved
      in the '.rephase' file
    - '.rephase' files can be loaded upon start (as a parameter or by drag
      and drop on rephase.exe) or by drag and drop on the user interface
    - new offset option "float" for fractional sample centering, avoiding
      HF ripples in the impulse when the phase target is not a multiple
      of 180° at the Nyquist frequency
    - make "rectangular" the default window function: this should be the
      best choice for phase-only corrections, and "complex" windowing is
      not needed anymore with the "float" offset
      Note: "rectangular" window is still likely to be the worst choice
      for filter generation, when gain target goes far below 0dB...
    - new "ovelapping" filters, to be used for example in the midbass
      region, under Schroeder's frequency...
    - stereo wav formats are now available
    - bug correction in offset calculation in time=inv mode
Dernière édition par pos le 15 Mar 2019 12:29, édité 2 fois.
pos
 
Messages: 1996
Inscription: 07 Mai 2007 16:36
  • offline

Message » 29 Oct 2012 0:16

Bonsoir Pos,

Merci pour tout,si on pouvait évaluer une progression dans le chaînage Hi-Fi, c'est un bond "technique" intéressant ,c'est bien grâce à rePhase.

un petit bouton donnation ... :grr:
a+

Thierry.

PS:je suis passé sur cantabile lite pour toute les convolutions. (freeware,et aussi pour le filtrage actif ).
Dernière édition par thierry38b le 29 Oct 2012 16:51, édité 1 fois.
thierry38
 
Messages: 892
Inscription: 26 Jan 2006 18:42
  • offline

Message » 29 Oct 2012 3:36

Salut Thierry,

Merci pour ces mots très sympas :thks:
Pour le bouton donation je le mettrai peut être pour la version 1.0.0, mais ça a l'air chiant à faire avec la nouvelle interface de projet de sourceforge...

j'ai mis à jour le changelog de la 0.9.0: j'avais oublié qq morceaux (par exemple le chargement du fichier au démarrage, pour Denis, et aussi en drag and drop sur l'interface...)

J'ai voulu faire qq comparaisons pour montrer l'effet du centrage de l'impulse en float, mais du coup en testant je me suis aperçu que l'option centering 'int' (l'ancien standard) ne marchait pas...
C'est fixé dans une nouvelle version 0.9.1... (désolé pour ceux qui avaient déjà téléchargé la précédente)
Code: Tout sélectionner
0.9.1  2012-10-29
    - centering 'int' option was not working, this is now fixed
    - more explicit error message when loading a wrong setting file


Bon, du coup voici qq screenshots d'impulse de linéarisation d'un filtre LR24 à différentes fréquence pour montrer l'effet du nouveau calage à la fraction de sample, avec en bleu un calage au sample près (option 'int', équivalent au fonctionnement de rephase 0.8.4), et en rouge le calage à la fraction de sample ('float', la nouvelle option).
( cf viewtopic.php?p=177249525#p177249525 )

LR 24 à 1khz:
Image


LR24 à 2khz:
Image


LR24 à 4khz:
Image


LR24 à 8khz:
Image


LR24 à 16khz:
Image


On voit apparaitre un ringing à la freq de Nyquist (ici 22.05khz) à mesure que l'on monte la freq du crossover et que la phase s'éloigne d'un multiple de 180° à cette fréquence finale...
Le windowing "complex" réduisait quasiment à néant les effets de ce ringing sur la courbe d'amplitude, mais il restait visible sur l'impulse, et donc sans doute sur un CSD. Avec l'option 'float' la chose est réglée, et le windowing "rectangular" devient de windowing par défaut (pour les corrections de phase, car pour le filtrage il vaut mieux utiliser nuttall ou d'autres windows pour éviter les ripples...).
Cette option float marche comme ça en interne: le calcul de la phase target est shifté d'un délai permettant d'atteindre exactement le plus proche multiple de 180° à la fréquence de Nyquist, et l'offset de centrage de l'impulse est ensuite décalé de ce délai pour retrouver le target de phase original. Ce délai est toujours compris dans +/- 0.5 sample (ie +/- 90° à la freq de Nyquist).

A noter également que les corrections ne touchant pas la phase (par exemple pour du filtrage pur) ne sont pas concernées...
pos
 
Messages: 1996
Inscription: 07 Mai 2007 16:36
  • offline

Message » 29 Oct 2012 10:45

Hello,
encore un grand coup de chapeau pour le perfectionnisme de Pos !
Une simple petite pensée, par rapport au ringing éliminé dans la dernière version de rePhase: lorsque le ringing est en dehors de la bande passante du système, il n'y a pas d'effet néfaste à redouter.
Et en particulier, le "système" qui nous intéresse est assez bien limité par l'audition... :ane: : même avec des grandes oreilles, pas grand chose à craindre amha d'un ringing à 22KHz... ou à 15Hz.
Un dirac échantillonné contient d'ailleurs un ringing "implicite" à Fe, certains softs le visualisent d'autres non.
Il reste que pour la tranquillité d'esprit et l'aspect visuel des figures, ça ne peut pas faire de mal :ohmg:


Sinon, un aperçu du travail du WE:
Focal 1028Be:
Image

Focal CC1028Be:
Image
(mesure perturbée par l'environnement proche, c'est une centrale intégrée dans un meuble de living)

Cabasse Bisquine MK2:
Image
Pour cette dernière je ne suis pas parvenu à parfaire le résultat à 20Khz (il reste +120°), d'ou l'allure encore biscornue de l'impulse corrigée.

Aucune de ces améliorations de phase ne semble audible "facilement". Des écoutes plus poussées sont à faire... Attention (encore une fois) à bien ajuster les niveaux, l'impulse générée par rePhase ayant une influence globale sur le niveau en sortie de convolution même si aucune correction d'amplitude n'est programmée, et variable selon les corrections de phase appliquées.

De mon coté j'ai commencé le développement d'une simple convolution offline, qui devrait permettre d'améliorer le workflow avec REW/rePhase en rendant inutile de refaire une mesure à chaque ajustement de la correction (donc le même type de fonctionnalité que le C=A*B de holm, que je n'ai pas réussi à faire marcher sous 7). Je le mettrais en ligne dès que suffisamment abouti, si cela intéresse quelqu'un.

Par ailleurs si quelqu'un a une idée d'une correction de phase générique à apporter pour un casque, dans le grave uniquement, je suis preneur.
Denis31
Pro-Fabricant
Pro-Fabricant
 
Messages: 4527
Inscription: 16 Sep 2005 9:50
Localisation: Toulouse
  • online

Message » 29 Oct 2012 11:00

Denis31 a écrit:Aucune de ces améliorations de phase ne semble audible "facilement". Des écoutes plus poussées sont à faire... Attention (encore une fois) à bien ajuster les niveaux, l'impulse générée par rePhase ayant une influence globale sur le niveau en sortie de convolution même si aucune correction d'amplitude n'est programmée, et variable selon les corrections de phase appliquées.


Je n'ai pas fait attention a ca :idee:
J'ai considere que sans correction d'amplitude je n'avais pas a me soucier de cela...
En ce qui me concerne, pas eu le temps de faire des ecoutes attentives...

La correction apportee par rePhase permet deja une plus grande lisiblite des courbes de phase ou de reponse a l'echelon :)
Ok, on peut dire que si a l'ecoute ca ne sert a rien, le plaisir de voir une phase plus propre n'est qu'un plaisir intellectuel :mdr:

Mais en corrigeant uniquement dans une premiere approche ce qui vient de la construction de l'enceinte on voit d'une part intuitivement que l'on corrige dans la bonne direction (par rapport a l'approche DRC "automatique" on est un peu plus confiant) et d'autre part les defauts residuels dus a la piece sont plus facilement identifiables.

Au final je trouve ca tres pedagogique, la prise en main avec HOLM par exemple n'est pas si ardue et cela oblige a se poser des questions :)

Franchement, merci d'avoir passe autant de ton temps et de mettre cet outil a disposition :thks:
palm
 
Messages: 5732
Inscription: 30 Nov 2003 1:34
Localisation: Nord
  • offline

Message » 29 Oct 2012 13:29

Denis31 a écrit:Attention (encore une fois) à bien ajuster les niveaux, l'impulse générée par rePhase ayant une influence globale sur le niveau en sortie de convolution même si aucune correction d'amplitude n'est programmée, et variable selon les corrections de phase appliquées.

Bonjour Denis,

C'est bizarre, le niveau devrait rester parfaitement identique et à 0dB si aucune correction de gain n'est faite. Ca n'est pas ce que tu observe en chargeant l'impulse de correction dans HOLM par exemple? Le niveau du pic de l'impulse va varier (par étalement), mais normalement pas le niveau moyen (temporellement) de la réponse convoluée.
Est ce que la diff que tu observe ne peux pas être due au soft de convolution? Par exemple dans le convolver de foobar on peut avoir des surprises si on laisse l'option "auto level adjust" enclenchée.
Une autre possibilité c'est que tu ai des saturations: en bougeant la phase on peu deplacer/creer des pics dans le signal qui n'existaient pas avant correction, et donc saturer (c'est très bien expliqué dans la doc de phase arbitrator: http://www.thuneau.com/Loudspeaker%20Ph ... 0Guide.pdf ). Cependant en règle générale c'est l'inverse qui va se produire: les pics vont être étalés et sertont normalement plus loin du 0dB. Mais le niveau RMS doit rester le même...
Que constate tu exactement? Aurais tu un cas d'exemple que je puisse reproduire?

De mon coté j'ai commencé le développement d'une simple convolution offline, qui devrait permettre d'améliorer le workflow avec REW/rePhase en rendant inutile de refaire une mesure à chaque ajustement de la correction (donc le même type de fonctionnalité que le C=A*B de holm, que je n'ai pas réussi à faire marcher sous 7). Je le mettrais en ligne dès que suffisamment abouti, si cela intéresse quelqu'un.

Cool!
On pourra travailler sur les moyens de communiquer efficacement entre les deux applis, comme on en avait parlé.
L'absence de convolution en interne est pour l'instant la critique qui revient le plus du peu de retours que j'ai de diyaudio.

Par ailleurs si quelqu'un a une idée d'une correction de phase générique à apporter pour un casque, dans le grave uniquement, je suis preneur.

Peut etre juste un closed box 1édB/oct en ajustant la fc sur le -3dB donné dans les specs?
Idéalement il faudrait avoir la courbe de réponse du casque (qui doit etre à phase minimale dans le bas), mais il parait que ces courbes sont en général assez peu fiables. Et ca doit bcp dépendre du "couplage" avec les oreilles de chaque auditeur à ces freqs non?
pos
 
Messages: 1996
Inscription: 07 Mai 2007 16:36
  • offline

Message » 29 Oct 2012 14:05

Une petite idée d'évolution, dites moi ce que vous en pensez:
Par rapport à une approche type DRC, rephase se concentre plutot sur des corrections "théoriques", donc sans forcement reposer sur de la mesure (même si on peu (et doit) l'utiliser, au moins pour les freqs où on peut mesurer de manière fiable).
Hors est ce qu'on ne pourrait pas pousser un peu plus loin ces corrections théoriques en essayant par exemple de prendre en compte l'impact des murs les plus proches? (à la fois en niveau et aussi temporellement).
exemple: viewtopic.php?p=177257483#p177257483

Si on pouvait modeliser l'impact des murs très proches sur les frequences basses (ie les murs suffisamment proches vis à vis des longeurs d'onde que l'on s'autorisera à modéliser/corriger) on pourrait corriger leur impact à la fois de niveau et temporel, et conserver une réponse cohérente à pleins de points d'ecoute (et quand la longeur d'onde devient critique vis à vis de la distance on se contente éventuellement d'une correction de niveau uniquement).
En gros l'idée serait "d'integrer" ces murs proches au modèle de l'enceinte elle-même (par exemple le sol sur une enceinte equipée d'un woofer situé très bas et qui monte dans le bas medium, genre une JBL 4345...), et de les corriger...
Quel serait l'impact face à une simple correction de niveau? Quel serait le danger?
Bas fréquence il y aura peu de danger, mais sans doute très peu de gain, et plus haut en frequence il y aura potentiellement un gain, mais des risques d'artefacts et accidents si on s'ecarte trop d'une position d'ecoute idéale... (les "interactions" temporelles ne seront plus celles corrigées!).
Bref, l'interet pourrait etre dans le bas medium (la zone la plus dure à bien gérer je trouve...) pour des enceintes proches d'un mur/sol...
Comme c'est exactement la configuration que j'ai chez moi j'ai bien envie de tester!
pos
 
Messages: 1996
Inscription: 07 Mai 2007 16:36
  • offline

Message » 29 Oct 2012 14:32

Est ce que la diff que tu observe ne peux pas être due au soft de convolution?

Possible en effet j'utilise SIR avec l'option autogain, le pb vient peut-être de là. A suivre...

Denis31 a écrit:Par ailleurs si quelqu'un a une idée d'une correction de phase générique à apporter pour un casque, dans le grave uniquement, je suis preneur.


Peut etre juste un closed box 1édB/oct en ajustant la fc sur le -3dB donné dans les specs?

Why not, mais la validité de la f-3 "constructeur", j'ai de gros doutes.
Denis31
Pro-Fabricant
Pro-Fabricant
 
Messages: 4527
Inscription: 16 Sep 2005 9:50
Localisation: Toulouse
  • online

Message » 29 Oct 2012 15:12

pos a écrit:Si on pouvait modeliser l'impact des murs très proches sur les frequences basses (ie les murs suffisamment proches vis à vis des longeurs d'onde que l'on s'autorisera à modéliser/corriger) on pourrait corriger leur impact à la fois de niveau et temporel, et conserver une réponse cohérente à pleins de points d'ecoute (et quand la longeur d'onde devient critique vis à vis de la distance on se contente éventuellement d'une correction de niveau uniquement).
En gros l'idée serait "d'integrer" ces murs proches au modèle de l'enceinte elle-même (par exemple le sol sur une enceinte equipée d'un woofer situé très bas et qui monte dans le bas medium, genre une JBL 4345...), et de les corriger...
Quel serait l'impact face à une simple correction de niveau? Quel serait le danger?
Bas fréquence il y aura peu de danger, mais sans doute très peu de gain, et plus haut en frequence il y aura potentiellement un gain, mais des risques d'artefacts et accidents si on s'ecarte trop d'une position d'ecoute idéale... (les "interactions" temporelles ne seront plus celles corrigées!).
Bref, l'interet pourrait etre dans le bas medium (la zone la plus dure à bien gérer je trouve...) pour des enceintes proches d'un mur/sol...
Comme c'est exactement la configuration que j'ai chez moi j'ai bien envie de tester!


Salut Pos,

J'etais arrive de mon cote il y a quelques temps a une idee similaire, sans avoir les competences pour bien cerner le probleme ni proposer une implementation :mdr:
Mais comment estimer le rayonnement de l'enceinte en fonction de la frequence?
Le createur d'Accourate proposait recemment sur sa mailing list une correction un peu dans le meme esprit: "virtual bass array".

On lit parfois au sujet de la correction que lorsque l'on egalise, on peut se permettre d'autres libertes qu'en installation hifi classique: en gros il est plus facile de corriger des murs proches - intuitivement les reflexions sont plus stables en fonction de la position que lorsque les murs sont eloignes.
palm
 
Messages: 5732
Inscription: 30 Nov 2003 1:34
Localisation: Nord
  • offline

Message » 29 Oct 2012 18:13

Salut palm
palm a écrit:Mais comment estimer le rayonnement de l'enceinte en fonction de la frequence?

Pour le mur arrière on peut s'appuier sur le baffle step, et calculer ce qui va toucher le mur arrière (et modéliser son absorbtion eventuelle?...) en fonction de la largeur du baffle.
Pour le reste (mur lateraux, sol, etc.) on pourrait aussi s'appuier sur le diametre du HP concerné...
Enfin c'est un jeu dangereux: si par exemple on veut prendre en compte un rebond sur un mur, dès que l'on changera de position l'offset du rebond changera aussi, et ca ne sera pas beau à voir...
Le sol c'est déjà plus jouable (et encore), et le mur arrière ca doit etre assez stable quelque soit le point d'ecoute...

Enfin bon c'est tout de même sans doute assez foireux: si le mur est proche vis à vis de la longueur d'onde considérée alors ca ne vaut pas le coup de corriger: on peut considerer qu'on a une sommation quasi en phase. Et si le mur est plus loin ca peut valoir le coup, mais les variations d'offset en fonction de la positions seront importants, et les artefact d'une correction non calée pourront se feront entendre...
Bref, ça parait tout de même intéressant à essayer, même si c'est sans doute voué à l’échec.
Disons au moins pour le mur arrière en dessous de la freq de baffle step par exemple, pour tester: c'est facile à modéliser et ça répondra aussi à ton besoin donc ça fera un retour intéressant
pos
 
Messages: 1996
Inscription: 07 Mai 2007 16:36
  • offline

Message » 29 Oct 2012 20:18

Denis, pourquoi tu ne mesures pas ton casque ?
Micro collé a l'écouteur.

Tu n'as jamais mis un écouteur sur le micro d'une salle en audio conf :mdr:
JIM
Membre HCFR
Membre HCFR
 
Messages: 5541
Inscription: 19 Nov 2001 2:00
Localisation: Toulouse
  • offline

Message » 29 Oct 2012 20:32

Je l'ai fait pour un intra-auriculaire, avec un petit manchon pour simuler le conduit auditif. D'ailleurs à l'époque je ne m'étais pas intéressé à la phase, m'en va voir ce que ça donne...
Pour un casque "normal", il faudrait une tête artificielle pour simuler correctement (enfin, au mieux) le couplage... j'ai pas :(
Denis31
Pro-Fabricant
Pro-Fabricant
 
Messages: 4527
Inscription: 16 Sep 2005 9:50
Localisation: Toulouse
  • online


Retourner vers Outils & Logiciels