Comment votre voix devient des nombres, 8 000 fois par seconde
La modulation par impulsions et codage, ou PCM, est la façon dont un téléphone transforme votre voix en nombres. La puce audio du téléphone mesure le courant de son micro 8 000 fois par seconde, arrondit chaque mesure à l'un de 256 paliers et l'écrit en 8 bits, soit 64 000 bits par seconde. Un téléphone sur Internet envoie ensuite ces nombres en paquets, et le téléphone d'en face les retransforme en son.
Violet : votre voixLégende
- Violet : votre voix
Un appel avec Finn · 8 000 mesures par seconde
Appuyez sur Parler, puis essayez la voix HD ou parlez doucement.Touchez Parler, puis essayez la voix HD ou parlez doucement.
Anatomie de la voix numérique : deux millièmes de seconde de votre voix dans la puce audio d'un téléphone, très agrandis, entre votre mobile et celui de Finn. Le dessin n'est pas à l'échelle et ne montre que quelques paliers.
-
Suivez un appel
Appuyez sur Lancer l'appel pour le regarder, ou faites défiler la page : le dessin vous suit, une étape à la fois. Sous le dessin, Essayer vous laisse passer votre propre appel.Appuyez sur Lancer l'appel pour le regarder, ou sur Suivant pour avancer d'une étape. Sous le dessin, Essayer vous laisse passer votre propre appel.
-
Étape 1 sur 6
Vous parlez dans votre téléphone
Votre voix pousse l'air en petites ondes, des centaines de fois par seconde. Le micro de votre téléphone les transforme en un courant électrique qui monte et descend avec votre voix. Sur le panneau, la ligne violette est ce courant pendant deux millièmes de seconde. Le rail du milieu, c'est le silence.
Pourquoi ne pas envoyer le courant lui-même ?
Pendant presque tout le XXe siècle, les lignes téléphoniques l'ont fait. Elles portaient une copie du courant d'un bout à l'autre, chaque tronçon de fil ajoutait un peu de bruit, et chaque amplificateur renforçait le bruit en même temps que votre voix.
En 1938, Alec Reeves, un ingénieur installé à Paris, dépose un brevet pour une autre méthode : envoyer des nombres plutôt que l'onde. Son but était une parole pratiquement libre de tout bruit de fond. Un nombre arrive ou n'arrive pas, et le bruit de la ligne ne le change pas.
Sources: US patent 2,272,070: Reeves, Electric signaling system (1942)
-
Étape 2 sur 6
La puce la mesure 8 000 fois par seconde
La puce audio de votre téléphone mesure le courant à intervalles réguliers : 8 000 fois par seconde, une mesure tous les 125 millionièmes de seconde. Chaque tige de cuivre est une mesure, aussi haute que le courant à cet instant. Entre deux tiges, la puce ne mesure rien. C'est l'échantillonnage, et 8 000 par seconde est la fréquence d'échantillonnage du téléphone.
Pourquoi 8 000, et est-ce suffisant ?
En 1949, le mathématicien Claude Shannon a démontré qu'une onde sans note plus aiguë qu'une fréquence donnée est entièrement déterminée par des mesures prises au double de cette fréquence. Mesurez plus de deux fois plus souvent que la note la plus aiguë, et rien n'est perdu.
Une ligne téléphonique transporte les sons de 300 à 3 400 hertz, la bande que l'UIT-T fixe pour un canal téléphonique. 8 000 mesures par seconde couvrent les notes jusqu'à 4 000 hertz, une marge au-dessus de la bande. Un filtre retire d'abord les sons plus aigus : un son au-dessus de 4 600 hertz doit ressortir au moins 25 décibels plus faible, sinon il reviendrait comme une fausse note, plus grave.
Sources: Proceedings of the IRE: Shannon, Communication in the presence of noise (1949); ITU-T G.712: transmission performance characteristics of pulse code modulation channels (2001); ITU-T G.711: pulse code modulation of voice frequencies (1988)
-
Étape 3 sur 6
Chaque mesure est arrondie à un palier
La puce ne peut pas noter toutes les hauteurs. Elle arrondit chaque mesure au plus proche de 256 paliers, 128 au-dessus du rail et 128 en dessous, et les tiges se placent sur leur palier. Les ingénieurs appellent cet arrondi la quantification. Les paliers sont serrés près du silence et plus espacés pour les sons forts, si bien qu'une voix douce perd aussi peu à l'arrondi qu'une voix forte.
Pourquoi les paliers ne sont-ils pas réguliers ?
Des paliers réguliers seraient presque tous gaspillés pour les sons forts. Sur les premières lignes téléphoniques numériques du Bell System, le son le plus fort qu'un canal acceptait était environ 1 000 fois plus puissant que le plus faible, et un compresseur ramenait cet écart à bien moins de niveaux, selon une relation presque logarithmique.
Le codec d'un téléphone, ses règles pour transformer le son en nombres, fait la même chose. La norme G.711 de l'UIT-T, le codec des téléphones depuis 1972, utilise l'une de deux règles, la loi A ou la loi μ. Chaque pays a choisi l'une ou l'autre. Entre deux pays qui ont choisi différemment, la ligne transporte la loi A, et c'est le pays de la loi μ qui convertit.
Sources: Bell System Technical Journal: the T1 carrier system (1965); ITU-T G.711: pulse code modulation of voice frequencies (1988)
-
Étape 4 sur 6
Chaque palier devient 8 bits
Chaque palier a un numéro, de 0 à 127 au-dessus du rail ou de 0 à 127 en dessous, et la puce l'écrit en 8 bits, des uns et des zéros. Le premier bit dit au-dessus ou en dessous du rail, les sept autres disent à quelle distance. L'écran lit la quatrième tige : le palier +86. 8 bits, 8 000 fois par seconde, cela fait 64 000 bits par seconde.
Ça représente combien ?
Une minute de votre voix, c'est 480 000 octets, environ un demi-mégaoctet, dans chaque sens. Ces 64 000 bits par seconde sont le débit d'un canal téléphonique depuis la norme G.711 de l'UIT-T, en 1972.
Les premières lignes téléphoniques numériques, le T1 du Bell System en 1962, utilisaient 7 bits par mesure au même rythme de 8 000 par seconde, et transportaient 24 appels à la fois sur des paires de fils de cuivre.
Sources: ITU-T G.711: pulse code modulation of voice frequencies (1988); Bell System Technical Journal: the T1 carrier system (1965)
-
Étape 5 sur 6
160 nombres partent dans un paquet
Un téléphone sur Internet n'envoie pas chaque nombre seul. Toutes les 20 millisecondes, il met les 160 derniers nombres dans un paquet, y inscrit l'adresse de Finn et l'envoie. Cela fait 50 paquets par seconde dans chaque sens.
Pourquoi ne pas envoyer chaque nombre seul ?
Chaque paquet a besoin d'étiquettes : où il va, sa place dans l'appel et le moment où son son a été enregistré. Envoyées une à une, les étiquettes pèseraient plus lourd que votre voix. Le profil de l'IETF pour le son sur Internet fixe par défaut 20 millisecondes de son par paquet, donc avec G.711 chaque paquet transporte 160 octets de voix.
Des paquets plus longs perdraient moins de place en étiquettes, mais le même profil prévient qu'ils ajoutent du délai et rendent un paquet perdu plus audible.
Sources: IETF RFC 3551: RTP profile for audio and video conferences (2003); IETF RFC 3550: RTP, a transport protocol for real-time applications (2003)
-
Étape 6 sur 6
Le téléphone de Finn retransforme les nombres en son
Le téléphone de Finn lit les nombres dans l'ordre et remet chacun à sa hauteur, 8 000 fois par seconde. Puis il lisse les paliers en une onde, l'onde fait vibrer l'écouteur, et Finn vous entend. La nouvelle onde est proche de la vôtre, mais pas identique : l'arrondi laisse de petites erreurs, un léger bruit que les ingénieurs appellent bruit de quantification.
Pourquoi la voix HD est-elle plus claire ?
Elle mesure deux fois plus souvent. La norme G.722 de l'UIT-T, de 1988, prend 16 000 mesures par seconde et transporte les sons de 50 à 7 000 hertz, contre 300 à 3 400 sur une ligne téléphonique, dans les mêmes 64 000 bits par seconde. Pour tenir, elle coupe le son en une bande grave et une bande aiguë et n'écrit que l'écart entre chaque mesure et ce qu'elle attendait, ce qui demande moins de bits. Un paquet de 20 millisecondes contient alors 320 mesures dans les mêmes 160 octets. Appuyez sur Voix HD sous le dessin pour voir les tiges en plus.
Les applications peuvent aller plus loin. Opus, le codec de l'IETF publié en 2012, mesure jusqu'à 48 000 fois par seconde pour la musique, mais ne code jamais de son au-dessus de 20 000 hertz, la limite haute de l'oreille humaine généralement admise.
Sources: ITU-T G.722: 7 kHz audio coding within 64 kbit/s (1988); IETF RFC 3551: RTP profile for audio and video conferences (2003); IETF RFC 6716: definition of the Opus audio codec (2012); Bell System Technical Journal: the T1 carrier system (1965)
Combien de mesures par seconde
Un codec est l'ensemble des règles qu'un téléphone suit pour transformer le son en nombres, puis les nombres en son. Il lui faut au moins deux mesures pour chaque onde d'un son, donc la note la plus aiguë qu'il transporte est un peu en dessous de la moitié de son rythme. Plus il y a de mesures par seconde, plus les notes aiguës passent.
Mesures par seconde, selon le codec
300 à 3 400 hertz, c'est la bande que l'UIT-T fixe pour un canal téléphonique. Le double de la note la plus aiguë, c'est la règle de Shannon, de 1949.
-
50 sur un million
La norme G.711 de l'UIT-T permet aux 8 000 mesures par seconde d'un téléphone d'avancer ou de retarder d'au plus 50 parties par million : 0,4 mesure par seconde.
ITU-T G.711: pulse code modulation of voice frequencies (1988)
-
100 000
En 1965, environ 100 000 canaux téléphoniques du Bell System voyageaient déjà sous forme de nombres sur des lignes T1, trois ans après que Western Electric a commencé à les fabriquer.
Comment on en est arrivé là
- 1938
Des nombres plutôt qu'une onde
Alec Reeves, un ingénieur installé à Paris, dépose en France un brevet pour la modulation par impulsions et codage. L'idée : mesurer l'onde à des instants fixes, arrondir chaque mesure à la plus proche d'une série de valeurs fixées et l'envoyer sous forme de code, pour que la parole arrive pratiquement sans bruit de fond.
US patent 2,272,070: Reeves, Electric signaling system (1942)
- 1949
Le double de la note la plus aiguë
Claude Shannon publie la preuve qu'une onde est entièrement déterminée par des mesures prises au double de sa fréquence la plus haute. Harry Nyquist avait déjà pointé ce chiffre en 1928.
Proceedings of the IRE: Shannon, Communication in the presence of noise (1949)
- 1962
Les premières lignes téléphoniques numériques
Western Electric commence à fabriquer le T1 pour le Bell System. Une ligne transporte 24 appels, chacun mesuré 8 000 fois par seconde, chaque mesure sur 7 bits.
- 1972
Un seul codec pour les téléphones du monde
L'UIT adopte la norme G.711 à Genève : 8 000 mesures par seconde et 8 bits chacune, selon la loi A ou la loi μ.
ITU-T G.711: pulse code modulation of voice frequencies (1988)
- 1988
La voix HD
L'UIT adopte la norme G.722 à Melbourne : 16 000 mesures par seconde, pour les sons de 50 à 7 000 hertz, dans les mêmes 64 000 bits par seconde.
- 2012
Un codec pour Internet
L'IETF publie Opus, un codec pour les appels et la musique sur Internet, qui va de 8 000 à 48 000 mesures par seconde.
La place de Voxbi
Voxbi, un standard téléphonique cloud hébergé dans l'Union européenne, utilise des codecs HD dans ses applications, pour que les appels en Wi-Fi, 4G ou 5G transportent davantage de votre voix.
Voir dans Voxbi