ohl a écrit:J'ai reçu mon OpenDRC et j'en ai profité pour mettre à jour Align2
http://www.ohl.to/audio/downloads/align2.zip. Ce soft permet maintenant de créer directement les fichiers .bin à charger dans OpenDRC.
J'en ai profité pour calculer des corrections selon la méthode DRC-FIR
http://drc-fir.sourceforge.net/ ou selon la méthode PORC
https://github.com/zzzzrrr/porc, ce qui permet de tester et choisir.
A noter que comme OpenDRC est limité à 6144 taps, la correction n'est pas très précise sous 100Hz mais des EQ paramétriques sont disponibles en IIR pour compléter et affiner éventuellement. En particulier avec la méthode DRC-FIR qui corrige complètement la phase (minimale et excès de phase), cette limitation est un peu plus gênante : j'ai laissé 2000 échantillons avant l'impulsion centrale puis les 4144 restant après cette impulsion. Avec Porc, la correction étant à phase minimale, j'ai pu laisser les 6144 échantillons après l'impulsion.
Il reste plusieurs améliorations (et donc du travail) :
- corrections à partir de moyennes de mesures (j'y tiens....)
- gestion astucieuse de la limitation à 6144 taps pour optimiser la correction DRC
- calcul automatique des PEQ IIR pour compléter les corrections FIR
Super!
Il faut absolument que j'essai ça.
A vrai dire je n'ai même pas eu le temps de rebrancher mon openDRC depuis que tu l'a vu... (il est toujours dans son sac plastic
)
Une petite question: j'ai vu que DRC permettait de produire une impulse purement phase minimale. Dans ces condition, quel interet reste-t-il à utiliser PORC ?
Pour le coup de l'optimisation des 6144 dispo, ce que j'ai utilisé sur rephase a l'air de bien marcher, le calage suivant l'energie:
je produit une impulse de taille double de celle necessaire (enfin le double de la premiere puissance de 2 superieure ou egale, puis "rognée" au double exacte des taps), donc ici 12288 samples, puis je fais glisser une fenettre de 6144 sample en calculant à chaque fois l'energie de ce qui est en dehors de cette fenetre (enfin, la somme des carrés...)
C'est très facile et efficace à faire niveau algo: d'abord je calcul la somme des carrés perdus à la position de depart (les derniers 6144 taps), puis pour obtenir la valeur a chaque position il suffit de soustraire le carré du sample suivant et d'ajouter le carré de celui qui vient de sortie de la fenetre à gauche. Et il suffit de toujours conserver la somme minimum et son offset correspondant...
Un truc qui serait interessant ce serait de faire un "mixeur" d'impulse: on lui donne plusieurs impulses de tailles differentes et il les cale et les mix pour produire une seule impulse de taille donnée, centrée au mieux (à l'energie à priori, à moins que d'autres méthodes soient plus adaptées?). Ca permettrait de mixer plusieurs traitement en une seul impulse (genre EQ en plus d'un DRC, par exemple pour du loudness ou autres, etc...)
Je vais voir si je peux ajouter ca dans une prochine version de rephase (import d'impulses...)