Scytales a écrit:Salut GBo!
Dans la documentation promotionnelle du Sony SCD-1, il était indiqué que les circuits de la puce numérique qui abrite le filtre VC24 (c'est la même puce qui se trouve dans le 555ES dont parle Oso) travaillait sur des mots de 50 bits ou plus et à une fréquence d'horloge équivalente à 8 fois la fréquence d'échantillonnage du DSD.
Cependant, la seule information platement technique dont je dispose, qui est un schéma notionnel de cette puce reproduit dans le manuel de maintenance du 555ES, montre que le format du signal numérique en sortie du filtre VC24 est de 24 bits.
Comme quoi, il y a bits et bits. Peut-être, pour clarifier le débat, pourrais-tu nous exposer rapidement les différents éléments fondamentaux des modulations numériques et du fonctionnement des circuits numériques qui peuvent être quantifiés avec des bits, afin que l'on ne mélange pas les choses.
Oui. Le PCM de CD (voir le FAQ à ce sujet pour plus d'info ou des questions) utilise des samples sur 16 bits: ce sont des
entiers allant de - 32767 et + 32767.
Cela fait (2^16) -1 entiers.
Chaque sample sur un CD est donc l'un de ces entiers, et il y en a un tous les 1/44100 ième de seconde (pour la voie de droite, et idem pour la voie de gauche).
Un circuit DAC 16 bits comme le TDA 1541 convertit chaque mots de 16 bits en analogique, il ne prend que des mots de 16 bits en entrée, entre - 32767 à + 32767, pas plus, ni aucune valeur non entière.
Or on a vu sur le 1er post qu'on avait avec l'oversampling un certain nombre de calculs à faire, cette fameuse opération de filtrage à partir du flux à x4 contenant des samples à 0.
Supposons que dans ces calculs on soit amené à faire des multiplications:
=> ex: soit à multiplier le sample + 23466 en entrée, par un coefficient, disons 0.965.
J'obtiens sur ma calculette + 22644
.69.
Ce nombre exact est impossible à caser sur 16 bits, il est entre + 22644 et + 22645; si je choisi l'un ou l'autre de ces deux entiers,
je commets une erreur d'arrondi irréversible (ou erreur dite de "quantification" en langage plus technique).
=> supposons ensuite que je doive additionner ce résultat avec le résutat d'une multiplication du même genre effectué précédemment ou en parallèle =>
les erreurs s'accumulent (ou se compensent parfois, mais c'est hautement imprévisible) ...
=> Pire, mon résultat provisoire peut
provoquer un dépassement au delà de +32767, ce qui va entrainer un résultat complètement faux!
Or c'est exactement ce genre d'opérations que l'on doit faire pour faire passer mon flux 4X pleins de zéros (voir 1er post) à celui de 4X filtré: c'est un filtrage appelé "FIR" qui nécessite un calcul dit "de convolution" temporelle, qui n'est autre qu'une succession de multiplications des samples d'entrée (typiquement de plusieurs dizaines à
plusieurs centaines), dont les résultats les plus précis possibles doivent être sommés dans un registre accumulateur avant d'en déduire la valeur d'
un seul sample de sortie:
Sur un lecteur CD, il faut faire, non pas 3 comme sur ce dessin, mais par exemple 500 multiplications avec les divers coefficients (qui constituent le noyau ou kernel du filtre) à partir de 500 samples d'entrée, et additionner au fur et à mesure les résultats pour en déduire UN sample de sortie. Idem pour le suivant, etc...
Les DSP sont exactement faits pour ça, sur un Sharc par exemple on a des registres qui peuvent atteindre 80 bits!
On s'arrange en programmant pour ne pas faire les erreurs que j'ai mentionnées, ou on les minimise de façon parfaitement controlée.
Autre type d'erreur pour être complet, c'est sur les coefficients: j'ai parlé de 0.965 dans mon exemple (l'un des 500 coeff du "kernel" du filtre), mais l'étude du filtre idéal sur ordinateur avait peut être préconisé pour ce coefficient la valeur exacte de 0.96501056543.
La troncature que j'ai du opérer par mégarde ou pour des raisons pratiques ne va pas donner exactement le résultat de filtrage escompté, même si la programmation est bonne: si ma puce le permettait, j'aurais peut-être du mettre plus de chiffres significatifs...
Voilà grosso modo le quotidien du développeur, et tout cela est bien maîtrisé!
Il n'empêche que mes samples laborieusement calculés par le DSP ou un circuit dédié doivent être ramenés sur 16 bits pour le TDA 1541 (fonctionnant à 176.4 KS/s dans mon exemple), sur 20 bits pour un PCM1702, ou sur 24 bits pour un PCM1704 !!!
J'en reviens pour finir à ta question sur l'audibilité des différents filtres disponibles avec la puce VC24.
Personnellement, je me contente généralement de paramétrer le filtre de ma 555ES suivant les recommandations du manuel de l'utilisateur, qui postule que chaque filtre est adapté à la reproduction d'un type de programme musical. Un tel postulat peut parraître quelque peu absurde, et on peut se dire que ces recommandations ne sont là que pour justifier l'existence de ces filtres. D'un autre côté, peut-être Sony a-t-il suivi le résultat d'expérimentions psychoacoustiques.
Quoi qu'il en soit, en bête consommateur de musique, je n'ai que rarement tenté la comparaison entre les filtres, qui est cependant assez facile à effectuer, puisqu'on peut les changer à la volée à partir de la télécommande sans interrompre la lecture d'un CD (il y a juste une sourdine de une à deux secondes pendant la reconfiguration du filtre).
Dans ces conditions, je n'ai que quelques exemples à donner. Le plus impressionnant est celui d'un disque de musique de chambre issu de l'intégrale des quatuors de C. Loewe interprétés par les Hallensia, label Musicaphon.
Ce n'est pas le son qui change, mais la géométrie de la scène sonore. Je ne me souviens plus du tout comment réagissaient les différents filtres, mais je me rappelle très bien que, écoutant avec le filtre 4 (sensé être le plus adapté à la musique de chambre avec instruments à cordes), je trouvais les instruments petits, lointains, placés dans une scène étroite. En changeant de filtre numérique, j'ai été surpris de constater un changement notable de la largeur de la scène sonore et de la dimension subjective des instruments. Je me rappelle même avoir tendu les bras en avant pour estimer la largeur de la scène avec les filtres entre lesquels les différences me paraissaient les plus patentes.
Cependant, la grande majorité des comparaisons (en non aveugle) que j'avais menées ne m'ont pas permis de constater de différences évidentes.
Merci pour ton témoignage Scytales.
cdlt,
GBo