Qu'est-ce qu'un « hertz » exactement, et pourquoi deux définitions divergent-elles ?
Un hertz correspond à un cycle par seconde. Générez une tonalité de 528 Hz en Python, puis comptez-la de deux façons différentes : les résultats diffèrent au niveau du dernier chiffre, et il est intéressant de comprendre pourquoi.
On ne cesse de vendre des « fréquences », mais on ne les mesure pratiquement jamais. Avant même de débattre de l’efficacité d’une fréquence particulière, il convient de préciser ce que ce chiffre représente réellement, car une grande partie de la confusion qui en découle provient du fait que les gens utilisent « 528 Hz » comme un nom plutôt que comme une valeur quantitative.
Un hertz correspond à un cycle par seconde. C’est là toute la définition. Cette unité du Système international (SI) doit son nom à Heinrich Hertz et signifie exactement cela : un phénomène qui se produit, dans son intégralité, autant de fois par seconde. Une note de 528 Hz correspond à une variation de la pression atmosphérique qui monte puis redescend à son niveau initial 528 fois en une seconde.
J’en construis un, pour avoir quelque chose à mesurer
Vous n’avez pas besoin d’un synthétiseur pour cela. Une note pure est une onde sinusoïdale, et une onde sinusoïdale se compose de trois lignes :
import numpy as np
sr = 44100 # samples per second
t = np.arange(int(4 * sr)) / sr # four seconds of time stamps
y = np.sin(2 * np.pi * 528 * t) # 528 cycles per second
Le 2 * np.pi est présent car un cycle complet d’une fonction sinusoïdale correspond à 2π radians. En multipliant par 528, on obtient 528 de ces cycles par seconde de t. Tout le reste de la synthèse audio repose sur ce principe.
Premier critère : les passages à zéro
Si une onde effectue 528 cycles par seconde, elle passe par zéro 528 fois par seconde en montant. Comptez-les donc :
ups = np.sum((y[:-1] < 0) & (y[1:] >= 0)) # upward zero crossings
print(ups / 4) # per second
Sur une durée de quatre secondes, cela donne 527,88 cycles par seconde, et non 528.
Deuxième point : la FFT
L’autre approche consiste à analyser le signal dans son intégralité et à déterminer quelles sont les fréquences qui le composent. Une transformée de Fourier décompose l’onde en différentes composantes, et la plus forte d’entre elles constitue la réponse :
spec = np.abs(np.fft.rfft(y))
freqs = np.fft.rfftfreq(len(y), 1 / sr)
print(freqs[np.argmax(spec)]) # 528.00
Cela donne 528,00 Hz.
Pourquoi sont-ils en désaccord ?
Deux méthodes fiables, un même signal, mais des résultats différents au niveau du dernier chiffre. On serait tenté de conclure que l’une des deux est défaillante. Or, aucune des deux ne l’est.
Le nombre de passages à zéro est inférieur à la valeur attendue car la fenêtre de quatre secondes ne contient pas un nombre entier de cycles. À 528 Hz, quatre secondes correspondent à 2 112 cycles complets, suivis d’un fragment. Le compteur ne pouvant pas compter ce fragment, il l’ignore, ce qui fait que la moyenne obtenue est légèrement inférieure à la réalité. Ce phénomène n’est pas spécifique à 528 Hz : il se produit à toute fréquence dont la durée de cycle ne se divise pas exactement par la durée de la fenêtre. En allongeant la fenêtre, l’erreur diminue, car un fragment ignoré représente une part plus faible d’un total plus important.
La FFT semble exacte ici, et il convient de s’en méfier. Sa résolution est également déterminée par la fenêtre : quatre secondes d’audio donnent des intervalles de fréquence espacés de 0,25 Hz. La fréquence de 528 se situe parfaitement dans un intervalle. Une tonalité à 528,1 Hz serait attribuée au bin le plus proche, et la FFT semblerait tout aussi sûre de cette réponse erronée.
La conclusion utile n’est pas qu’une méthode l’emporte sur les autres. C’est plutôt que chaque mesure porte l’empreinte de la fenêtre dans laquelle elle a été effectuée, et qu’un chiffre cité sans mention de la méthode utilisée est incomplet. C’est pourquoi les publications de cette chaîne précisent, en plus du chiffre, la manière dont celui-ci a été obtenu.
Deux choses qui en découlent
Une fréquence que vous ne pouvez pas entendre est tout de même émise. Écrivez les trois mêmes lignes en remplaçant 528 par 1, et le fichier n’est plus silencieux. Il contient une onde à amplitude maximale effectuant un cycle par seconde. L’audition humaine s’étend approximativement de 20 Hz à 20 kHz ; ainsi, 1 Hz ne produit aucune hauteur tonale. « Inaudible » et « absent » sont deux affirmations différentes, et c’est cette différence qui explique pourquoi un différentiel binaural de 4 Hz peut exister dans un fichier sans que vous n’entendiez jamais cette fréquence de 4 Hz : elle existe en tant que différence entre deux sons audibles, et non en tant que son en soi.
Le doublement donne l’impression d’être un seul pas, et non deux. 528 Hz et 1 056 Hz sont séparés d’une octave, et le passage de 1 056 à 2 112 Hz correspond à une autre octave, même si le deuxième saut ajoute deux fois plus de hertz. La perception de la hauteur tonale est approximativement logarithmique, ce qui explique pourquoi les intervalles musicaux sont exprimés en rapports plutôt qu’en différences. C’est également la raison pour laquelle un centroïde spectral de 590 Hz et un autre de 438 Hz sont plus éloignés l’un de l’autre que ne le suggère la soustraction brute.
L’élément déterminant pour les allégations relatives à la fréquence
Le A440 est la référence par rapport à laquelle toute affirmation du type « accordé à X Hz » est mesurée ; il s’agit d’un accord plutôt que d’une constante de la nature. Une conférence internationale tenue à Londres a fixé cette fréquence à 440 Hz en 1939. Auparavant, la France avait légiféré en faveur de 435 Hz dès 1859, et la hauteur de référence variait selon les villes et les époques. Aujourd’hui, à Berlin et à Vienne, on joue à environ 443 Hz, tandis qu’à New York, on se situe autour de 442 Hz, car les musiciens préfèrent un son plus brillant.
Cela ne permet pas de déterminer si une fréquence particulière a un effet. Cela démantèle une autre partie du discours : celle qui affirme qu’un accord appartient à la nature et que les autres en sont des déviations. Ce ne sont que des conventions. Reste à savoir si une fréquence spécifique produit un effet spécifique, ce qui est une question empirique, à laquelle chaque étude apporte sa réponse, et à laquelle il est répondu en toute honnêteté ailleurs dans cette revue.
Le but de compter une tonalité de deux façons différentes ne réside pas dans les 0,12 Hz. C’est plutôt que, lorsqu’on n’a pas mesuré une valeur, celle-ci n’est qu’une étiquette, et que la mesure s’étend sur trois lignes.
Références
Le contenu présenté ici relève davantage du traitement du signal théorique que des données cliniques : il s’agit de la définition du hertz selon le SI, ainsi que du comportement standard des transformées de Fourier discrètes et de l’application de fenêtres, mis en œuvre à l’aide de numpy. Historique des hauteurs de concert : le diapason normal français de 1859 (435 Hz) et la norme adoptée lors de la conférence de Londres en 1939 (440 Hz).
Contenu pédagogique sur le traitement des signaux audio. Ne constitue pas un avis médical.
Listen · FFT-verified session Qu'est-ce qu'un « hertz » exactement, et pourquoi deux définitions divergent-elles ? Watch on YouTube →