Microphone
Surveillance en direct de l'entrée audio avec visualisations en temps réel de la forme d'onde, mesure du volume et diagnostics détaillés du moteur audio.
Vue d'ensemble
L'outil Microphone transforme votre appareil en moniteur audio en direct. Il capture l'audio depuis le périphérique d'entrée sélectionné en utilisant AVAudioEngine d'Apple, traite le tampon PCM en temps réel, et présente les résultats via plusieurs panneaux de visualisation : un indicateur circulaire d'amplitude, une forme d'onde audio brute, un graphique historique du volume en continu, et un tableau de bord complet des détails techniques. Vous pouvez basculer entre tous les périphériques d'entrée audio disponibles — microphone intégré, casques Bluetooth (y compris AirPods via HFP), microphones de casque filaire, interfaces audio USB, CarPlay et AirPlay — sans quitter l'outil.
La surveillance démarre automatiquement à l'ouverture de l'outil et après obtention de la permission microphone. La capture audio s'arrête automatiquement lorsque vous quittez l'outil ou que l'application passe en arrière-plan, garantissant qu'aucune utilisation persistante du microphone ne subsiste.
Table des matières
- En-tête de l'écran
- Panneau de contrôle Microphone
- Sélecteur de périphérique d'entrée audio
- Panneau des niveaux de volume
- Panneau de forme d'onde audio en direct
- Panneau d'analyse du volume
- Panneau des détails techniques
- Avertissement sur la confidentialité
- Permissions
- Détails techniques
- Notes et limitations
En-tête de l'écran
En haut de l'écran, un en-tête affiche :
- Le titre Microphone Monitor.
- Un indicateur d'état d'enregistrement — un point coloré avec une étiquette :
- Actif (vert) — le moteur audio fonctionne et capture l'audio.
- Inactif (gris) — la surveillance est arrêtée.
- Un compte des périphériques — le nombre de périphériques d'entrée audio actuellement disponibles (ex. "1 Devices").
Panneau de contrôle Microphone
Le panneau de contrôle Microphone est la première carte à l'écran. Son en-tête affiche un badge ENREGISTREMENT ou VEILLE avec un point rouge clignotant lors de l'enregistrement.
Bouton d'enregistrement
Un grand bouton circulaire au centre du panneau :
- Icône micro (bleu) — appuyez pour démarrer la surveillance. Le moteur audio démarre, les données de forme d'onde commencent à circuler, et tous les panneaux de visualisation s'activent.
- Icône arrêt (rouge) — appuyez pour arrêter la surveillance. Le moteur audio est arrêté et les visualisations se figent.
Une étiquette sous le bouton indique TOUCHER POUR ENREGISTRER ou TOUCHER POUR ARRÊTER selon l'état actuel.
Section informations sur le périphérique
Sous le bouton d'enregistrement, le panneau affiche les informations sur l'entrée audio active :
-
Périphérique — le nom du périphérique d'entrée actif (ex. "Microphone intégré", "AirPods Pro", ou "Pas de microphone" si aucun détecté).
-
Trois cartes d'état en grille :
Carte Description État Actif (vert) ou Inactif (rouge). Type Catégorie du périphérique : Interne, Casque, Bluetooth, Audio USB, CarPlay, AirPlay, ou Externe. Qualité HAUTE QUALITÉ si la fréquence d'échantillonnage est 48 kHz ou plus, STANDARD sinon. -
Deux cartes de spécifications techniques sous la grille :
Carte Description Fréquence d'échantillonnage La fréquence d'échantillonnage de la session audio active (ex. "48.0 kHz"). Canaux Le nombre maximal de canaux d'entrée supportés par le périphérique.
Sélecteur de périphérique d'entrée audio
Le panneau de sélection liste tous les périphériques d'entrée audio disponibles et permet de basculer entre eux.
- Microphone intégré — toujours listé en premier avec le sous-titre « Microphone du périphérique interne ». Sélectionné par défaut lorsqu'aucun périphérique externe n'est connecté.
- Périphériques externes — listés sous le microphone intégré, chacun affichant :
-
Le nom du périphérique (ex. "AirPods Pro", "Microphone USB").
-
Un sous-titre décrivant le type de connexion :
Type de port Sous-titre Bluetooth A2DP Bluetooth A2DP Bluetooth HFP Bluetooth mains libres Bluetooth LE Bluetooth LE Casque audio Casque audio Micro casque Microphone de casque Audio USB Audio USB Autre Périphérique externe
-
Chaque ligne de périphérique possède un indicateur radio (rempli si sélectionné) et une icône de coche pour le périphérique actif. Appuyer sur un autre périphérique change l'entrée audio. Pendant la reconfiguration du moteur audio, un indicateur de chargement apparaît brièvement sur l'écran.
Lorsqu'un périphérique est connecté ou déconnecté (ex. branchement d'AirPods), la liste se met à jour automatiquement. L'outil sélectionne automatiquement le meilleur périphérique disponible selon un ordre de priorité : Bluetooth HFP en premier, puis micro casque, puis microphone intégré.
Panneau des niveaux de volume
Le panneau des niveaux de volume offre une vue détaillée en temps réel de l'amplitude audio actuelle.
Indicateur circulaire d'amplitude
Un indicateur circulaire au centre du panneau qui se remplit proportionnellement à l'amplitude actuelle (0–100%). L'arc utilise un dégradé angulaire allant du vert (faible) au jaune, orange, puis rouge (élevé). Le pourcentage d'amplitude actuel est affiché en grand au centre de l'indicateur.
Barre de volume
Sous l'indicateur, une barre horizontale se remplit de gauche à droite selon l'amplitude actuelle. La barre utilise le même dégradé vert-rouge et inclut des graduations à 0 %, 25 %, 50 %, 75 % et 100 %.
Métriques de volume
Quatre cartes métriques affichées en grille 2x2 :
| Métrique | Description |
|---|---|
| Actuel | L'amplitude instantanée en pourcentage, codée par couleur selon le niveau (vert < 30 %, jaune < 60 %, orange < 85 %, rouge >= 85 %). |
| Pic | La valeur d'amplitude la plus élevée dans le tampon historique de la forme d'onde actuelle. |
| RMS | Le niveau quadratique moyen calculé à partir de l'historique de la forme d'onde, représentant l'énergie moyenne du signal. |
| dBFS | L'amplitude actuelle exprimée en décibels par rapport à l'échelle maximale, calculée comme 20 × log10(amplitude). Les valeurs vont d'environ -80 dB (silence) à 0 dB (pleine échelle). |
Barre d'état du volume
En bas du panneau, une barre d'état affiche :
- Qualité du signal — « SIGNAL FORT » (vert) lorsque le dBFS est supérieur à -20 dB, ou « SIGNAL MODÉRÉ » (orange) sinon.
- Avertissement de saturation — une étiquette rouge « SATURATION » avec icône d'avertissement apparaît lorsque l'amplitude dépasse 95 %, indiquant que le signal audio peut être saturé.
Panneau de forme d'onde audio en direct
Le panneau de forme d'onde audio en direct affiche les données audio PCM brutes sous forme de visualisation oscilloscope en temps réel.
Visualisation de la forme d'onde
La zone principale montre une forme d'onde défilante rendue à partir des échantillons bruts du tampon audio (jusqu'à 1024 échantillons par image). La forme d'onde est dessinée en cyan sur un fond sombre avec une grille professionnelle en superposition :
- Grille — lignes de référence verticales et horizontales pour l'alignement visuel.
- Ligne centrale — ligne cyan en pointillés marquant le point de passage par zéro.
- Marqueurs d'échelle en dB — étiquettes sur le bord gauche à +0 dB, -20 dB, -40 dB, -60 dB et -∞.
- Effet de halo — un léger halo radial derrière la forme d'onde qui s'intensifie avec la force du signal.
- Réflexion — une copie miroir atténuée de la forme d'onde sous la ligne centrale pour un effet de profondeur visuelle.
Un indicateur LIVE avec un point vert clignotant et le nombre d'échantillons actuel (ex. « 1024 samples ») apparaît dans l'en-tête du panneau.
Indicateurs de niveau du signal
Sur le bord droit de la zone de forme d'onde, un indicateur vertical à 10 segments de type LED s'allume proportionnellement à la force du signal. Les segments sont codés par couleur : vert (faible), jaune (modéré), orange (élevé), rouge (très élevé).
Barre d'état de la forme d'onde
La barre inférieure du panneau affiche :
- Signal — la force RMS du signal en pourcentage, codée par couleur (gris < 20 %, vert < 50 %, orange < 80 %, rouge >= 80 %).
- Pic — la valeur d'échantillon maximale du tampon brut actuel.
- Fréquence d'échantillonnage et profondeur de bits — affichées à droite (ex. « 48kHz 24-bit »).
Panneau d'analyse du volume
Le panneau d'analyse du volume affiche un graphique historique en continu de l'amplitude audio dans le temps, fonctionnant comme un volume-mètre traditionnel.
Sélecteur de plage temporelle
Dans l'en-tête du panneau, un contrôle segmenté permet de choisir la plage temporelle affichée dans le graphique :
| Plage | Échantillons |
|---|---|
| 1s | 50 |
| 5s | 250 |
| 10s | 500 |
Graphique du volume
La zone principale affiche un graphique rempli de la forme d'onde historique de l'amplitude (jusqu'à 60 points de données dans le tampon roulant). Le graphique utilise un dégradé vert-rouge basé sur le niveau d'amplitude, avec un effet de halo subtil et une réflexion miroir en dessous.
Des lignes de référence sont tracées :
- Une grille détaillée avec lignes majeures tous les 50 % et lignes mineures tous les 10 %.
- Lignes de référence en pointillés à 25 %, 50 % et 75 % d'amplitude, codées par couleur selon le niveau.
- Une échelle en pourcentage à gauche (0 %–100 %).
- Une échelle temporelle en bas montrant la plage d'échantillons.
Barres du VU-mètre
Sur le bord droit du graphique, un VU-mètre vertical à 20 segments se remplit de bas en haut selon l'amplitude actuelle. Les segments sont codés par couleur : vert (0–50 %), jaune (50–75 %), orange (75–90 %), rouge (90–100 %).
Barre des statistiques
En bas du panneau, quatre statistiques sont affichées côte à côte :
| Statistique | Description |
|---|---|
| Min | L'amplitude minimale dans l'historique actuel de la forme d'onde (bleu). |
| Max | L'amplitude maximale dans l'historique actuel (rouge). |
| Moyenne | L'amplitude moyenne sur le tampon historique (jaune). |
| Maintenant | La valeur d'amplitude la plus récente, codée par couleur selon le niveau. |
Panneau des détails techniques
Le panneau des détails techniques est un tableau de bord complet qui expose l'état complet du moteur audio, de la session audio et de la configuration matérielle. Toutes les valeurs sont mises à jour toutes les 0,5 secondes pendant la surveillance active.
Métriques de performance
| Métrique | Description |
|---|---|
| Fréquence d'échantillonnage | La fréquence d'échantillonnage de la session audio active (ex. "48.0 kHz"). |
| Taille du tampon | La taille du tampon du moteur audio en frames (ex. 1024). |
| Latence d'entrée | La latence d'entrée rapportée par la session audio, en millisecondes. Mise en évidence si la latence dépasse 10 ms. |
| Tampon E/S | La durée du tampon d'entrée/sortie en millisecondes. |
Niveaux audio
| Métrique | Description |
|---|---|
| Niveau de pic | L'amplitude de pic en pourcentage. Mise en évidence en rouge si saturation détectée (au-dessus de 95 %). |
| Niveau RMS | L'amplitude quadratique moyenne en pourcentage. |
| dBFS | Décibels par rapport à l'échelle maximale. Mise en évidence en jaune si supérieur à -20 dB. |
| Qualité du signal | Dérivée du rapport signal/bruit : Excellent (SNR > 40 dB), Bon (SNR > 20 dB), Moyen (SNR > 10 dB), ou Faible. |
Configuration du périphérique
| Métrique | Description |
|---|---|
| Route actuelle | Le nom du périphérique d'entrée audio actif. |
| Canaux d'entrée | Le nombre maximal de canaux d'entrée disponibles. |
| Directivité | La directivité préférée de la source de données d'entrée (ex. Omnidirectionnel). |
État de la session
| Métrique | Description |
|---|---|
| État du moteur | En fonctionnement (vert) ou Arrêté (rouge). |
| Catégorie | La catégorie AVAudioSession active (ex. PlayAndRecord). |
| Mode | Le mode de session audio actif (ex. VoiceChat). |
| Options | Les options de catégorie actives (ex. « BT • Mix »). |
Changements de route
Lorsqu'un changement de route audio est détecté, cette section apparaît affichant :
| Métrique | Description |
|---|---|
| Dernier changement | L'horodatage du dernier changement de route. |
| Raison | La raison du changement : Nouveau périphérique disponible, Périphérique déconnecté, Catégorie modifiée, Surcharge de route, Réveil du sommeil, Pas de route adaptée, Changement de configuration, ou Inconnu. |
Informations système
| Métrique | Description |
|---|---|
| Horodatage | L'heure système actuelle. |
| Échantillons | Le nombre d'échantillons dans le tampon brut actuel de la forme d'onde. |
| Temps de fonctionnement | Le temps de fonctionnement du système en secondes. |
Performance supplémentaire
| Métrique | Description |
|---|---|
| Latence de sortie | La latence de sortie rapportée par la session audio, en millisecondes. |
| Fréquence préférée | La fréquence d'échantillonnage préférée demandée par l'outil. |
| Tampon préféré | La durée de tampon E/S préférée demandée par l'outil, en millisecondes. |
| Canaux préférés | Le nombre préféré de canaux d'entrée. |
Détails du moteur
| Métrique | Description |
|---|---|
| Format d'entrée | La description complète AVAudioFormat du nœud d'entrée du moteur audio (fréquence d'échantillonnage, canaux, profondeur de bits, entrelacement). |
| Format de sortie | La description complète AVAudioFormat du nœud de sortie du moteur audio. |
| Nombre de nœuds | Le nombre de nœuds attachés au moteur audio. |
| Frames max | Le nombre maximal de frames en rendu manuel (affiché uniquement lorsque le moteur est en mode rendu manuel). |
Métriques de qualité
| Métrique | Description |
|---|---|
| Niveau moyen | L'amplitude moyenne sur le tampon historique de la forme d'onde. |
| Plage dynamique | La différence entre le niveau de pic dBFS et le plancher de bruit (-60 dB de référence), en dB. |
| Plancher de bruit | Le niveau RMS exprimé en dBFS, représentant le niveau de bruit de fond. |
| Saturation | « Oui » (rouge, mis en évidence) si le pic d'amplitude dépasse 95 %, « Non » (vert) sinon. |
Détails de l'état de session
| Métrique | Description |
|---|---|
| Session active | « Audio en arrière-plan » si un autre audio est en cours, « Active » sinon. |
| Indice audio | « Doit se taire » si le système recommande de couper l'audio secondaire, « Peut mixer » sinon. |
Détails matériels
| Métrique | Description |
|---|---|
| Canaux de sortie max | Le nombre maximal de canaux de sortie supportés. |
| Entrée disponible | Indique si le matériel d'entrée audio est disponible. |
| Gain d'entrée | La valeur actuelle du gain d'entrée (si réglable), ou N/A. |
| Source de données d'entrée | Le nom de la source de données d'entrée active (ex. « Bas », « Avant », « Arrière »). |
| Volume système | Le volume de sortie système actuel (0,00–1,00). |
Informations sur le format de session
La description brute de la source de données d'entrée active, fournissant la chaîne complète de détails au niveau système.
Avertissement sur la confidentialité
En bas de l'écran, un avertissement sur la confidentialité avec une icône de bouclier indique qu'aucune donnée audio n'est stockée, enregistrée ou transmise — tout le traitement se fait localement sur l'appareil en temps réel.
Permissions
- Permission microphone — requise pour toutes les fonctionnalités. La demande de permission système apparaît automatiquement la première fois que le moteur audio s'initialise.
- Si la permission n'a pas été déterminée, Lirum affiche un écran de permission avec un bouton Accorder l'accès qui déclenche la demande système.
- Si la permission a été refusée précédemment, Lirum affiche un bouton Ouvrir les réglages pour rediriger vers l'application Réglages iOS où l'utilisateur peut réactiver l'accès au microphone.
Détails techniques
- L'outil utilise AVAudioEngine avec un tap d'entrée sur le bus 0 pour capturer les tampons audio PCM. Une taille de tampon de 1024 frames est utilisée.
- La session audio est configurée avec la catégorie
.playAndRecordet le mode.voiceChat, avec les options.allowBluetoothet.mixWithOthersactivées. Cela garantit que les périphériques Bluetooth HFP (comme les AirPods) sont détectables comme sources d'entrée. - Une durée de tampon E/S préférée de 5 ms est demandée pour des visualisations réactives.
- Pour les périphériques non Bluetooth, une fréquence d'échantillonnage préférée de 48 kHz est demandée. Pour les périphériques Bluetooth HFP, la fréquence est laissée au système pour éviter les conflits de format.
- L'amplitude RMS est calculée à partir du tampon PCM avec la formule :
sqrt(sum(sample^2) / count), puis multipliée par un facteur 5 et limitée à [0, 1]. - Le dBFS (décibels par rapport à l'échelle maximale) est calculé comme
20 * log10(amplitude). - Les mises à jour de la forme d'onde brute sont limitées à 60 fps pour éviter des mises à jour excessives de l'interface.
- Le tampon historique de la forme d'onde contient jusqu'à 60 points de données, traités à partir du tampon d'amplitude à chaque frame du display link.
- Un CADisplayLink fonctionnant jusqu'à 120 fps pilote les mises à jour de l'historique de la forme d'onde en moyennant les échantillons d'amplitude collectés entre les frames.
- Les détails du moteur audio sont interrogés toutes les 0,5 secondes via un timer.
- Lors du changement de périphérique d'entrée, le moteur audio est complètement arrêté et recréé avec une nouvelle session audio pour garantir le format correct. Un écran de chargement est affiché pendant la transition (temps d'affichage minimum de 300 ms pour une UX fluide, avec un timeout de secours à 2 secondes).
- Gestion du format Bluetooth — pour les périphériques Bluetooth, le tap est installé avec un format
nilpour laisser le système choisir automatiquement le format approprié, évitant les erreurs de format invalides qui peuvent survenir avec les périphériques HFP. - Les changements de route audio sont observés via
AVAudioSession.routeChangeNotification. Lorsqu'un nouveau périphérique apparaît ou qu'un périphérique existant est retiré, l'outil met automatiquement à jour la liste des périphériques et, si l'enregistrement est actif, redémarre avec le meilleur périphérique disponible. Les changements de route sont limités (intervalle minimum de 300 ms) pour éviter les boucles de redémarrage. - Priorité de sélection automatique des périphériques : Bluetooth HFP, micro casque, microphone intégré.
- Lorsque l'outil disparaît ou que l'application passe en arrière-plan, le moteur audio est arrêté et la session audio est complètement désactivée (catégorie basculée en
.ambientet désactivation avec.notifyOthersOnDeactivation) pour libérer le microphone et permettre à d'autres applications de reprendre la lecture audio.
Notes et limitations
- L'outil surveille les niveaux d'entrée audio en direct. Il n'enregistre, ne sauvegarde ni ne transmet aucune donnée audio.
- Lors du changement de périphérique d'entrée, Lirum affiche brièvement un indicateur de chargement pendant la reconfiguration du moteur audio. Cela prend généralement moins d'une seconde.
- Les casques Bluetooth et microphones USB peuvent rapporter des niveaux de gain et des fréquences d'échantillonnage différents par rapport au microphone intégré.
- Sur les périphériques Bluetooth HFP (ex. AirPods), la fréquence d'échantillonnage peut être plus basse (ex. 16 kHz ou 8 kHz) en raison des limitations du profil mains libres.
- L'indicateur de saturation se déclenche lorsque l'amplitude dépasse 95 % de l'échelle maximale. Une saturation persistante peut indiquer un gain d'entrée trop élevé ou une source sonore trop proche du microphone.
- La surveillance audio s'arrête automatiquement lorsque l'application passe en arrière-plan ou est minimisée, garantissant qu'aucun accès microphone ne persiste.