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 : 3519
Enregistré le : jeu. 9 juil. 2015 20:08
Localisation : Belgique

Re: Correction/filtrage semi-automatisé en FIR

Messagepar thierryvalk » mer. 17 févr. 2016 22:24

:super: c'est bien plus clair et j'ai compris.

Le code excel c'était une blague. C'est particulier car on se sert de la structure en cellules et le code n'est pas du tout transportable. Meme s'en inspirer est difficile.

Tu devrais te mettre au C#, tu peux interfacer Excel avec, comme cela tu ne seras pas perdu.

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

Re: Correction/filtrage semi-automatisé en FIR

Messagepar thierryvalk » jeu. 18 févr. 2016 18:35

Smooting OK :)

Par contre DRC ne gère pas les cartes son, il fournit un utilitaire qui génère un fichier audio en .pcm avec le sweep désiré.
En C# on a NAudio https://naudio.codeplex.com/ qui fournis une lib complète pour gérer l'audio sur un PC.
On a donc un fichier et un Player et ça fournis le Sweep qu'il suffit d'enregistrer en même temps.
Donc pour le moment tout va.

Je me demandais:
On devrait donc pouvoir faire une mesure et en récupérer l'impulse que l'on peut afficher avec le smooting de son choix.
Si l'on pouvait modifier cette courbe en fonction des EQ, on aurait un outil bien pratique. Serait le même effet qu'en RTA mais sans le bruit.
Évidemment il faut des maths que je ne maitrise pas. :hello:

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

Re: Correction/filtrage semi-automatisé en FIR

Messagepar alka » jeu. 18 févr. 2016 20:51

Si l'on pouvait modifier cette courbe en fonction des EQ, on aurait un outil bien pratique
je peux aider en iir pas en fir. :snif:
acheter un DSPiy ? c'est ici

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

Re: Correction/filtrage semi-automatisé en FIR

Messagepar thierryvalk » jeu. 18 févr. 2016 20:54

C'est bien du IIR auquel je pensais.

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

Re: Correction/filtrage semi-automatisé en FIR

Messagepar alka » jeu. 18 févr. 2016 22:13

thierryvalk a écrit :C'est bien du IIR auquel je pensais.


un petit cours accéléré sur les nb imaginaires et c'est parti :) si tu sais lire du vba dans excel tout est dedans.
https://drive.google.com/file/d/0B8OXGy ... sp=sharing

on peut faire tout ce que fait Dstudio.



des explications dans ce sujet : Calculs audio numérique pour les nuls
viewtopic.php?f=2&t=151&p=3569#p3569

ps: le preview de l'excel par google est sympa mais graphique faux !
acheter un DSPiy ? c'est ici

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

Re: Correction/filtrage semi-automatisé en FIR

Messagepar thierryvalk » sam. 20 févr. 2016 17:59

Juste un petit entracte dans les maths.

Les avancées très lentes du jour.
Brouillon de ce que l’on devrait avoir dans DStudio
mesure.PNG

A droite la liste des entrées/sortie audio du PC, mon PC de développement n’aime pas trop les cartes son et je joue donc sur ses HP et Micro internes.
Pas encore le ASIO, mais devrait être possible.

Bouton Test Level qui joue un fichier bruit rose avec une plage de fréquence limitée, simplement généré par REW et qui permet de vérifier le niveau du micro.
Le Out-Level qui n’est pas encore en dB ajuste le niveau de sortie.

Le bouton Mesure génère un Sweep qui a été préalablement généré et enregistré en .pcm par GlSweep. On pourrait le générer en interne par fonction mathématique, à voir.

A la fin de la mesure, on utilise SoX pour convertir le .wav qui a été enregistré en .pcm pour LsConv qui va générer l’impulse.
Lorsque LsConv a terminé, on récupère le fichier, détection du peak, rabotage, FFT et affichage de la belle courbe de HP d’un PC portable. :)

louisr
Messages : 456
Enregistré le : mar. 14 juil. 2015 15:52
Localisation : Bordeaux/Poitiers

Re: Correction/filtrage semi-automatisé en FIR

Messagepar louisr » sam. 20 févr. 2016 18:05

thierryvalk a écrit :Les avancées très lentes du jour.


8| 8| 8|
On a pas la même définition de lenteur ::d
C'est super, DStudio va faire des jaloux :ghee:

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

Re: Correction/filtrage semi-automatisé

Messagepar alka » dim. 21 févr. 2016 14:12

ménage fait et un nouveau fil pour les questions matheuses ici viewtopic.php?f=2&t=151
acheter un DSPiy ? c'est ici

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

Re: Correction/filtrage semi-automatisé

Messagepar thierryvalk » dim. 21 févr. 2016 17:20

Travail du jour :
ecran.PNG


DStudio devient une fenêtre redimensionnable ce qui permettra de mieux voir les courbes.
Rajout d'un onglet Mesure.

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

Re: Correction/filtrage semi-automatisé

Messagepar alka » dim. 21 févr. 2016 18:02

Image
acheter un DSPiy ? c'est ici

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

Re: Correction/filtrage semi-automatisé

Messagepar thierryvalk » lun. 22 févr. 2016 11:45

Petit topo (brouillon) afin de voir ce qui est nécessaire et trouver la bonne ergonomie.

Réglage :
Carte son In et Out, éventuel canal de référence.
Fichier éventuel de calibration micro.
Niveau de sortie avec bouton de test.
Plage de fréquence.

On lance une mesure, on dispose d’une impulse avec la position de son peak + réponse en fréquence d’amplitude et phase.

Renseigner si mesure Globale ou HP avec la voie + canal -> affichage au bon endroit.

Afficher en 1/12 d’octave ? Serait bien un petit bouton pour y superposer du 1/3 d’octave.
Bouton pour afficher de +20 à -30dB ou +20 à -70dB.

Choix de la phase ou non.
Choix des courbes :
-Mesure
-Corrections
-Final : Corrections sur mesure

Eventuellement rajouter courbe cible.

Enregistrer le tout sous le .dspiy

Pour le global c’est +- bon, pour le crossover intervient les corrections globales et surtout les délais, décalages des HP pour obtenir une courbe qui reflète la réalité de la sommation des HP.

Il faudra donc un mécanisme de mesure et/ou calcul pour déterminer les distances relatives des HP.

Avec ces valeurs et délais de DStudio on peut calculer une sommation.
Il faudra donc renseigner aux calculs le routage du signal selon l’appli.

Il y a moyen de faire quelque chose de bien, mais faudra veiller à ce que cela ne devienne pas une usine à gaz où l’on ne s’y retrouve plus.

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

Re: Correction/filtrage semi-automatisé

Messagepar thierry38 » lun. 22 févr. 2016 12:27

...Rajout d'un onglet Mesure
,

Dit-il en toute humilité. :)

Beau travail,fautpenser à manger,dormir aussi.Trop de travail tue le travail

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

Re: Correction/filtrage semi-automatisé

Messagepar alka » lun. 22 févr. 2016 13:54

thierry38 a écrit :
...Rajout d'un onglet Mesure
,

Dit-il en toute humilité. :)

Beau travail,

meu non, c'est rien. après quelques années on ne s'étonne plus. Refaire un bout de REW et de Rephase : il suffit juste de quelques jours de pluie en belgique et voilà :mrgreen:
acheter un DSPiy ? c'est ici

androuski
Messages : 967
Enregistré le : ven. 10 juil. 2015 12:48

Re: Correction/filtrage semi-automatisé

Messagepar androuski » mar. 23 févr. 2016 06:19

Attends,
j'ai bien lu ? On peut faire de la mesure sous DStudio ??

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

Re: Correction/filtrage semi-automatisé

Messagepar thierryvalk » mar. 23 févr. 2016 08:07

Pourquoi "Attends" ?
Oui, mesure et même simulation. :gene:

Mais je ne refait pas un REW, ce qui permet ceci c'est aussi et surtout l'utilisation de soft tiers en ligne de commande.
On va utiliser des softs gratuits qui semblent vraiment bien faits au niveau fonctionnalités, mais pas pratiques tels quels vu l'absence d'interface.
Et donc conviennent parfaitement pour ce que l'on veut en faire.

Petit exemple avec Sox qui permet de manipuler les fichiers audio.
On écrit un truc du style sox.exe toto.wav -t f32 toto.pcm et l'on a converti un fichier WAV en PCM.
Et bien évidemment ce sera DStudio qui "écrira" cette ligne et donc l'utilisateur n'y verra que du feu.

Par contre, par respect pour leurs auteurs, on rappellera dans un onglet de DStudio que l'on utilise ces softs.

androuski
Messages : 967
Enregistré le : ven. 10 juil. 2015 12:48

Re: Correction/filtrage semi-automatisé

Messagepar androuski » mar. 23 févr. 2016 20:50

Enorme.
J'en parle à Kro.. non, je déconne :hehe:
Bravo et merci pour ce boulot très impressionnant :merci:

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

Re: Correction/filtrage semi-automatisé

Messagepar thierryvalk » ven. 26 févr. 2016 09:16

Etat des courses à l’instant t0 :)

On sait faire une mesure et l’afficher en amplitude et phase.
On sait y appliquer les corrections de nos filtres.

Les courbes sont affichées avec une résolution de 1/48 par octave.
Cela fait 686 points pour afficher de 1 à 20.000Hz en logarithmique avec 159 points de 1 à10Hz (gaspillage, mais d’un autre coté facilité et permet de ne pas avoir une limite même si l’on n’utilisera pas vraiment ces résultats).

Petite réflexion sur cette résolution.
Ce n’est pas vraiment du Smoothing (lissage) vu que l’on ne tient tout simplement pas compte des autres points.
D’un autre côté, la résolution/précision semble déjà pas mal pour ce que l’on fait, et avec les 500 points de 10 à 20KHz on est dans les clous niveau affichage vu la taille actuelle du graphique, le graphique en lui-même va appliquer un lissage faible et déterminer les points manquants.

Mais si l’on zoom fort, on verra des segments de lignes et plus une belle courbe.
Faudra voir à l’usage si un éventuel passage à du 1/96 créerait un ralentissement de l’affichage ou pas tout en surveillant les ressources mémoire.

D’un autre coté, afficher en 1/48 une mesure c’est trop bruité. Il faut donc pouvoir appliquer du lissage.
Ayant un peu regardé, il existe multitudes de façons de le faire, ce qui me fait dire qu’il ne faut pas en abuser vu que l’on ne voit plus vraiment la réalité mais une interprétation mathématique.

L’idée du lissage est de faire une moyenne ou déterminer le max. d’une portion de bande d’octave puis déterminer mathématiquement l’ensemble des points à afficher sous forme de courbes et non de segments de droites.

Encore du boulot pour quelques soirées.

Ensuite, il faudra voir pour l’ergonomie, on a jusqu’à 6 sorties et 2 canaux.
On pourrait donc avoir 1 courbe par sortie = HP et 1 courbe de l’enceinte complète par canal.
Où les afficher ?

Ensuite, on applique les corrections, ne doit-on pas garder une copie de la courbe initiale et aussi une courbe des corrections comme maintenant, il y a aussi les sommations de courbes, tant pour celle mesurées que celles des filtres...

On a fait une mesure, corrections et pour vérifier si ces corrections sont bien réelles, on refait une mesure. En théorie cette nouvelle mesure devrait correspondre à notre courbe simulée, il faudrait donc afficher la nouvelle mesure tout en gardant les anciennes pour comparaison.

Et si l’on rajoute les phases, on est mal parti. :0

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

Re: Correction/filtrage semi-automatisé

Messagepar alka » ven. 26 févr. 2016 10:30

thierryvalk a écrit :
Les courbes sont affichées avec une résolution de 1/48 par octave.
Cela fait 686 points pour afficher de 1 à 20.000Hz en logarithmique avec 159 points de 1 à10Hz (gaspillage, mais d’un autre coté facilité et permet de ne pas avoir une limite même si l’on n’utilisera pas vraiment ces résultats).
tu sais ce que je pense de ce gaspi. 23% des calculs pour une plage qui n'intéresse personne c'est un coup a se prendre une action greenpeace ! pour moi l'affichage devrait etre limité a 10Hz en bas épicétou. On fait de l'audio après tout, donc 10Hz c'est déjà une belle marge.

Petite réflexion sur cette résolution.
Ce n’est pas vraiment du Smoothing (lissage) vu que l’on ne tient tout simplement pas compte des autres points.
D’un autre côté, la résolution/précision semble déjà pas mal pour ce que l’on fait, et avec les 500 points de 10 à 20KHz on est dans les clous niveau affichage vu la taille actuelle du graphique, le graphique en lui-même va appliquer un lissage faible et déterminer les points manquants.
le smoothing c'est la combinaison réduction des points + lissage fait par ta librairie graphique. t'es pas content de ce qu'elle fait ?

Mais si l’on zoom fort, on verra des segments de lignes et plus une belle courbe.
Faudra voir à l’usage si un éventuel passage à du 1/96 créerait un ralentissement de l’affichage ou pas tout en surveillant les ressources mémoire.
normal, car le zoom de la librairie graphique n'a aucune limite. C'est le zoom qu'il faudrait limiter au raisonnable p/r a la résolution dont on dispose.

D’un autre coté, afficher en 1/48 une mesure c’est trop bruité. Il faut donc pouvoir appliquer du lissage.
Ayant un peu regardé, il existe multitudes de façons de le faire, ce qui me fait dire qu’il ne faut pas en abuser vu que l’on ne voit plus vraiment la réalité mais une interprétation mathématique.
oui 1/48 c'est trop détaillé pour de la correction. On travaille habituellement au 1/24 pour les plus affutés ou 1/12 et 1/6 qui correspondent a ce qu'entend l'oreile. On peut modifier le smoothing ou il est figé ?

L’idée du lissage est de faire une moyenne ou déterminer le max. d’une portion de bande d’octave puis déterminer mathématiquement l’ensemble des points à afficher sous forme de courbes et non de segments de droites.

Encore du boulot pour quelques soirées.
je pense que là tu fais mal aux mouches. T'es de toute façon limité par la résolution initiale de la FFT qui permettra jamais de zoomer indéfiniment. Réduction des points + lissage par la librairie graphique ça doit le faire, sinon c'est un souci dans la librairie graphique.

Ensuite, il faudra voir pour l’ergonomie, on a jusqu’à 6 sorties et 2 canaux.
On pourrait donc avoir 1 courbe par sortie = HP et 1 courbe de l’enceinte complète par canal.
Où les afficher ?

Ensuite, on applique les corrections, ne doit-on pas garder une copie de la courbe initiale et aussi une courbe des corrections comme maintenant, il y a aussi les sommations de courbes, tant pour celle mesurées que celles des filtres...

On a fait une mesure, corrections et pour vérifier si ces corrections sont bien réelles, on refait une mesure. En théorie cette nouvelle mesure devrait correspondre à notre courbe simulée, il faudrait donc afficher la nouvelle mesure tout en gardant les anciennes pour comparaison.

Et si l’on rajoute les phases, on est mal parti. :0
bonne question... pas simple.
acheter un DSPiy ? c'est ici


Retourner vers « DSPiy général »

Qui est en ligne

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