| |
Utilisateurs parcourant ce forum: aNtiile, wakup2
HP, Caisson, Filtre, Cablage, ...
» 27 Aoû 2012 0:03
rePhase est un outil de génération d'impulse ( finite impulse response, FIR), dans le but de corriger/filtrer un système. Une fois générée l'impulse doit être insérée dans le système de reproduction à l'aide d'un outil de convolution, soit software (genre plugin convolver, qui sont pour la plupart gratuits) soit hardware (par exemple l' openDRC de minidsp). L'amplitude et la phase peuvent être modifiées indépendamment l'une de l'autre. rePhase est un logiciel gratuit sans restriction d'usage, et sans garantie: toute responsabilité vous incombe quant à son usage.Il tourne pour le moment uniquement sous windows. On peut utiliser rePhase dans plusieurs buts (éventuellement combinés) : - linéariser la phase d'une enceinte existante, passive ou active (le but initial de ce logiciel), à la manière de phase arbitrator - égaliser un système sans modifier sa réponse en phase - réaliser un filtrage complet d'une enceinte, en phase linéaire (une convolution par voie) Voir les explications, tutos, et exemples d'usage dans les deux posts suivants . . téléchargement: http://sourceforge.net/projects/rephase/évolution : - Code: Tout sélectionner
0.9.6 2013-04-16 - show frequency, amplitude and phase from current cursor position in graph - improved measurement handling: * drag and drop loading * loading speed up (twofold increase) * gain and time offset settings * polarity inversion and phase hiding functionality * bypass option * description: name, number of points, frequency and dB ranges * ARTA format handling (trailing spaces in frequency column) - Save measurment inside *.rephase settings files together with corrections and other parameters - new 'constant shape' EQ, both for linear-phase and minimum-phase EQ. Equivalent to a constant Q EQ at 6dB, it keeps exactly the same shape at any dB setting. It should be preferred to constant Q and proportional Q at high dB settings as those two are bound to their 2nd order definition and have to stay in a +/-90 deg phase range, thus leading to odd gain shapes at high dB settings... - "What's new" menu entry, exposing this changelog, instead of having a separate REDAME file - bugfix when loading settings from version prior to 0.9.2: filter frequencies were lost - going back to forced 'middle' in energy centering when only linear-phase corrections are used - curve capture functionality teasing...
0.9.5 2013-04-06 - measurement import implementation, following HOLMImpulse import rules and interpolation strategy (first draft with limited functionality) - Nyquist frequency is now explicitly represented in gain result curve as a brickwall low-pass - result curves are now cleared upon settings reset or loading - improved energy centering algorithm - stop forcing energy centering to middle when only linear-phase corrections are in use - middle click on a fader reset its value to 0 - bugfix for result phase curve unwrapping - bugfix on curves when polarity is inverted and a phase range larger than +/-180° is chosen - bugfix for 1st order high-pass filters
0.9.4 2013-03-16 - crash at start problems (previsously requiring temp/ dir content to be deleted) should now be solved - up to 16 banks can now be used in paragraphic gain and phase EQ - removed bank EQ tabs (settings saved with banks EQ will be automatically reported to paragraphic EQ banks) - improved graph range options: frequency and phase range can now be set and saved in settings - new phase wrapping implementation, automatically adapted to current phase range - view mode (compact/normal/large) is now automatically saved and restored from one run to the next - double-click on a fader value entry reset the fader to 0 - improved raised cosine EQ. Interactions between EQs should now behave exacly like the "Ideal Graphic Equalization" exposed here in this application note: http://www.nordicsales.dk/imgdb/docs/lakewh_981.pdf - better precision for frequency entries (fractional up to 5 chars total to fit the entry) and appropriate up/down key binding (0.1hz steps under 10hz) - real 2/3 and 1/3 octave frequencies in paragraphic EQ sections (mandatory to make the raised cosine graphical EQ "magic" work...) - improved biquad precision (constant Q and proportional Q EQs) by adapting the sampling rate of each biquad to its fc - increased Q range (0.1 to 100) - improved phase deg precision in paragraphic EQ - added ESS sabre frequencies
0.9.31 2013-01-29 - mini bugfix for the taps entry...
0.9.3 2013-01-29 - new Paragraphic EQ implementation, with multiple EQ types: * constant Q minimum-phase (new default) * constant Q linear-phase * proportional Q minimum-phase * proportional Q linear-phase * constant slope linear-phase (former implementation) * raised cosine linear-phase (beta version...) ( bank EQ section remains constant slope linear-phase ) - FFT size can now be set by user (minimum size is two times the smallest power of two equal or bigger than the requested number of taps). Setting a larger FFT size makes generation and optimization slower, but can increase the precision of the optimization and also makes result curves more precise (just a visual effect for that one though: no effect on the actual impulse) - bug correction: negative gains can now be entered directly from the keybord in the Gain EQ Bank tab. - exit on repeted errors to avoid "panic mode" effect
0.9.2 2012-11-04 - added back '24bit LPCM mono' output format, missing since 0.9.0 - improved up/down key bindings on frequency entries - added up/down key bindings for taps entry, with color warnings for extreme values - new '1st order' and '2nd order' linear-phase filters, meant to be combined with an existing (and already corrected in phase) rolloff to obtain a linear-phase acoustical Linkwitz-Riley filter - made sure 'middle'+'float' centering ends up within -0.5/+0.5 sample from middle (was -1/+0.5)
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
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
0.8.4 2012-10-14 - new time inversion option in general tab, to reverse the generated impulse, thus opposing phase corrections. This can be used to better visually track a phase target (inverse during correction, and return to normal before generating the impulse), or to evaluate the audibility of a given correction with headphones for example (in this case the convolution of the impulse will simulate the speaker before correction) - confirmation box when exiting whithout saving modified correction settings, and avoid asking for confirmation on reset when correction where saved or loaded without modification - Improves advice section in the linear filter tab, and add one in the linearization tab
0.8.3 2012-10-12 - range choices in paragraphic EQs (up to +/- 48dB and 720°) - improve arrow keys binding after click in faders - stop constraining frequencies to 16Hz-25khz in paragraphic EQs (now 1hz-99khz like in EQ banks) - ask for confirmation before resetting correction settings - bug correction when resetting settings ("wrong format") - stop using '.rephase' as default extension when saving an impulse
0.8.2 2012-10-07 - try to play nice with multiple screens - new "large" layout, and "View" menu for layout choice - change Q interpretation for phase EQ to be more in line with gain EQ (to maintain an ascending compatibility, phase corrections saved from versions 0.8.0 and 0.8.1 get their Q divided by 1.8 upon loading)
0.8.1 2012-10-03 - fix small bug with slope/ratio display when loading a FIR filter
0.8.0 2012-10-02 - real-time amplitude/phase curves for both target and result - save/load correction settings (/!\ beware /!\, still experimental) - Horbach-Keele 'last' ratio (special tweeter) is now a different filter type for ease of use and clarity reasons - added some more window functions
0.7.6 2012-09-20 - resolved (hopefuly) some issues with windows XP with the program refusing to actually start
0.7.5 2012-09-18 - bug fix (crash during otpimisation step)
0.7.4 2012-09-16 - bug corrections - optimization iterations are now faster - new optimization options ("moderate" and "extensive") - Horbach-Keele filters (ratio above 4.5 is the special "tweeter" ratio) - "Reject low" and "Reject high" filters for higher low or high rolloff
0.6.0 2012-08-26 - first version on SourceForge
Dernière édition par pos le 16 Avr 2013 2:39, édité 32 fois.
No loudspeaker system even approaches real life so there is plenty of room for interpretation - Greg Timbers
-
pos.
-
- Messages: 1422
- Inscription: 07 Mai 2007 15:36
-
» 27 Aoû 2012 0:04
Dernière édition par pos le 25 Fév 2013 1:09, édité 15 fois.
No loudspeaker system even approaches real life so there is plenty of room for interpretation - Greg Timbers
-
pos.
-
- Messages: 1422
- Inscription: 07 Mai 2007 15:36
-
» 27 Aoû 2012 18:24
Merci Merci Merci Juste un petit essai de génération d'une impulse (filtre LR24dB à 500Hz et LR12 à 5kHz) avec la phase. J'ai décalé la courbe de 1dB avec l'image du gabarit correspondant aux filtres choisis sous Arta. Ce n'est pas une mesure, juste une vérification de l'impulsion générée.  Bravo et merci de nous faire partager ça, c'est clairement un outil qui pourrait être payant et qui correspond parfaitement aux besoins d'un filtrage actif par convolution. Je préfère cette approche de tout maîtriser plutôt qu'une correction inverse à partir d'une mesure et d'une courbe cible. Les filtres actif, même FIR vont devoir revoir leur copie ! Je ne sais pas si tu as vu mais Jriver possède visiblement la possibilité de faire de la convolution et le filtrage actif, il faut que je creuse encore un peu et fasse des essais mais ça va être une solution terrible. Jriver fait la convolution en 64 bits, tu as la possibilité de rajouter ce format en sortie ? Autre évolution possible, ajout des corrections Phase et amplitude de type Hi/Lo-Shelv ? Je vais tester les autres possibilités. Encore bravo et merci ................. et aux filtres traditionnel 
-
JIM.
-
- Messages: 1428
- Inscription: 19 Nov 2001 1:00
- Localisation: Toulouse
-
» 27 Aoû 2012 18:52
JIM a écrit:Jriver fait la convolution en 64 bits, tu as la possibilité de rajouter ce format en sortie ?
Avoir les coeff en 64 bits est vraiment complétement overkill ! (as tu calculé le raport S/N?) Que la convolution utilise pour ses calculs intermédiaires un accumulateur sur 64 bits peut avoir son utilité, mais les coefficients  ... De mon coté , j'ai une 1ere version de mon convoler ladspa qui fonctionne, rien de sophistiqué, mais ca va pouvoir me permettre de faire des tests. Pour la petite histoire, avec 4096 coeff en stéréo je ne suis qu'a 50% de CPU sur un PC certe récent mais disposant d'un CPU de portable , le tout avec un code de convolution des plus basique (méthode directe et pas via FFT) .....
-

tcli.
- Membre HCFR

-
- Messages: 1650
- Inscription: 23 Nov 2009 21:40
- Localisation: A l'ouest de Rennes
-
» 27 Aoû 2012 19:23
Ok tcli pour les 64 bits, je ne suis pas rentré dans le fonctionnement et sa programmation donc ! 4096 coeff, ça représente quel ordre de grandeur ?
-
JIM.
-
- Messages: 1428
- Inscription: 19 Nov 2001 1:00
- Localisation: Toulouse
-
» 27 Aoû 2012 20:28
JIM a écrit:4096 coeff, ça représente quel ordre de grandeur ?
Ben a 44100 cela fait un point de contrôle (phase et amplitude) tout les 44100/2/4096=5.38Hz On voit tout de suite le pb du FIR : 5Hz de précision c'est très ( voir trop) bien a 2000Hz , mais à peine suffisant à 40Hz. Moralité, il faut beaucoup de coeff si on veux être précis dans les basses , ou avoir recours à des astuces pas simples (warped FIR)
-

tcli.
- Membre HCFR

-
- Messages: 1650
- Inscription: 23 Nov 2009 21:40
- Localisation: A l'ouest de Rennes
-
» 27 Aoû 2012 22:17
Merci JIM, ça fait plaisir! JIM a écrit:Je préfère cette approche de tout maîtriser plutôt qu'une correction inverse à partir d'une mesure et d'une courbe cible.
100% d'accord
No loudspeaker system even approaches real life so there is plenty of room for interpretation - Greg Timbers
-
pos.
-
- Messages: 1422
- Inscription: 07 Mai 2007 15:36
-
» 27 Aoû 2012 22:21
tcli a écrit:Ben a 44100 cela fait un point de contrôle (phase et amplitude) tout les 44100/2/4096=5.38Hz On voit tout de suite le pb du FIR : 5Hz de précision c'est très ( voir trop) bien a 2000Hz , mais à peine suffisant à 40Hz. Moralité, il faut beaucoup de coeff si on veux être précis dans les basses , ou avoir recours à des astuces pas simples (warped FIR)
Pourquoi ne pas faire du downsampling, en fonction de la freq la plus haute à reproduire, pour economiser des taps? c'est ce que fait four audio: http://www.fouraudio.com/en/technical-a ... ution.htmlC'est pour ce genre d'usage que j'ai prévu la possibilité de choisir une freq de sampling basse en sortie dans rePhase.
No loudspeaker system even approaches real life so there is plenty of room for interpretation - Greg Timbers
-
pos.
-
- Messages: 1422
- Inscription: 07 Mai 2007 15:36
-
» 27 Aoû 2012 22:44
pos a écrit:tcli a écrit:Ben a 44100 cela fait un point de contrôle (phase et amplitude) tout les 44100/2/4096=5.38Hz On voit tout de suite le pb du FIR : 5Hz de précision c'est très ( voir trop) bien a 2000Hz , mais à peine suffisant à 40Hz. Moralité, il faut beaucoup de coeff si on veux être précis dans les basses , ou avoir recours à des astuces pas simples (warped FIR)
Pourquoi ne pas faire du downsampling, en fonction de la freq la plus haute à reproduire, pour economiser des taps?
Oui, bien sur, mais a partir du moment où on utilise le FIR pour de la correction global et pas du filtrage, il faut bien être à 44.1Khz, ou alors utiliser un banc de filtre, mais c'est plus compliqué ...
-

tcli.
- Membre HCFR

-
- Messages: 1650
- Inscription: 23 Nov 2009 21:40
- Localisation: A l'ouest de Rennes
-
» 16 Sep 2012 10:58
Nouvelle version 0.7.4 dispo sur sourceforge En fait je voulais attendre que la version avec affichage des courbes soit prête avant de faire un nouvel update mais je finalement je préfère mettre une version intermediaire qui corrige qq bugs et apporte les améliorations en cours de dev donc pour les changements: - corrections de bugs - accélération des itérations d'optimisation - nouveaux choix d'optimisation ("moderate" et "extensive") qui stoppent les itérations d'optimisation une fois un but ou une durée atteinte - nouveau filtre Horbach-Keele (avec le mode special "tweeter" en mettant le ratio au dessus de 4.5) - nouveaux filtres "Reject low" et Reject high", avec un rolloff plus élevé respectivement sur le bas et le haut Pour Horbach-Keele voir ici pour des explications: http://www.linkwitzlab.com/horbach-keele%20xo.ppthttp://www.linkwitzlab.com/Horbach-Keel ... 2%20V4.pdf(voir surtout le second lien) A noter que la frequence indiquée dans le filtrage est la frequence critique, pas la frequence de coupure. Pour le moment il faut calculer le ratio et la freq critique soit même à partir des distances et direcitivté visées, à l'aide des liens ci dessus, mais peut etre qu'il y aura une interface plus sympa (comme celle d'acourate) dans une prochaine version Pour les "Reject low" et "Reject high", il faut évidemment utiliser le même pour le LP et le HP, car il sont complémentaire. En gros si on veux rejeter plus vite les aigus on va utiliser le "Reject high" à la fois pour le LP (qui ressemblera "un peu" à un Linkwitz Riley) et le HP (qui aura un rolloff plus rapide, mais complementaire au LP). Si vous avez une idée de nom plus explicite pour ces filtres je suis preneur (j'avais pensé à "Steep low"/"Steep high" au départ)
No loudspeaker system even approaches real life so there is plenty of room for interpretation - Greg Timbers
-
pos.
-
- Messages: 1422
- Inscription: 07 Mai 2007 15:36
-
» 16 Sep 2012 11:16
Salut, Je n'en suis pas encore là dans mon projet de PCHC/HIFI mais chapeau c'est du beau boulot ... 
PCHC avec JRiver / amplis Phonic et Chevin Q6 / jmlab electra 915.1 + jmlab cc30 + Eltax Monitor III + sub DIY JBL W15GTI + câbles pro / Projo EPSON EH-TW4400 / écran Kimex électrique auto-tendu 244cm / Télécommande iPad
-

stloup.
- Membre HCFR

-
- Messages: 887
- Inscription: 12 Sep 2002 11:00
- Localisation: Loir et Cher
-
» 16 Sep 2012 20:03
merci 
No loudspeaker system even approaches real life so there is plenty of room for interpretation - Greg Timbers
-
pos.
-
- Messages: 1422
- Inscription: 07 Mai 2007 15:36
-
» 17 Sep 2012 13:34
Quelques suggestions, Ce qui va vite manquer, pour la prochaine version peut être  , c'est une sauvegarde de la configuration de tout les filtres. Un rapport sauvegardable et chargeable en clair au format texte serait super, un chapitre par onglet par ex. Ca devient lourd si on doit tout noter et reprendre pour ajouter ou enlever juste une EQ. Et les low/high shelv ? Une petite explication sur le choix de la fenêtre "windowing" serait sympa car j'ai vu que suivant le filtre, on pouvait avoir de grosses imprécisions. Du genre, un palier à -50dB sur un filtre. Ajouter peut être une indication sur la limite basse et la précision en fonction du nombre de taps ? Un section EQ et filtres à phase minimale ? Sinon, j'ai mis en oeuvre ton logiciel avec Jriver et Holm, nickel
-
JIM.
-
- Messages: 1428
- Inscription: 19 Nov 2001 1:00
- Localisation: Toulouse
-
» 17 Sep 2012 19:47
Salut JIM,
Merci pour ces suggestions. La sauvegarde oui c'est prévu (les boutons sont grisés), mais il faut un format à peu près stable pour etre compatible avec les futurs versions de manière ascendante, et permetre de gerer proprement les incompatibilités. En gros il faut juste se pencher un peu sur la question pour faire un truc propre. Je vais voir ça en priorité. A noter que ca ne concernera que les reglages de la partie de gauche (eq et filtres), et pas les settings de l'impulse. Le but est de pouvoir sauver des "preset" indépendament des params de l'impulse (qui sont propre à une mise en oeuvre donnée... meme si le nb de taps et le windowing jouent evidemment sur le resultat final).
Les low/high shelv je ne sais pas trop où les ajouter (dans des bandes extrêmes de l'eq paragraphiques, ou comme paramètre en plus dans la banque d'eq ?...). C'est vraiment essentiel tu pense?
Pour le windowing oui c'est clair, c'est pour ca que j'ai mis un gros "caveat emptor". A priori je les ai à peu près "classé" dans le menu en fonction de leur rejet des ripples, la rectangulaire etant la plus mauvaise. En gros si tu ne fais que de la correction de phase et de l'eq légère il vaut mieux etre sur complex, mais sur du filtrage FIR il faut choisir une autre des fenetres. Plus tu rejete loin les ripples et plus tu risque de ne pas arriver à "suivre" la pente demandée si elle est d'ordre élevé ou basse en freq (en fonction du nb de taps evidemment...). C'est exactement comme le parametre de stop ripple sur le DX46 (c'est une particularité du windiwing kaiser: il est parametrable...). Au fond je devrait peut etre ajouter des kaisers avec un stop ripple plus explicite. En tout cas dans la prochaine version il y aura des courbes affichées avec à la fois le target, et le resultat obtenu en fonction des params choisi (il faudra tout de meme cliquer sur "generate"), ca devrait résoudre le problème.
EQ et filtre à phase minimale pourquoi pas, il faudrait rajouter une section, mais ce ne sera pas pour la prochaine version à priori.
No loudspeaker system even approaches real life so there is plenty of room for interpretation - Greg Timbers
-
pos.
-
- Messages: 1422
- Inscription: 07 Mai 2007 15:36
-
|
|