C’est aussi ma conclusion.
Le DSPiy permet de faire pas mal de choses dans les limites de ses faibles ressources, c’était l’un des buts de ce projet.
Je ne pense pas qu’il y a une bonne solution universelle, ça se saurait et l’on voit les discutions sans fins de ceux qui défendent la leur.
Par contre avoir un panel de solutions et pouvoir les adapter a son propre système serait un grand plus.
Oui, il y a du taf, ce devrait être plus facile avec un forum pour se le partager, répertorier et documenter.
Mais il faut une certaine volonté pour y parvenir...
|
Modérateurs: Modération Forum DIY, Modération Forum Installations, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: damounet74 et 5 invités
DSPiy : logiciels et algorithmes
- thierryvalk
- Messages: 5617
- Inscription Forum: 08 Mai 2012 9:39
- Localisation: Belgique
maxidcx a écrit:bon c'est pas mal ces infos de John k, mais il faut aussi relire touts les infos du site "linkwitz lab" et notamment les cas pratique de crossover... C'est infini ce sujet. Presque découragé. En fait l'avantage du DSPiy c'est qu'on peux tester à peux près toutes les configurations de crossover. Mais pour trouver la bonne solution y a du taf...
c'est un peu le problème des couteaux suisses: il y a tellement de lames qu'on passe plus de temps à choisir la lame qu'a couper et manger le fromage
Un problème de riche est un bon problème disait le poète
- alkasar
- Messages: 11517
- Inscription Forum: 29 Nov 2005 22:47
- Localisation: Neuf deux
piercaub a écrit:thierryvalk a écrit:Dans le fichier .apd de l’application digitale, ligne 54 tu devrais avoir D01_INPUT_SOURCE 62 0
C’est une erreur, il faut changer la valeur de 0 en 1, sauver et rouvrir dans DStudio.
(je n’ai pas testé, ma carte son refuse de sortir du SPdif)
Voila, j'ai fait les modifs dans les .adp du soustractif, chargé les presets dans le DSPiy mais même chose : toujours pas de modulation en Coax comme en toslink.
Un autre détail coince ...
J’ai peut-être trouvé une autre anomalie :
Les lignes 55 et 56 doivent avoir ceci :
D01_ADR_VOL1 65 0
D01_ADR_VOL2 66 1
Et vu pour avoir les barres graph, les lignes 47 et 48 :
D01_LEVEL_DETECT_1 57 11
D01_LEVEL_DETECT_2 58 12
Ces valeurs sont pour l'appli 2x3 soustractive digitale, ce ne sont pas forcément ces valeurs pour les autres applis.
Alain, si tu pouvais corriger sur le site l'appli …
- thierryvalk
- Messages: 5617
- Inscription Forum: 08 Mai 2012 9:39
- Localisation: Belgique
thierryvalk a écrit:Alain, si tu pouvais corriger sur le site l'appli …
yep ce soir ou demain.
c'est un peu galère cette histoire de valeur pour le bargraph qui change par appli selon le bon vouloir de sigmastudio. Je vais finir par me gourer dans une mise a jour
En même temps c'est la solution pour ceux comme moi que la tremblotte des bargraphs énerve au bout d'un moment
- alkasar
- Messages: 11517
- Inscription Forum: 29 Nov 2005 22:47
- Localisation: Neuf deux
thierryvalk a écrit:piercaub a écrit:thierryvalk a écrit:Dans le fichier .apd de l’application digitale, ligne 54 tu devrais avoir D01_INPUT_SOURCE 62 0
C’est une erreur, il faut changer la valeur de 0 en 1, sauver et rouvrir dans DStudio.
(je n’ai pas testé, ma carte son refuse de sortir du SPdif)
Voila, j'ai fait les modifs dans les .adp du soustractif, chargé les presets dans le DSPiy mais même chose : toujours pas de modulation en Coax comme en toslink.
Un autre détail coince ...
J’ai peut-être trouvé une autre anomalie :
Les lignes 55 et 56 doivent avoir ceci :
D01_ADR_VOL1 65 0
D01_ADR_VOL2 66 1
Et vu pour avoir les barres graph, les lignes 47 et 48 :
D01_LEVEL_DETECT_1 57 11
D01_LEVEL_DETECT_2 58 12
Ces valeurs sont pour l'appli 2x3 soustractive digitale, ce ne sont pas forcément ces valeurs pour les autres applis.
Alain, si tu pouvais corriger sur le site l'appli …
Merci Thierry,
je vais vérifier et corriger en conséquence.
Par ailleurs, je teste en ce moment le soustractif 2x2+1, ça me parait pas mal du tout.
Reste à ajuster le niveau d'entrée de mes Quad 405 : à -45db sur le DSPiy, le son est déjà assez fort et à -55db j'ai déjà une écoute confortable !
D'ailleurs, quel niveau minimal faut-il avoir sur le DSPiy pour conserver les 16 bits de définition ? je ne retrouve plus l'info sur les fils du DSP
- piercaub
- Messages: 228
- Inscription Forum: 16 Déc 2006 15:25
- Localisation: Angers
C’est fort simple 1 bit par 6 dB à quelques poussières.
16 bit est le minimum, plus c’est toujours mieux.
16 bit est le minimum, plus c’est toujours mieux.
- thierryvalk
- Messages: 5617
- Inscription Forum: 08 Mai 2012 9:39
- Localisation: Belgique
thierryvalk a écrit:C’est fort simple 1 bit par 6 dB à quelques poussières.
16 bit est le minimum, plus c’est toujours mieux.
Bon, si j'ai bien suivi, à 0 db on a les 24 bits, et à -48 db il ne nous reste plus que les 16.
Donc autour de -20 db en régime de croisière, ça doit aller ?
C'est à peu près ça ?
- piercaub
- Messages: 228
- Inscription Forum: 16 Déc 2006 15:25
- Localisation: Angers
Oui, mais il ne faut oublier que le rapport signal/bruit du DAC est pour 0dB soit 24bits et fixe. Si avec -20dB en normal et que 0dB est bien trop fort diminue encore un peu les volumes aux amplis.
- thierryvalk
- Messages: 5617
- Inscription Forum: 08 Mai 2012 9:39
- Localisation: Belgique
J'ai une petite question.
Peut on avoir un réglage de filtre indépendant entre voie gauche et droite, structure symétrique Gauche/Droite mais réglage asymétrique. Ca peut vous paraitre bizarre ma question, dan le cas où je ne place pas mes DSPiy (j'en ai 5 dont 1 à part avec Din) dans chaques enceintes (j'en aurrai 6, 3x12CX32 et 3x15CX40), je serai dans une config où j'aurrai 3 zippy à base de 12CX32 en frontal et 3 zippy à base de 15CX40 en arrière. Donc trois DSPiy me suffirait en 2x3voies en préampli externe.
Peut on avoir un réglage de filtre indépendant entre voie gauche et droite, structure symétrique Gauche/Droite mais réglage asymétrique. Ca peut vous paraitre bizarre ma question, dan le cas où je ne place pas mes DSPiy (j'en ai 5 dont 1 à part avec Din) dans chaques enceintes (j'en aurrai 6, 3x12CX32 et 3x15CX40), je serai dans une config où j'aurrai 3 zippy à base de 12CX32 en frontal et 3 zippy à base de 15CX40 en arrière. Donc trois DSPiy me suffirait en 2x3voies en préampli externe.
- Blazing
- Messages: 901
- Inscription Forum: 29 Oct 2003 11:55
- Localisation: Gironde
Je ne comprends pas trop la question.
Dans un DSPiy on utilise la même application pour L et R.
Par contre chaque canal est totalement indépendant au niveau des réglages, tant au niveau des EQ que du crossover.
On peut ainsi avec un DSPiy gérer par exemple une enceinte centrale 3 voies sur un canal et un sub sur l’autre bien que dans ce cas on « gaspille » 2 voies sur le canal Sub vu que l’on aura utilisé l’appli 2X3.
Dans un DSPiy on utilise la même application pour L et R.
Par contre chaque canal est totalement indépendant au niveau des réglages, tant au niveau des EQ que du crossover.
On peut ainsi avec un DSPiy gérer par exemple une enceinte centrale 3 voies sur un canal et un sub sur l’autre bien que dans ce cas on « gaspille » 2 voies sur le canal Sub vu que l’on aura utilisé l’appli 2X3.
- thierryvalk
- Messages: 5617
- Inscription Forum: 08 Mai 2012 9:39
- Localisation: Belgique
Si je donne pas de retour sur les tests des configs en soustractif, c'est que je suis en train d'installer des potards de niveau d'entrée dans mes Quad et devant mes BW PV1.
J'en profite pour peaufiner la protection interne des entrées aux rayonnements des éléments secteur dans les Quad 405.
Au passage ces potards me faciliteront grandement le réglage du niveau relatif des différents canaux, sans devoir recourir à des modifications et rechargements de Presets.
Avec le DCX j'avais pris l'habitude de retoucher à chaud ces équilibres et cette manie me manquerait ...
J'en profite pour peaufiner la protection interne des entrées aux rayonnements des éléments secteur dans les Quad 405.
Au passage ces potards me faciliteront grandement le réglage du niveau relatif des différents canaux, sans devoir recourir à des modifications et rechargements de Presets.
Avec le DCX j'avais pris l'habitude de retoucher à chaud ces équilibres et cette manie me manquerait ...
- piercaub
- Messages: 228
- Inscription Forum: 16 Déc 2006 15:25
- Localisation: Angers
thierryvalk a écrit:Je ne comprends pas trop la question.
Dans un DSPiy on utilise la même application pour L et R.
Par contre chaque canal est totalement indépendant au niveau des réglages, tant au niveau des EQ que du crossover.
On peut ainsi avec un DSPiy gérer par exemple une enceinte centrale 3 voies sur un canal et un sub sur l’autre bien que dans ce cas on « gaspille » 2 voies sur le canal Sub vu que l’on aura utilisé l’appli 2X3.
Merci Thierryvalk, ça répond à ma question, ça beigne
- Blazing
- Messages: 901
- Inscription Forum: 29 Oct 2003 11:55
- Localisation: Gironde
Transformée de Linkwitz d'ordre 4
Désolé pour la réponse tardive, mais j'ai pas mal peiné pour me construire l'outil logiciel nécessaire à une réponse complète
Oui, c'est une possibilité : égaliser pour étendre la réponse vers le bas et filtrer ensuite.
Le problème c'est que l'égalisation va créer un boost important aux basses fréquences. Ce boost sera compensé par le filtre, sauf que en digital , on est vite limité en dynamique. On peut pas faire +20db suivit de -40db, car on va saturer la sortie de l'étage d'égalisation. Je ne sais plus combien le processeur du DSPiy a de réserve, mais c'est pas forcément beaucoup.
L'autre possibilité, c'est d'égaliser pour atteindre la cible et de couper bas pour protéger la compression ou mieux faire en sorte que l'égalisation fasse partie de la fonction de filtrage.
Je vais essayer d'illustrer cette dernière possibilité avec ta compression.
Pour ce faire j'ai écris un petit soft d'optimisation sous Octave, qui va me chercher les pôles de la fonction de transfert passe haut de ta compression. Je pensais que cela allait être facile mais m'a pris , en fait, pas mal de temps. C'est pas que c'est compliqué, mais il y a pas mal de pièges ou alors je vieillis..
Mon soft trouve une paire de pole conjugués à 1050Hz et une autre à 745Hz (les pôles et zéros vont toujours par paire dans un filtre à coeff réels) et en considérant que les 4 zéros sont à 0Hz.
Ce n'est qu'une approximation, mais voila ce que ca donne graphiquement :
En bleu la réponse de la compression en vert la modélisation avec les pôles et zéros indiqués ci-dessus.
C'est pas mal ..
Un fois qu'on a déterminé les caractéristiques de la réponse de la compression, il est facile de générer la transformé de Linkwitz que l'on veut. Il suffit de créer un filtre ayant pour zéros les pôles de la réponse de la compression et pour pôles ceux du filtre butterworth visé.
Par exemple, si on veut transformer la réponse en butterworth d'ordre 4 à 1000Hz, on obtient :
En vert : la cible : butterworth4 à 1000Hz, en rouge : la transformée de Linkwitz calculée, en bleu : le résultat.
Cela fonctionne bien, le problème, c'est que ça ne protège pas la compression, car une transformée de Linkwitz ne change pas l'ordre, et la compression a déjà une réponse du 4ème ordre (le cas que j'exposais dans mon poste précédent à 500Hz est un cas particulier)
On peut alors soit : filtrer beaucoup plus bas, juste pour protéger ou mieux : appliquer un filtre à 1000Hz qui va se combiner avec le butterworth4 obtenu. Mais le résultat sera alors forcement d'ordre supérieur à 4.
Mais je n'ai pas à me préoccuper de la phase !
La réponse en phase de la compression peut être séparée entre une réponse minimum phase et une réponse excess phase (REW le fait très bien, par exemple).
La transformée de Linkwitz est par construction minimum phase. Appliquée à la partie minimum phase de la réponse de la compression , elle va donner une nouvelle réponse minimum phase. Or une réponse minimum phase ne dépend que de l'amplitude, donc "l'améloration" de la réponse en amplitude améliorera aussi la réponse en phase de la partie minimum phase.
Ensuite pour la partie excess phase, et bien une transformée de Linkwitz n'y peut rien et ne sera donc pas corrigée.
La réponse en phase de ta compression est minimum phase jusqu'à 10K, en dessous ca se dégrade doucement, avec surement un truc vers 200Hz. Mais dans la zone qui t'intéresse cela devrait aller.
Sinon, on peut aussi appliquer une transformé de Linkwitz à une réponse passe bas. Par exemple , sur la compression à androuski , cela semble chuter à ~ 12db/o à partir de 12K. Mon petit soft à bien du mal déterminer la valeur du double pole vers 12K (l'irrégularité de la réponse à ces fréquence n'aide pas), mais il trouve quand même un truc a 12.56K. on peut alors construire la transformée pour viser un butterworth d'ordre 2 à 16K et cela donne ça :
Voila, tout ça pour illustrer le fait, qu'à partir du moment où on à accès aux coeff des filtres, on peut construire des filtres parfaitement adaptés à la réponse des HP, plutôt que faire des égalisations au pif en utilisant l'outil EQ standard...
androuski a écrit:( C'est très bas, mais c'est pour l'exemple),
On s'en fiche, puisqu'on coupe bien plus haut
Oui, c'est une possibilité : égaliser pour étendre la réponse vers le bas et filtrer ensuite.
Le problème c'est que l'égalisation va créer un boost important aux basses fréquences. Ce boost sera compensé par le filtre, sauf que en digital , on est vite limité en dynamique. On peut pas faire +20db suivit de -40db, car on va saturer la sortie de l'étage d'égalisation. Je ne sais plus combien le processeur du DSPiy a de réserve, mais c'est pas forcément beaucoup.
L'autre possibilité, c'est d'égaliser pour atteindre la cible et de couper bas pour protéger la compression ou mieux faire en sorte que l'égalisation fasse partie de la fonction de filtrage.
Je vais essayer d'illustrer cette dernière possibilité avec ta compression.
Pour ce faire j'ai écris un petit soft d'optimisation sous Octave, qui va me chercher les pôles de la fonction de transfert passe haut de ta compression. Je pensais que cela allait être facile mais m'a pris , en fait, pas mal de temps. C'est pas que c'est compliqué, mais il y a pas mal de pièges ou alors je vieillis..
Mon soft trouve une paire de pole conjugués à 1050Hz et une autre à 745Hz (les pôles et zéros vont toujours par paire dans un filtre à coeff réels) et en considérant que les 4 zéros sont à 0Hz.
Ce n'est qu'une approximation, mais voila ce que ca donne graphiquement :
En bleu la réponse de la compression en vert la modélisation avec les pôles et zéros indiqués ci-dessus.
C'est pas mal ..
Un fois qu'on a déterminé les caractéristiques de la réponse de la compression, il est facile de générer la transformé de Linkwitz que l'on veut. Il suffit de créer un filtre ayant pour zéros les pôles de la réponse de la compression et pour pôles ceux du filtre butterworth visé.
Par exemple, si on veut transformer la réponse en butterworth d'ordre 4 à 1000Hz, on obtient :
En vert : la cible : butterworth4 à 1000Hz, en rouge : la transformée de Linkwitz calculée, en bleu : le résultat.
Cela fonctionne bien, le problème, c'est que ça ne protège pas la compression, car une transformée de Linkwitz ne change pas l'ordre, et la compression a déjà une réponse du 4ème ordre (le cas que j'exposais dans mon poste précédent à 500Hz est un cas particulier)
On peut alors soit : filtrer beaucoup plus bas, juste pour protéger ou mieux : appliquer un filtre à 1000Hz qui va se combiner avec le butterworth4 obtenu. Mais le résultat sera alors forcement d'ordre supérieur à 4.
androuski a écrit:Tu as oublié l'essentiel : le résultat sur la phase,
Mais je n'ai pas à me préoccuper de la phase !
La réponse en phase de la compression peut être séparée entre une réponse minimum phase et une réponse excess phase (REW le fait très bien, par exemple).
La transformée de Linkwitz est par construction minimum phase. Appliquée à la partie minimum phase de la réponse de la compression , elle va donner une nouvelle réponse minimum phase. Or une réponse minimum phase ne dépend que de l'amplitude, donc "l'améloration" de la réponse en amplitude améliorera aussi la réponse en phase de la partie minimum phase.
Ensuite pour la partie excess phase, et bien une transformée de Linkwitz n'y peut rien et ne sera donc pas corrigée.
La réponse en phase de ta compression est minimum phase jusqu'à 10K, en dessous ca se dégrade doucement, avec surement un truc vers 200Hz. Mais dans la zone qui t'intéresse cela devrait aller.
Sinon, on peut aussi appliquer une transformé de Linkwitz à une réponse passe bas. Par exemple , sur la compression à androuski , cela semble chuter à ~ 12db/o à partir de 12K. Mon petit soft à bien du mal déterminer la valeur du double pole vers 12K (l'irrégularité de la réponse à ces fréquence n'aide pas), mais il trouve quand même un truc a 12.56K. on peut alors construire la transformée pour viser un butterworth d'ordre 2 à 16K et cela donne ça :
Voila, tout ça pour illustrer le fait, qu'à partir du moment où on à accès aux coeff des filtres, on peut construire des filtres parfaitement adaptés à la réponse des HP, plutôt que faire des égalisations au pif en utilisant l'outil EQ standard...
- tcli
- Messages: 4075
- Inscription Forum: 23 Nov 2009 22:40
- Localisation: Complètement à l'ouest
Super,
merci pour cette magnifique réponse Thierry ; je comprends bien le coup du +20 suivi d'un -40db qui épuise les ressources du DSP... à voir en pratique quand même peut-être. Tu comptes le rendre accessible ce soft ?
merci pour cette magnifique réponse Thierry ; je comprends bien le coup du +20 suivi d'un -40db qui épuise les ressources du DSP... à voir en pratique quand même peut-être. Tu comptes le rendre accessible ce soft ?
- androuski
- Messages: 23168
- Inscription Forum: 14 Mar 2007 14:43
- Localisation: C'est un trou, mais rempli de pinard, donc ça me va.
tcli a écrit:Voila, tout ça pour illustrer le fait, qu'à partir du moment où on à accès aux coeff des filtres, on peut construire des filtres parfaitement adaptés à la réponse des HP, plutôt que faire des égalisations au pif en utilisant l'outil EQ standard...
ça laisse rêveur
Bravo pour le taf réalisé
- mtf
- Messages: 1080
- Inscription Forum: 06 Nov 2003 20:25
|
Retourner vers Filtrage actif, Equalisation et Processeurs
|