Correction/filtrage semi-automatisé (DStudio v5)

Discutions générales sur le DSPiy et tout ce qui s'y rattache
Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 2661
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar thierryvalk » dim. 18 déc. 2016 16:06

Quelques améliorations pour la future version de DStudio.

-ASIO : commence à fonctionner.
Le problème provient de l'arrêt de la lecture du fichier, à ce moment on indique un Stop puis l'on fait le nettoyage et supprime les drivers.
Mais le stop n'agit apparemment pas directement sur la lecture en ASIO et vu le temps de latence Windows tente d'envoyer des données à un driver qui n'existe plus -> crash.
En laissant une seconde après le Stop ça semble bon.
Les fonctions "Générateur" passent aussi en ASIO, mais toujours pas de Volume vu qu’inexistant en ASIO.
Il faudrait le recréer sur tout ce qui sort, mais pas simple.

-Possibilité de choisir une fréquence de sampling en 48K ou 96K. Mais la longueur de la FFT reste toujours de 32K.

-Affiche les retours d'infos des softs tiers utilisés : sox pour des conversions et lsconv pour générer l'impulse. Et bien sur DRC.

-Possibilité d'utiliser la sortie R de la carte son en loopback : permet non pas une référence de temps comme dans REW, mais améliore la génération de l'Impulse et permet une référence en niveau de la carte son. (fonction de calibration de la carte son de REW)

Et beaucoup de petites choses dont :
-inversion de l'impulse
-affichage ou pas de l'impulse après une mesure
-nombre de période sélectionnable pour la génération des bursts ....

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 2093
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar alka » dim. 18 déc. 2016 19:11

tu t'amuses bien et tu ne manques pas d'idées :) l'automatisation approche...

attention : si tu fais une version 5.1 faudra en parler a dolby :hehe:
acheter un DSPiy ? c'est ici

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 2661
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar thierryvalk » mar. 27 déc. 2016 20:31

On, (je) avions bien galéré sur le RTA avec du bruit rose.
Vu que DStudio peut générer un sinus, il est logique de l'afficher en RTA.

J'ai un peu chipoté avec le fenêtrage, mais simplement à cause de Google. On tape Hann et il vous sort du Hamming... :rougefaché:

Voici le résultat pour 1kHz, FS 96k, longueur 32K, fenêtrage Hamming.
fft.PNG

En Hann, j'avais un truc horrible aux basses fréquences, içi c'est OK mais reste le niveau de bruit qui monte.
En comparant avec REW, j'ai la même chose dès que je lisse en 1/48dB par octave ce qui est le cas avec DStudio et somme toute logique vu que comme pour le Pink-noise, on prend une certaine bande de fréquence.

Par contre si je prend simplement non plus une bande mais la fréquence la plus proche issue de la FFT, le niveau de bruit devient plat, mais le niveau FS lui décroit avec la fréquence.

Que faire ?

thierry38
Messages : 136
Enregistré le : jeu. 16 juil. 2015 16:17
Localisation : Grenoble fournaise/Frigidaire

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar thierry38 » ven. 30 déc. 2016 15:03

Hello Thierry,

Je ne saisis pas le sens de la phrase,

Par contre si je prend simplement non plus une bande mais la fréquence la plus proche issue de la FFT, le niveau de bruit devient plat, mais le niveau FS lui décroit avec la fréquence.

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 2661
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar thierryvalk » ven. 30 déc. 2016 15:17

La FFT de 32k va donner 16k valeurs de 0Hz à 24kHz si FS=48khz.
Hors, mon affichage de courbe se fait via un axe logarithmique sur 687 points.
Pour chaque point de cet axe, on prend dans la table de 16k la valeur correspondante.

Indépendamment, j'ai trouvé un article qui me semble complet sur les FFT dans notre domaine:
http://www.zytrax.com/tech/audio/equali ... post-scale

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 2661
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar thierryvalk » jeu. 5 janv. 2017 08:37

J'ai appliqué la méthode simple :
-On prélève 32768 samples du signal.
-Fenêtrage.
-FFT 32K
-Extraction de la magnitude des complexes pour 16383 points.
-Mise en dB puis affichage.
spectrum.PNG


Par contre en zoomant très fort, il reste un petit soucis:
zoom.PNG

Une dent de scie entre chaque point de la courbe
On sample en 96K.
Je pense à un problème au niveau des fonctions d'affichage.

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 2661
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar thierryvalk » dim. 22 janv. 2017 16:08

Le problème en RTA est que l'on prélève un certain nombre de samples (32768 pour DStudio) de manière plus ou moins aléatoire sur un signal entrant.

Voici un petit croquis ps très bien dessiné.
window.PNG

En 1, on a par exemple un sinus, l'on prend un bloc 32768 samples (en bleu) que l'on passe par la FFT et pendant ce temps on prend un nouveau bloc (en rouge).
Vu que l'on n'est pas synchro avec le sinus, les débuts et fins de blocs sont à des niveaux totalement différents.
Cela va créer de la disto et un graphique RTA totalement instable.
sinnowin.PNG

Pour contrer cela on fenêtre les samples des blocs comme en 2.
C'est bien mieux de donne ceci.
sin.PNG

Il existe différents types de fenêtrage selon le signal à a analyser. Tous ayant leurs avantages et inconvénients.

REW a trouvé une parade bien simple et élégante.
On connait le principe du bruit rose périodique qui connait le même phénomène.
L'astuce est d'utiliser non plus une séquence aléatoire, mais une séquence sur la longueur de la FFT qui correspond au 32768 samples.
On a donc syncro entre signal généré et signal lut. (pour cela il faut idéalement utiliser la même carte son pour les 2 fonctions)

En sinus, on va faire pareil.
1KHz en 48k va produire 682.666667 périodes sur les 32768 samples.
Si l'on arrondi à 682 et que l'on calcule la fréquence équivalente, on aura 999.0234375 Hz qui elle tombe pile dans nos 32768 samples.
Plus besoins de fenêtrage et donne ceci :
sinauto.PNG


Évidemment on n'a plus la fréquence exacte souhaitée mais selon ce que l'on veut mesurer, peut être une très bonne solution.

A noter que les niveaux de bruit sont différents, mais ça c'est dû au fait que le fenêtrage modifie les niveaux et qu'il convient de compenser.
Ce que je n'ai pas encore bien fait.

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 2661
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar thierryvalk » ven. 27 janv. 2017 20:30

Au niveaux des évolutions.
Sauvegarde de plus de paramètres lorsque l'on quitte DStudio, du genre dimension de fenêtre, si la fenêtre "Courbes" était affichée, elle le sera à l'ouverture suivante et la même place...
Générateur de 2 sinus simultanés pour pouvoir voir les effets d'une fréquence sur une autre, l'IMD.
Curseur dynamique dans la fenêtre des courbes.
curseur.PNG

Mais faudra un peu patienter car l'ensemble doit être debugger un minimum.
Je vais aussi me remettre activement à DRC, mais pour cela il me faut quelques soirées tranquilles.

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 2661
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar thierryvalk » dim. 5 févr. 2017 17:26

J'ai un peu joué avec DRC et ses paramètres, il y en a beaucoup.
DRC est avant tout prévu pour faire de la correction globale en FIR, voici en jouant sur les paramètres et courbe cible.

Avec DStudio ou autre, on va générer un fichier cible.
Tout simplement en IIR on crée ce que l'on veut comme fonction de filtrage puis on l'exporte en fichier texte.
Suffit après de le renseigner pour qu'il soit transmis à DRC.
Si l'on veut de la phase linéaire, on décoche "Inclure Phase" ce qui va donner une phase à 0°.
Voici les réglages provisoires :
drc.PNG

On va limiter la bande de fréquence à celle qui nous intéresse.

Dans mon cas c'est pour une bas médium coupé à 80Hz et 950Hz.

Voici le résultat :
En rouge la mesure (pas trop bien faite)
En bleu la courbe cible.
En rose la simulation donnée par DRC pour le résultat.
drclspl.PNG

Et les phases :
drclph.PNG


J'ai fait de même pour le haut médium entre 950 et 6000Hz.
drchspl.PNG

drchph.PNG


Il suffit d'envoyer les impulses générées par DRC à l'ADAU1452 et normalement c'est ok.

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 2093
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar alka » dim. 5 févr. 2017 17:31

ça a l'air magique. Dis nous si ça marche pour de vrai :)
acheter un DSPiy ? c'est ici

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 2661
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar thierryvalk » dim. 5 févr. 2017 17:38

Bien sur que ça marche pour de vrai, j’avais déjà vérifié et la courbe simulée correspond bien.
Oui, c'est magique dans le sens où l'on ne doit se préoccuper de pas grand chose.

Reste la question de savoir s'il a corrigé ce qu'il fallait.

razzortec
Messages : 125
Enregistré le : jeu. 16 juil. 2015 17:37

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar razzortec » dim. 12 févr. 2017 23:29

Bonsoir
J'ai voulu tenter quelque chose
-mesure des HP avec REW
exporter en txt cette mesure avec REW
importer cette mesure dans rephase en mettant l'offset à -95db
HP dans rephase.png


Triturer la courbe de phase et filtrer avec un passe -bas à 700 hz
Créer une impulse de 7000 taps
L'importer dans DStudio 5 et la je ne retrouve pas mes petits

ds.png


PS;J'ai la version de DS5 qui date du mois de mai 2016
Aurais je loupé quelque chose durant ces 25 pages

Edit du 13/2: j'ai refait des essais ce matin, cela ne peut pas fonctionner de cette manière.
Je mettrais le message à jour plus tard
Par contre Thierry, si tu avais la dernière version de DS5
Modifié en dernier par razzortec le lun. 13 févr. 2017 10:49, modifié 1 fois.

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 2661
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar thierryvalk » lun. 13 févr. 2017 08:18

Rephase affiche l'effet des filtres sur la mesure.
L'impulse importée dans Dstudio sera la représentation des filtres.

razzortec
Messages : 125
Enregistré le : jeu. 16 juil. 2015 17:37

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar razzortec » lun. 13 févr. 2017 21:30

c'est ce que j'ai mis du temps à comprendre ;)
Et pour le dernière version de DS5

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 2661
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar thierryvalk » lun. 13 févr. 2017 21:57

Par contre, si tu importe ta mesure en "Mesure", tu devrais retrouver la même courbe que dans rephase en "Simu".

Pour la dernière version, je dois d'abord faire un gros nettoyage car je me suis éparpillé. :berk1:

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 2661
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar thierryvalk » lun. 20 févr. 2017 19:08

Bon, j'ai un problème avec les courbes cibles à passer vers DRC.
En toute logique on prend une appli FIR 2 voies ou 3 voies et là évidemment il n'y a pas de crossover IIR pour pouvoir créer ces cibles.
Il faut donc prendre une appli 2x3 créer ses courbes cibles, et ensuite reprendre une appli FIR.
Pas très pratique.

Je ferais bien une petite fenêtre avec quelques réglages :
Fonctions passe-haut et passe-bas et EQ.

La question: je repasse par des biquads, qui ne seront utilisés qu'en interne du soft ou existe t’il un autre moyen simple ?
On n'a même pas besoin de la phase, ce qu'il faut juste c'est dessiner une courbe.

Avatar de l’utilisateur
alka
Administrateur du site
Messages : 2093
Enregistré le : mer. 15 juil. 2015 15:18
Localisation : 92
Contact :

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar alka » lun. 20 févr. 2017 20:56

je resterai avec les biquads.
il y a moyen de trouver les équations directes de quelques fonctions de transfert simple comme les filtres LP ou HP d'ordre 1 et 2 mais dès que ça se complique ça devient des équations inextricables. De plus, tu dois déjà avoir les fonctions pour le faire dans DS avec les biquads en complexes.
acheter un DSPiy ? c'est ici

Avatar de l’utilisateur
thierryvalk
Administrateur du site
Messages : 2661
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Correction/filtrage semi-automatisé (DStudio v5)

Messagepar thierryvalk » dim. 19 mars 2017 17:05

Presque 1 mois plus tard .... :o le générateur de courbes cible est +- opérationnel .

On jusqu’à 3 courbes en plus, les courbes "Cible".
Dans chaque encart de crossover FIR on a un bouton qui ouvre une fenêtre pour créer sa courbe cible correspondante.
cible1.PNG

Lorsque c'est fait, on réalise une mesure puis l'on clique sur DRC pour ouvrir la fenêtre de contrôle de DRC.
On ajuste à la louche la plage de fréquences à corriger, puis on lance les calculs.
cible2.PNG


On a maintenant toutes nos courbes et si la correction de DRC nous parait bonne on clique sur Transfer To DSP+.
cible3.PNG


Encore quelques détails à régler dont la normalisation du niveau car la simu me donne du -30dB à la place de 0 dB.
Puis test en live. :)


Retourner vers « DSPiy général »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités