Jipihorn's Blog

mars 28, 2011

Enfin ils s’en sont rendu compte.

Filed under: Audiophilie, Coup de gueule, Informatique — jipihorn @ 8:27

Et je n’étais pas fou.

Je savais bien qu’il y avait quelques fois quelque chose qui n’allait pas quand j’écoutais des trucs. Ça fait maintenant un bout de temps que j’ai dégagé toutes les sources audio pour ne laisser qu’un ordinateur dédié. Il faut dire que maintenant, le CD est obsolète, le DVD est quasi sur la paille, je ne parle même pas du vinyle qui ne se justifie que pour les collections de raretés (et encore, y a moyen de les capturer sans perte, sans poussières et sans usure). Le NAS avec toute la discothèque et DVDthèque capturées, ça c’est sympa.

Mais…

Depuis le passage à Vista et Seven, j’avais des comportements étranges. Par exemple, si je positionne l’échantillonnage à 96kHz globalement, le son pouvait comporter des distorsions énormes et des saturations incroyables si le niveau était suffisant. Depuis je me suis rendu compte qu’il restait un bruit parasite très audible dans certaines situations sans vraiment savoir d’où il venait et quand il venait.

Parallèlement, au bureau, je me suis rendu compte que j’avais une espèce de bruit qui apparaissait superposé au son sur un morceau particulier (je vous donne une opportunité de vous foutre de ma gueule, c’est sur le premier morceau de l’album de Krafwerk – Radioactivity). Bruit qui ressemblait étrangement à ce que je pouvais entendre en certaines occasions à la maison. C’est une sorte de bruit d’aliasing parasite qui se superpose aux basses d’où la facilité à l’entendre. Ce qui est plus étrange c’est qu’il est plus prononcé à gauche qu’à droite et j’avais bien aussi une impression de grésillement dans l’aigu récurent sans vraiment savoir d’où ça pouvait venir. J’avais essayé 4 cartes audio différentes, en S/PDIF, en analogique ou même au casque. Rien n’y faisait, ce n’est pas lié au matériel mais bien au système d’exploitation.

Et puis je suis tombé sur un début de logique il y a quelques jours en découvrant le problème en regardant un film alors que je ne l’avais pas rencontré depuis un certain temps. J’avais mis une carte Asus Sonar HDAV et bidouillé quelques trucs ici ou la, dont la fréquence d’échantillonnage principal qui était passée à 44.1 kHz plutôt qu’à 48 kHz habituellement. Et comme ce bruit était quand même bien audible, je repasse à 48kHz et la, paf, le défaut disparait.

Y aurait-il quelque chose de pourri dans l’algo de resampling dans Windows Vista ou Seven ? Car, tout compte fait, tous les défauts que j’ai pu entendre venaient de ça… Et bien sur, quand j’étais sous XP, je n’avais jamais rencontré quelque chose de semblable – le système dédié a son est radicalement différent depuis Vista.

Pour mieux comprendre la structure globale de la gestion du son depuis Vista, on peut trouver un schémas simplifié global sur MSDN.

Ce qui nous intéresse, c’est ce qu’il se passe dans l' »audio engine » quand on est dans le mode partagé (ce qui est la majorité des cas). Dans ce cas, tous les flux audio se dirigent vers le mixeur qui se charge de mélanger les sources (un bon point est qu’il travail en mode 32 bits flottants) et de changer les fréquences d’échantillonnage si nécessaire pour coller avec celle définie par le périphérique (c’est ce qui est disponible dans ses propriétés). Normalement, les applications ne travaillent pas en mode exclusif car les contraintes sont fortes. Seuls les logiciels pro avec des contraintes de latence tendent à utiliser ce mode.

C’est en fouillant un peu dans les docs MSDN et en cherchant un peu dans les forums de discussion Microsoft que je suis tombé sur cet article ou l’on découvre que le type a découvert le même type de défaut. Et il cite une conversation chez Microsoft à ce sujet. Finalement, après avoir longuement cherché, ces utilisateurs ont découvert que ce problème est attaché au WaveMixer uniquement et non aux couches DirectX (direct sound) et autres. Ce que j’ai pu vérifier en dirigeant de flux vers le « DirectSound device » plutôt que « WaveOut » tout en ayant des fréquences d’échantillonnage différentes. Ce qui tendrait à montrer que ca n’est pas dans l’ « audio engine », mais dans les couches précédentes que le problème réside, probablement dans le bloc « Windows Multimedia »

Remarquons à quel point il a été long pour que le gars de chez Microsoft admette qu’ils aient reproduit le problème ! Et remarquons aussi la date : le 18 janvier dernier. Seven est sorti depuis un bout de temps déjà et personne n’avait remarqué ce défaut pourtant très audible, en tout cas pas chez Microsoft. Enfin. Mieux vaut tard que jamais, probablement feront-ils un correctif.

En attendant, si vous utilisez Vista ou Seven comme OS support de votre média-player, n’utilisez pas le WaveOut comme sortie audio !

Jipi.


J’ignore si tout ceci est valable dans les version 32 bits de Seven, je n’ai pas pu voir de réponse claire al-dessus. Je n’ai utilisé jusque-ici les version 64 bits de ces OS.


Update : Une petite analyse du phénomène sur un petit bout audio, filtré à 2kHz – 48dB/octave (les niveaux sont légèrement différents car les deux périphériques WaveOut et DirectSound ne semblent pas avoir le même gain) :

 

Contenu original sans défauts

 

Problème de ré-échantillonage.

 

Qu’apercevons nous ? Des magnifiques pics à 3.9kHz, 7.8kHz et 11.7kHz, parfaitement audibles. Mais, dites-voir, combien vaut 48000-44100 ? Bingo.

Publicités

5 commentaires »

  1. Encore une raison pour utiliser LINUX !
    Jamais entendu ce genre de bruit mais c’est peut-être mon oreille qui décline…

    Commentaire par charlie — avril 9, 2011 @ 2:00

  2. Alors ça c’est assez instructif comme info…
    3615 ma vie, j’explique mon problème, j’utilise un Meridian 518 suivi d’un dcx2496 et bizarrement, à chaque utilisation, dans les conf de la carte son intégré, de la sortie numérique à la fc 48kHz, je me retrouve avec un son constant en sortie, m’étonnerait à moitié que le problème « sus-cité » ait sa part de responsabilité dans le mien!!!?

    Commentaire par sdf — avril 10, 2011 @ 12:32

  3. lol, ca joue le pourfendeur idiophile et ça utilise une carte son interne a deux balles en WaveOut…qui est un machin totalement obsolète hérité de Windows 95. Les vrais hommes utilisent un DAC externe en WASAPI.

    Commentaire par lee perry — novembre 20, 2011 @ 5:40

  4. Vrai pour le CD et le DVD, c’est déjà mort…Pour le vinyle, c’est plus sentimental et sensuel qu’autre chose…
    Perso j’utilise une carte son Auzentech x-fi prélude, Windows 7 / 64 et les pilotes asio dédiés, je n’ai aucun aucun souci, c’est une excellente carte.
    A part celui de trouver les derniers drivers, car Auzentech n’existe plus. Je qui en train de me tourner vers du Digigram, d’ailleurs.
    Pour le DAC externe, on verra suivant les finances…Un « vrai » DAC pro de course me plairait bien mais bon c’est 1000-1500 €…
    Les cartes son ont leurs limites, elles font tout et parfois mal en stéréo pure, les Onkyo SE 200 ou 300 en PCI sont des tueries !

    Commentaire par Lowlow07 — avril 29, 2014 @ 2:54

  5. J’avais découvert ce phénomène en écoutant de la musique avec WinAmp en utilisant la carte son intégrée. Avec CoolEdit (ou Audition), j’avais pu capturer et observer les harmoniques du SRC. A l’époque j’avais conclu que le WaveOut était vraiment pourri et que le chip audio traitait tout à 48KHz en interne. Ma solution fut de passer en DirectSound puis en WASAPI en fixant tout à 48KHz et en développant un plugin SRC pour WinAmp pour tout fixer à 48KHz.
    A l’époque, je n’avais rien trouvé sur le sujet, uniquement des gens expliquant que les chip intégrés, c’était le mal…

    Aujourd’hui le SRC de Windows 8/10 est toujours mauvais (un peu moins mauvais).Même le SRC (lanczos 16 points avec phase sur 10 bits) que j’avais développé en 2008 pour un jeu reste meilleur.

    Commentaire par Christophe — juin 4, 2017 @ 2:48


RSS feed for comments on this post. TrackBack URI

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Propulsé par WordPress.com.