Question:
Convertisseurs 16 bits ou 24 bits?
Sławomir Kozok
2015-05-01 23:22:48 UTC
view on stackexchange narkive permalink

Je veux créer des effets DSP, par exemple sur le processeur STM32F4, avec une fréquence de 96 ou 192 KHz. Les convertisseurs 16 bits (ADC et DAC) sont-ils suffisants pour ce type d'opération? Puis-je entendre une différence lors du choix de 16 bits ou 24 bits?

Quelle est la fréquence d'échantillonnage maximale de vos ADC / DAC?C'est ce qui affecte les fréquences que vous souhaitez échantillonner.Vous pouvez tester si vous entendrez une différence entre 16 bits et 24 bits sous Windows (Cliquez avec le bouton droit sur l'icône du son dans la boîte à outils -> Périphériques de lecture -> choisissez celui que vous utilisez -> Propriétés -> Avancé et changez entre24 bits et 16 bits).
À quel type de signaux appliquez-vous des effets et que faites-vous finalement avec ces signaux.
Je souhaite créer une plateforme qui me permettra de créer de nombreux effets différents.Je veux utiliser avec une guitare.Pour le début, je veux faire une simple enveloppe ADSR, mais ensuite peut-être quelque chose comme delay ou chorus.
Les guitares ont une réponse en fréquence et une plage dynamique bien inférieures à celles des autres sources audio.16 bits serait bien.
Vous pouvez jeter un œil au [hoxton owl] (https://www.rebeltech.org/product/owl-pedal/).Bien que je n'étais pas particulièrement amoureux des sons de démonstration qu'ils ont sur leur site, ils ont [des schémas et une base de code sur github] (https://github.com/pingdynasty/OwlWare).Leur matériel comprend un processeur ARM, un codec [WM8731] (https://www.cirrus.com/products/wm8731/), des horloges à cristal.etc.
Six réponses:
#1
+9
Matt Young
2015-05-02 05:17:20 UTC
view on stackexchange narkive permalink

Il y a beaucoup de mauvaises informations et de phoolery audio disponibles sur ce sujet, mais si vous faites un canal d'audio numérique, les fréquences d'échantillonnage de 96 kHz et 192 kHz sont ridicules. L'audition humaine s'étend jusqu'à 20 kHz. Pour satisfaire Nyquist à 20 kHz, nous avons besoin d'un taux d'échantillonnage supérieur à 40 kHz. Les CD font 44,1 kHz et 48 kHz est une autre fréquence d'échantillonnage courante.

Maintenant, rappelons que l'audio numérique est un signal discret, non continu. Cela signifie que est a une valeur à chaque instant d'échantillonnage et n'est pas défini à tous les autres moments. Pour un signal à bande limitée, échantillonné à ou supérieur à Nyquist, il n'y a qu'un seul signal qui traverse chacun de ces échantillons discrets. Tout autre signal passant par tous les points d'échantillonnage ne peut pas satisfaire Nyquist. La seule raison d'échantillonner à 96 kHz ou 192 kHz pour un seul canal est si vous suréchantillonnez avec un ADC à faible profondeur de bits. C'est aussi idiot, et nous y reviendrons ensuite.

Nous venons de voir comment une série d'échantillons discrets correspond exactement à un signal. Ceci est indépendant de la profondeur de bits. Cela ne veut pas dire que la profondeur de bits n'a pas d'importance. La conversion en numérique introduit un bruit de quantification. La quantification est le bruit introduit dans le signal numérique en "arrondissant" la valeur numérique la plus proche, comme le montre cette image volée sans vergogne à Wikipédia.

enter image description here

Le bruit de quantification est directement lié à la profondeur de bits. Cela devrait être assez évident, plus la résolution (valeurs à arrondir) est élevée, plus le bruit de quantification est faible. Une profondeur de bits plus élevée permet une résolution pleine échelle plus élevée. Une résolution plus élevée réduit le bruit de quantification en ayant plus de valeurs disponibles pour correspondre étroitement à la valeur du signal à un échantillon. La diminution du bruit de quantification réduit le bruit de fond et augmente le rapport signal sur bruit (SNR).

Pouvez-vous entendre la différence entre la quantification 16 et 24 bits? Je parie tout ce que tu ne peux pas. C'est pour une guitare, et les guitares ne sont pas connues pour leur plage dynamique. Une symphonie professionnelle? Peut-être, sans hésitation. Le bruit de fond de 16 bits est suffisamment bas, il est peu probable qu'il soit perceptible, mais la différence sera mesurable.

En résumé, mon vote va pour un taux d'échantillonnage de 48 kHz et une résolution de 16 bits. J'encourage vivement toute personne intéressée par ce sujet à regarder cette vidéo.

Cette vidéo était incroyable.Cela va ouvrir quelques questions de ma part.
+1 pour la différence entre mesurable et discernable - parfois, la différence est tout simplement trop petite pour être entendue.
Dans des conditions idéales, un échantillonnage 16 bits à 44100 Hz sera adéquat.L'utilisation d'une profondeur de bits et d'une fréquence d'échantillonnage plus élevées peut toutefois simplifier certains aspects de la conception du système.Par exemple, obtenir un SNR de 96 dB à partir d'un ADC 16 bits nécessiterait que le gain d'entrée soit parfaitement réglé.Si un périphérique doit accepter l'entrée d'une variété de périphériques dont le niveau de crête peut varier d'un facteur 100, un CAN 16 bits à gain fixe ne serait bon que pour environ 56 dB lorsqu'il est utilisé sur un signal de bas niveau.En revanche, un ADC audio 24 bits typique serait capable de gérer un SNR utile cohérent sur toute sa plage dynamique.
@supercat Bon point, mais un SNR de 96 dB pour une boîte d'effet de guitare est franchement ridicule.
@MattYoung: Il existe deux formes différentes de SNR: le rapport entre le niveau du signal a et le niveau de bruit * mesuré en même temps *, ou le rapport entre le niveau de signal maximum et le niveau de bruit le plus bas qui peut rouler sur un signal non nul.Pour la première mesure, même 48 dB suffiraient pour une guitare.Pour le second, cependant, il faut beaucoup plus.S'il y a une différence de plus de 48 dB entre les niveaux d'entrée les plus forts et les plus faibles qu'une boîte devrait accepter, un ADC 16 bits n'aurait qu'un SNR de 48 dB à la deuxième mesure, ce qui n'est pas vraiment suffisant.
@MattYoung: En ce qui concerne la fréquence d'échantillonnage, si l'on veut une bande passante de 12 kHz, un échantillonnage à 48 kHz avec un SNR de 48 dB nécessiterait un filtre de 48 dB / octave.L'utilisation d'un échantillonnage à 96 kHz nécessiterait un filtre de 24 dB / octave, et l'utilisation d'un échantillonnage à 192 kHz ne nécessiterait qu'un filtre de 12 dB / octave.En outre, l'utilisation d'algorithmes d'interpolation bruts à 192Khz peut donner des résultats comparables à l'utilisation de meilleurs algorithmes de filtrage à 48Khz, mais nécessite beaucoup moins d'effort de codage.
#2
+8
crgrace
2015-05-01 23:30:15 UTC
view on stackexchange narkive permalink

Cela dépend de qui vous demandez. La plupart des humains ne peuvent pas entendre au-delà de 20 kHz et 16 bits, donc 96 ou 192 kHz devraient suffire.

Quant à entendre une différence entre les convertisseurs 16 et 24 bits, cela dépend de votre DSP. Le principal avantage des convertisseurs 24 bits est qu'il vous donne des tonnes de marge supplémentaire (plage dynamique), ce qui vous permet de faire beaucoup d'opérations mathématiques et de ne pas ajouter de bruit de quantification notable.

D'après mon expérience, je ne peux pas faire la différence entre les convertisseurs 16 et 24 bits. Certaines personnes pensent qu'elles peuvent. Si j'étais vous, j'irais avec les convertisseurs 24 bits, c'est donc une chose de moins à craindre et vous pouvez vous concentrer sur votre code DSP.

#3
+4
Adam Haun
2015-05-02 08:43:12 UTC
view on stackexchange narkive permalink

Il faut tenir compte du fait que les performances de votre ADC et DAC dépendront beaucoup du circuit de support et de la disposition du PCB. Je ne suis pas un expert ADC, mais je crois comprendre que d'un point de vue électrique, 16 bits est haut de gamme et 24 bits est extrême. Si vous utilisez une référence 5V, 1 bit le moins significatif correspond à 76 uV sur un convertisseur 16 bits. C'est un plancher de bruit dans le meilleur des cas de -96 dB. Êtes-vous sûr de pouvoir contrôler le bruit dans cette mesure? Gardez à l'esprit que votre environnement d'enregistrement produit également du bruit. À moins que vous ne soyez dans un studio d'enregistrement et que vous ayez un très beau circuit imprimé, je ne pense pas qu'un ADC 24 bits vous aidera. Je soupçonne également que 96 kHz est excessif, et que 48 kHz fonctionnerait tout aussi bien.

Pour le plaisir, vous pouvez expérimenter avec l'ADC 12 bits sur le STM32F4 pour voir si vous pouvez entendre une différence contre 16 bits.

#4
  0
supercat
2015-05-06 22:00:12 UTC
view on stackexchange narkive permalink

Une bizarrerie facilement négligeable des systèmes de quantification comme les ADC est qu'un ADC qui renvoie toujours la lecture la plus proche de la valeur d'entrée ajoutera une quantité significative - jusqu'à ± ½ LSB - de distorsion harmonique, ce qui peut être beaucoup plus répréhensible que serait ± ½ LSB de bruit à large spectre. Un ADC qui ajoutait ± ½ LSB de bruit à large spectre avec les bonnes caractéristiques pourrait éliminer la distorsion harmonique, mais si les caractéristiques du bruit n'étaient pas tout à fait correctes, une certaine distorsion subsisterait. Bien qu'il ne soit pas impossible de concevoir un ADC 16 bits de haute qualité avec une source de bruit ± ½LSB très bien formée, il est souvent beaucoup plus facile d'étendre simplement les mesures pour signaler 24 bits, réduisant ainsi le bruit de quantification (et l'harmonique qui en résulte. distorsion) par un facteur d'au moins 256. Bien que le passage à 24 bits puisse ne pas avoir beaucoup d'avantages au-delà, aller à 20, cela n'ajoute probablement pas grand-chose au coût d'un point de vue matériel ou logiciel.

Par analogie, supposons que l'on ait besoin d'un appareil qui rapportera une tension précise à 0,06 volts près. Serait-il plus facile de concevoir un tel appareil avec une lecture en dixièmes de volt, ou en centièmes? Si la lecture est en dixièmes, alors l'appareil doit être en mesure de résoudre la différence entre 1,139 et 1,161 volts (le premier doit être indiqué comme 1,1 et le second comme 1,2) - une différence d'un peu plus de 0,02 volts. Si la lecture était en centièmes, elle pourrait rapporter une valeur de 1,10 volts pour tout ce qui va jusqu'à 1,159 volts, et une lecture de 1,11 volts pour tout ce qui descend jusqu'à 1,061 volts, un écart d'environ 0,1 volts. Ainsi, fournir des chiffres plus significatifs dans la lecture réduit en fait la précision des circuits nécessaires pour obtenir une précision de résultat donnée.

#5
  0
r3mnant
2015-07-18 08:01:27 UTC
view on stackexchange narkive permalink

Dans votre cas, pour échantillonner une guitare électrique avec une fréquence de crête maximale d'environ 2,5 kHz et une pente d'atténuation d'au moins 12 dB / octave à des fréquences plus élevées, je suis d'accord avec le consensus général de 48 kHz et de résolution de 16 bits, bien que si vous entrez dans de lourdes modifications (telles que plusieurs flux de retard), alors 24 bits vous serviront mieux comme @crgrace l'a souligné.

Personne n'a encore mentionné la psychoacoustique qui joue un rôle important dans la perception de l'audio numérique , et comme votre question portait sur la question de savoir si vous entendez une différence, je pense que cela reste à expliquer. Notre perception du son est davantage dominée par les informations de phasage que par la fréquence et la distorsion. Vous avez mentionné le delay et le chorus comme vos prochains intérêts après la modulation d'enveloppe. Ces deux effets ajoutent des informations de mise en phase à la source d'origine.

Cependant, si vous décidiez d'étendre la portée de votre projet pour inclure une guitare acoustique ou des voix, il y aurait un effet notable en utilisant une fréquence d'échantillonnage de 48 kHz et 16 bits de profondeur. La sibilance, le son «s» dans la parole, se produit souvent avec le chant. Une guitare acoustique avec un micro piézo a également une forme de sibilance (bien que pas du même type) et il est préférable de filtrer les signaux sur 3-5 kHz pour éviter ce problème. Mais avec les voix, vous ne pouvez pas vraiment faire grand-chose sauf appliquer un filtre de dé-essing.

La sibilance est un son complexe qui a un jeu d'informations de phasage à des fréquences moyennement élevées. Le cas le plus évident est une cymbale grésillante. Mic et enregistrez-le à différentes fréquences d'échantillonnage et comparez le son enregistré avec le live. Au fur et à mesure que vous réduisez la fréquence d'échantillonnage, le signal enregistré ressemblera davantage à un bruit dur jusqu'à ce qu'il devienne insupportable. Sur un bon enregistrement, vous pourrez entendre les rivets voyager autour de la cymbale. C'est l'une des raisons pour lesquelles certaines personnes préfèrent les enregistrements analogiques aux CD.

En règle générale, vous avez besoin que la fréquence d'échantillonnage soit 10x la fréquence de signal la plus élevée pour minimiser les distorsions de phase. Une guitare électrique produit quelques harmoniques supérieures à 5 kHz et donc une fréquence d'échantillonnage de 48 kHz fonctionnera assez bien. Mais si vous souhaitez utiliser vos effets de manière plus générale, comme la correction de la hauteur tonale ou le chœur pour les voix, je vous recommande d’utiliser des fréquences d’échantillonnage plus élevées.

#6
-1
Nazar
2015-05-02 00:40:19 UTC
view on stackexchange narkive permalink

La profondeur de bits , dont parle l'OP, n'a rien à voir avec la capacité d'entendre une gamme de fréquences. En d'autres termes, la profondeur de bits représente la résolution de l'intensité sonore. Je parie que si vous obtenez une musique de haute qualité et la produisez via des convertisseurs 16 et 24 bits, vous entendrez la différence en grand! L'image ci-dessous montre une "escalier" de quantification exagérée sur l'échantillonnage 16 bits:

enter image description here

Maintenant, fréquence d'échantillonnage , que OP confond avec ADC, est différent. Je pense qu'il veut dire 96 k / s et 192 k / s, ce qui signifierait un suréchantillonnage. Ces nombres représentent généralement les multiples de 24 kHz - une fréquence d'audition maximale avec une surcharge supplémentaire (en raison de filtres passe-bas non idéaux). Ainsi, l'échantillonnage à 48 kHz serait légèrement supérieur à la fréquence de Nyquist, 96 kHz signifie simplement qu'il est stéréo (deux canaux) et 192 est quadro.

Ainsi, vous devez échantillonner chaque canal à environ 48 kHz, et si vous peut obtenir un échantillonneur ADC 24 bits - allez-y - la plupart des échantillons sonores commerciaux ont une profondeur de 24 bits. Cependant, si votre source sonore (quitar) est suffisamment bruyante pour tuer la résolution, dépenser de l'argent supplémentaire pour le convertisseur 24 bits n'améliorera pas votre son.

Et comme @crgrace l'a dit, une profondeur de bit plus élevée vous permettra de réduire la perte d'informations lors du traitement numérique du son en raison d'erreurs de troncature.

La profondeur de bits n'a rien à voir avec «l'intensité sonore», mais avec la plage dynamique et le SNR.
@MattYoung D'accord, l'avez-vous confondu avec le volume?Je voulais dire la résolution de l'intensité sonore qui est essentiellement SNR.
Je ne sais pas comment "résolution de l'intensité sonore" = SNR
@MattYoung Eh bien, car avoir une résolution inférieure à SNR inutile car elle submerge le signal.Et quel est le point de votre commentaire?Je ne sais pas quel bitdepth a à voir avec la plage dynamique?
La compression MP3 n'est pas une simple réduction de la profondeur de bits
Cette modification rend simplement cette réponse erronée.La profondeur de bits n'a RIEN à voir avec la qualité.La quantification à 8 ou 24 bits vous donnera exactement le même signal.La différence est que la version 24 bits aura un plancher de bruit beaucoup plus faible.
Cette dernière image est absurdement inexacte.
Cette dernière image semble provenir de la fiche de vente du "High Resolution Audio Player".
En raison de multiples commentaires sur la partie de l'image qui représentait la forme d'onde mp3, qui n'était pas liée à la question (c'était juste une partie de l'image), j'ai coupé cette partie.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...