Aller au contenu
Se connecter

/docs · VoiceLab · Practical

Hauteur et qualité de la voix : ce que le profil donne et ce qu’il retient

Le profil pitch lit où se situe une voix, de combien elle bouge, à quel point l’enregistrement est voisé et à quel point la voix est propre. Les chiffres du test, les limites et pourquoi la gigue et le scintillement ne sont pas encore proposés.

Mis à jour 13 oct. 2026


Le profil pitch de POST /v1/analyze/profile répond à trois questions sur une voix : où se situe-t-elle, de combien bouge-t-elle et à quel point est-elle propre. C’est un preset payant, comme tout profil sauf basic.

curl https://audiolab.tools/v1/analyze/profile \
  -H "Authorization: Bearer $AUDIOLAB_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/voice.wav", "profile": "pitch"}'

Ce qui revient

LensCe que c’estStatut
pitch.f0HzLa médiane de la fréquence fondamentale des parties voisées, 70 à 600 Hz. Environ 85 à 180 Hz pour un homme, 165 à 255 Hz pour une femme.Validated
pitch.f0LowHz, pitch.f0HighHzLes 10e et 90e centiles de la hauteur : l’étendue que la voix a utilisée.Proxy
pitch.f0VariationSemitonesDe combien la hauteur bouge, en demi-tons. La parole lue se situait entre 2,2 et 4,3.Proxy
pitch.voicedShareLa part des trames avec du son qui portent une hauteur. La parole lue se situait entre 0,49 et 0,76.Proxy
pitch.hnrDbLe rapport harmoniques sur bruit : quelle part du son voisé se répète d’une période à l’autre, en dB. La parole lue se situait entre 8 et 16 dB.Validated
pitch.f0TrackLa hauteur toutes les 10 ms, avec series: true.Proxy

Chaque trame compte avec son énergie : un ronflement 15 à 25 dB sous la voix ne déplace donc pas la médiane. La hauteur est suivie toutes les 10 ms avec la méthode de Boersma (1993), celle que Praat utilise, avec une seconde passe qui ajuste la plage au locuteur.

Jusqu’où lui faire confiance

Tout cela a été éprouvé le 13 octobre 2026, avec des critères écrits avant que les données de test n’existent (PREREG-PITCH.md dans le dépôt du moteur), sur des données sur lesquelles la mesure n’avait pas été développée.

  • La hauteur, sur 1 092 voix construites (un train d’impulsions à travers cinq voyelles, sept conditions) : aucune erreur grossière (plus de 20 pour cent d’écart) sur des enregistrements propres, aucune sous un bruit à 20 et 10 dB et au plus 1,9 pour cent sur une ligne téléphonique. La hauteur médiane d’un enregistrement s’écartait de 0,31 pour cent en médiane sur les phrases et de 0,07 pour cent sur les voyelles tenues. Les deux suiveurs que nous avions déjà, celui de l’application TuneLab et celui du coach de chant de ce site, faisaient 2,9 à 3,8 pour cent d’erreurs grossières sur les mêmes phrases et voyelles tenues.
  • Sur de la parole réelle, 40 lectures de 30 s de LibriSpeech : 98,0 pour cent des trames que ce suiveur et un suiveur indépendant (YIN) disent toutes deux voisées concordent à 20 pour cent près. C’est une concordance avec un second suiveur, pas un laryngographe. 2,9 pour cent des trames voisées se situent au-dessus de 1,8 fois la médiane de leur lecture, probablement une harmonique plus haute dans une voyelle forte.
  • Le rapport harmoniques sur bruit, sur des voix exactement périodiques avec un bruit blanc ajouté à un rapport connu : 18 enregistrements sur 19 entre 8 et 28 dB à 1,5 dB de la vérité, et 5 sur 5 entre 8 et 20 dB à 2 dB près sur une ligne téléphonique. Au-dessus d’environ 28 dB (22 dB sur une ligne téléphonique), il peut lire trop bas. La gigue et le scintillement le baissent aussi, car une voix irrégulière n’est pas périodique.

pitch.voicedShare dépend du niveau et du bruit : face à la version propre des mêmes enregistrements, il a bougé entre plus 13 et moins 28 points sur 32 situations de bruit, de réverbération et de niveau, et un bruit stable avec un son dedans compte comme voisé. C’est pourquoi c’est un proxy.

Ce qu’il retient : la gigue et le scintillement

Le registre a pitch.jitterLocal et pitch.shimmerLocal, la gigue locale (de combien des périodes voisines diffèrent) et le scintillement (de combien des cycles voisins diffèrent en amplitude). Ils ne sont pas proposés par l’API ni par le serveur MCP, et la réponse les laisse de côté.

Nous les avons éprouvés de la même façon. Sur des voyelles tenues construites, ils lisaient 1,2 et 1,0 à 1,1 fois la vérité, mais l’ordre par rapport à la vérité a manqué de peu les critères fixés à l’avance (une corrélation de rang de 0,74 contre 0,75, une erreur médiane de 0,66 contre 0,6 point), et dans de la parole continue construite la corrélation de rang est tombée à 0,61 sur une ligne téléphonique. Sous un bruit à 20 dB, ils lisaient jusqu’à 1,5 fois trop haut : ils ne sont donc de toute façon donnés que sur des enregistrements calmes.

Sur de la parole continue réelle, ils lisent 2,3 pour cent et 8,2 pour cent (la médiane de 35 lectures), deux à trois fois les normes cliniques d’environ 1 et 4 pour cent, qui valent pour une voyelle tenue. Nous ne savons pas quelles y sont les vraies valeurs. Un second test sur de nouvelles données avec une nouvelle préinscription peut changer cela ; d’ici là, ils restent dehors.

Ce que ce n’est pas

La gigue et le scintillement disent à quel point les cordes vocales vibrent régulièrement. Rien ici ne dit quoi que ce soit sur le bégaiement : le bégaiement est une interruption dans le temps, et nous n’avons pas de données étiquetées pour l’éprouver. Les valeurs ne sont pas un jugement sur la voix de quelqu’un, et le chant et les instruments sont hors de la plage (le plafond est 600 Hz).

À lire aussi

Ensuite dans VoiceLab docs

Trouver les paquets perdus dans un enregistrement →

Le profil chain compte les trous de silence numérique qu’un paquet perdu laisse au milieu de la parole. Comment il décide, les chiffres du test, ce qu’il ne voit pas et pourquoi la mesure d’écho et de slapback n’est pas proposée.

More in VoiceLab docs