Mikrofon
Live overvågning af lydinput med realtidsbølgeform-visualiseringer, volumenmåling og detaljeret diagnosticering af lydmotoren.
Oversigt
Mikrofonværktøjet forvandler din enhed til en live lydmonitor. Det opfanger lyd fra den valgte inputenhed via Apples AVAudioEngine, behandler PCM-bufferen i realtid og præsenterer resultaterne gennem flere visualiseringspaneler: en cirkulær amplitudemåler, en rå lyd-bølgeform, en rullende volumenhistorik-graf og et omfattende dashboard med tekniske detaljer. Du kan skifte mellem alle tilgængelige lydinputenheder — indbygget mikrofon, Bluetooth-headsets (inklusive AirPods via HFP), kablede headset-mikrofoner, USB-lydinterfaces, CarPlay og AirPlay — uden at forlade værktøjet.
Overvågning starter automatisk, når værktøjet åbnes, og mikrofontilladelse er givet. Lydoptagelse stopper automatisk, når du forlader værktøjet, eller appen går i baggrunden, hvilket sikrer, at mikrofonen ikke forbliver aktiv.
Indholdsfortegnelse
- Skærmheader
- Mikrofonkontrolpanel
- Lydinput-enhedsvælger
- Volumenniveauer-panel
- Live lyd-bølgeformpanel
- Volumenanalysepanel
- Tekniske detaljer-panel
- Privatlivsforbehold
- Tilladelser
- Tekniske detaljer
- Noter og begrænsninger
Skærmheader
Øverst på skærmen vises en header med:
- Mikrofonmonitor-titel.
- En optagestatusindikator — en farvet prik med en etiket:
- Aktiv (grøn) — lydmotoren kører og opfanger lyd.
- Inaktiv (grå) — overvågning er stoppet.
- Et enhedsantal — antallet af tilgængelige lydinputenheder (f.eks. "1 enheder").
Mikrofonkontrolpanel
Mikrofonkontrolpanelet er det første kort på skærmen. Dets header viser et OPTAGER- eller STANDBY-mærke med en pulserende rød prik under optagelse.
Optageknap
En stor cirkulær knap i midten af panelet:
- Mikrofonikon (blå) — tryk for at starte overvågning. Lydmotoren starter, bølgeformdata begynder at flyde, og alle visualiseringspaneler aktiveres.
- Stop-ikon (rød) — tryk for at stoppe overvågning. Lydmotoren lukkes ned, og visualiseringerne fryses.
En etiket under knappen viser TRYK FOR AT OPTAGE eller TRYK FOR AT STOPPE afhængigt af den aktuelle tilstand.
Enhedsinfo-sektion
Under optageknappen vises oplysninger om den aktuelt aktive lydinput:
-
Enhed — navnet på den aktive inputenhed (f.eks. "Indbygget mikrofon", "AirPods Pro" eller "Ingen mikrofon", hvis ingen er registreret).
-
Tre statuskort i et gitter:
Kort Beskrivelse Status Aktiv (grøn) eller Inaktiv (rød). Type Enhedskategori: Intern, Headset, Bluetooth, USB Audio, CarPlay, AirPlay eller Ekstern. Kvalitet HØJ KVALITET, når samplingsfrekvensen er 48 kHz eller højere, STANDARD ellers. -
To tekniske specifikationskort under gitteret:
Kort Beskrivelse Samplingsfrekvens Den aktive lydsessions samplingsfrekvens (f.eks. "48.0 kHz"). Kanaler Maksimalt antal inputkanaler, som enheden understøtter.
Lydinput-enhedsvælger
Enhedsvælgerpanelet viser alle tilgængelige lydinputenheder og lader dig skifte mellem dem.
- Indbygget mikrofon — vises altid først med undertitlen "Intern enhedsmikrofon". Vælges som standard, når ingen ekstern enhed er tilsluttet.
- Eksterne enheder — vises under den indbyggede mikrofon, hver med:
-
Enhedsnavn (f.eks. "AirPods Pro", "USB-mikrofon").
-
En undertitel, der beskriver forbindelsestypen:
Porttype Undertitel Bluetooth A2DP Bluetooth A2DP Bluetooth HFP Bluetooth Hands-Free Bluetooth LE Bluetooth LE Hovedtelefoner Hovedtelefoner Headset-mikrofon Headset-mikrofon USB Audio USB Audio Andet Ekstern enhed
-
Hver enhedsrække har en radioknapindikator (udfyldt, når valgt) og et flueben-ikon for den aktive enhed. Tryk på en anden enhed for at skifte lydinput. Mens lydmotoren rekonfigureres, vises kortvarigt en indlæsningsindikator over skærmen.
Når en enhed tilsluttes eller frakobles (f.eks. tilslutning af AirPods), opdateres listen automatisk. Værktøjet vælger automatisk den bedste tilgængelige enhed efter prioritet: Bluetooth HFP først, derefter headset-mikrofon, derefter indbygget mikrofon.
Volumenniveauer-panel
Volumenniveauer-panelet giver et detaljeret realtidsbillede af den aktuelle lydamplitude.
Cirkulær amplitudemåler
En cirkulær måler i midten af panelet, der fyldes proportionalt med den aktuelle amplitude (0–100%). Buen bruger en vinkelgradient fra grøn (lav) over gul og orange til rød (høj). Den aktuelle amplitudeprocent vises som et stort tal i midten af måleren.
Volumenbjælke
Under måleren fyldes en horisontal bjælke fra venstre mod højre baseret på den aktuelle amplitude. Bjælken bruger samme grøn-til-rød-gradient og har skalaafmærkninger ved 0%, 25%, 50%, 75% og 100%.
Volumenmålinger
Fire målekort vises i et 2x2-gitter:
| Måling | Beskrivelse |
|---|---|
| Nuværende | Den øjeblikkelige amplitude som procent, farvekodet efter niveau (grøn < 30%, gul < 60%, orange < 85%, rød >= 85%). |
| Peak | Den højeste amplitudeværdi i den aktuelle bølgeformhistorik-buffer. |
| RMS | Root-mean-square-niveauet beregnet ud fra bølgeformhistorikken, som repræsenterer den gennemsnitlige signalenergi. |
| dBFS | Den aktuelle amplitude udtrykt i decibel relativt til fuld skala, beregnet som 20 × log10(amplitude). Værdier spænder fra ca. -80 dB (stilhed) til 0 dB (fuld skala). |
Volumenstatuslinje
Nederst i panelet vises en statuslinje med:
- Signalkvalitet — "STÆRKT SIGNAL" (grøn), når dBFS er over -20 dB, eller "MODERAT SIGNAL" (orange) ellers.
- Clipping-advarsel — en rød "CLIPPING"-etiket med advarselsikon vises, når amplituden overstiger 95%, hvilket indikerer, at lydsignalet kan være forvrænget.
Live lyd-bølgeformpanel
Live lyd-bølgeformpanelet viser de rå PCM-lyddata som en realtidsoscilloskop-visualisering.
Bølgeform-visualisering
Hovedområdet viser en rullende bølgeform gengivet fra de rå lyd-buffersamples (op til 1024 samples pr. frame). Bølgeformen tegnes i cyan på en mørk baggrund med et professionelt gitter:
- Gitter — vertikale og horisontale reference-linjer for visuel justering.
- Centerlinje — en stiplet cyan linje, der markerer nulpunktet.
- dB-skalaafmærkninger — etiketter i venstre kant ved +0 dB, -20 dB, -40 dB, -60 dB og -∞.
- Glødeffekt — en subtil radial glød bag bølgeformen, der intensiveres med signalstyrken.
- Refleksion — en svag spejlet kopi af bølgeformen under centerlinjen for visuel dybde.
En LIVE-indikator med en pulserende grøn prik og det aktuelle sample-antal (f.eks. "1024 samples") vises i panelets header.
Signalniveauindikatorer
I højre kant af bølgeformområdet lyser en vertikal 10-segment LED-lignende måler op proportionalt med signalstyrken. Segmenterne er farvekodet: grøn (lav), gul (moderat), orange (høj), rød (meget høj).
Bølgeform-statuslinje
Nederste bjælke i panelet viser:
- Signal — RMS-signalstyrken som procent, farvekodet (grå < 20%, grøn < 50%, orange < 80%, rød >= 80%).
- Peak — peak-sampleværdien fra den aktuelle rå buffer.
- Samplingsfrekvens og bitdybde — vises til højre (f.eks. "48kHz 24-bit").
Volumenanalysepanel
Volumenanalysepanelet viser en rullende historikgraf over lydamplituden over tid, som en traditionel volumemåler.
Tidsintervalvælger
I panelets header kan du vælge det tidsinterval, der vises i grafen:
| Interval | Samples |
|---|---|
| 1s | 50 |
| 5s | 250 |
| 10s | 500 |
Volumengraf
Hovedområdet viser en udfyldt bølgeformgraf over amplitudehistorikken (op til 60 datapunkter i den rullende buffer). Grafen bruger en grøn-til-rød-gradient baseret på amplitudeniveau, med en subtil glødeffekt og en spejlet refleksion nedenunder.
Reference-linjer tegnes:
- Et detaljeret gitter med hovedlinjer for hver 50% og mindre linjer for hver 10%.
- Stiplede reference-linjer ved 25%, 50% og 75% amplitude, farvekodet efter niveau.
- En procentskala til venstre (0%–100%).
- En tidsskala nederst, der viser sample-intervallet.
VU-målerbjælker
I højre kant af grafen fyldes en vertikal 20-segment VU-måler fra bund til top baseret på den aktuelle amplitude. Segmenterne er farvekodet: grøn (0–50%), gul (50–75%), orange (75–90%), rød (90–100%).
Statistiklinje
Nederst i panelet vises fire statistikker side om side:
| Statistik | Beskrivelse |
|---|---|
| Min | Minimumamplituden i den aktuelle bølgeformhistorik (blå). |
| Max | Maksimumamplituden i den aktuelle historik (rød). |
| Gennemsnit | Middelamplituden på tværs af historikbufferen (gul). |
| Nu | Den seneste amplitudeværdi, farvekodet efter niveau. |
Tekniske detaljer-panel
Panelet Tekniske detaljer er et omfattende dashboard, der viser hele tilstanden for lydmotor, lydsession og hardwarekonfiguration. Alle værdier opdateres hvert 0,5 sekund, mens overvågning er aktiv.
Ydelsesmålinger
| Måling | Beskrivelse |
|---|---|
| Samplingsfrekvens | Den aktive lydsessions samplingsfrekvens (f.eks. "48.0 kHz"). |
| Bufferstørrelse | Lydmotorens bufferstørrelse i frames (f.eks. 1024). |
| Input-latens | Input-latens rapporteret af lydsessionen, i millisekunder. Fremhævet, hvis latensen overstiger 10 ms. |
| IO-buffer | I/O-bufferens varighed i millisekunder. |
Lydniveauer
| Måling | Beskrivelse |
|---|---|
| Peak-niveau | Peak-amplituden som procent. Fremhævet rød, hvis clipping registreres (over 95%). |
| RMS-niveau | Root-mean-square-amplituden som procent. |
| dBFS | Decibel relativt til fuld skala. Fremhævet gul, hvis over -20 dB. |
| Signalkvalitet | Udledt af signal-støj-forhold: Fremragende (SNR > 40 dB), God (SNR > 20 dB), Rimelig (SNR > 10 dB) eller Dårlig. |
Enhedskonfiguration
| Måling | Beskrivelse |
|---|---|
| Aktuel rute | Navnet på den aktuelt aktive lydinputenhed. |
| Inputkanaler | Maksimalt antal tilgængelige inputkanaler. |
| Polært mønster | Det foretrukne polære mønster for input-datakilden (f.eks. Omnidirektionel). |
Sessionsstatus
| Måling | Beskrivelse |
|---|---|
| Motorstatus | Kører (grøn) eller Stoppet (rød). |
| Kategori | Den aktive AVAudioSession-kategori (f.eks. PlayAndRecord). |
| Tilstand | Den aktive lydsessionstilstand (f.eks. VoiceChat). |
| Indstillinger | De aktive kategoriindstillinger (f.eks. "BT • Mix"). |
Ruteændringer
Når en lydruteændring registreres, vises denne sektion med:
| Måling | Beskrivelse |
|---|---|
| Sidste ændring | Tidsstemplet for den seneste ruteændring. |
| Årsag | Årsagen til ændringen: Ny enhed tilgængelig, Enhed frakoblet, Kategori ændret, Ruteoverskrivning, Vågn op fra dvale, Ingen egnet rute, Konfigurationsændring eller Ukendt. |
Systeminformation
| Måling | Beskrivelse |
|---|---|
| Tidsstempel | Aktuel systemtid. |
| Samples | Antal samples i den aktuelle rå bølgeformbuffer. |
| Oppetid | Systemets oppetid i sekunder. |
Yderligere ydelse
| Måling | Beskrivelse |
|---|---|
| Output-latens | Output-latens rapporteret af lydsessionen, i millisekunder. |
| Foretrukken frekvens | Den foretrukne samplingsfrekvens anmodet af værktøjet. |
| Foretrukken buffer | Den foretrukne I/O-buffer-varighed anmodet af værktøjet, i millisekunder. |
| Foretrukne kanaler | Det foretrukne antal inputkanaler. |
Motoroplysninger
| Måling | Beskrivelse |
|---|---|
| Inputformat | Fuld AVAudioFormat-beskrivelse af lydmotorens inputnode (samplingsfrekvens, kanaler, bitdybde, interleaving). |
| Outputformat | Fuld AVAudioFormat-beskrivelse af lydmotorens outputnode. |
| Node-antal | Antal noder tilknyttet lydmotoren. |
| Maks. frames | Maksimalt antal frames til manuel rendering (vises kun, når motoren er i manuel rendering-tilstand). |
Kvalitetsmålinger
| Måling | Beskrivelse |
|---|---|
| Gennemsnitligt niveau | Gennemsnitlig amplitude på tværs af bølgeformhistorik-bufferen. |
| Dynamisk område | Forskellen mellem peak dBFS-niveau og støjgulv (-60 dB reference), i dB. |
| Støjgulv | RMS-niveauet udtrykt i dBFS, som repræsenterer baggrundsstøjniveauet. |
| Clipping | "Ja" (rød, fremhævet), hvis peak-amplituden overstiger 95%, "Nej" (grøn) ellers. |
Sessionsstatusdetaljer
| Måling | Beskrivelse |
|---|---|
| Session aktiv | "Baggrundslyd", hvis anden lyd afspilles, "Aktiv" ellers. |
| Lydhint | "Bør dæmpe", hvis systemet anbefaler at dæmpe sekundær lyd, "Kan mixe" ellers. |
Hardwareoplysninger
| Måling | Beskrivelse |
|---|---|
| Maks. outputkanaler | Maksimalt antal understøttede outputkanaler. |
| Input tilgængelig | Om lydinputhardware er tilgængelig. |
| Inputforstærkning | Aktuel input gain-værdi (hvis indstillelig), eller N/A. |
| Input-datakilde | Navnet på den aktive input-datakilde (f.eks. "Bund", "Front", "Bag"). |
| Systemvolumen | Aktuelt systemoutputvolumen (0,00–1,00). |
Sessionsformatinfo
Den rå beskrivelse af den aktive input-datakilde, som giver hele systemniveauets detaljestreng.
Privatlivsforbehold
Nederst på skærmen vises et privatlivsforbehold med skjoldikon, der angiver, at ingen lyddata gemmes, optages eller overføres — al behandling foregår lokalt på enheden i realtid.
Tilladelser
- Mikrofontilladelse — påkrævet for al funktionalitet. Systemets tilladelsesprompt vises automatisk første gang lydmotoren initialiseres.
- Hvis tilladelsen ikke er afgjort, viser Lirum en tilladelsesskærm med en Giv adgang-knap, der udløser systemprompten.
- Hvis tilladelsen tidligere blev nægtet, viser Lirum en Åbn indstillinger-knap, der omdirigerer til iOS Indstillinger, hvor brugeren kan genaktivere mikrofonadgang.
Tekniske detaljer
- Værktøjet bruger AVAudioEngine med en input-tap på bus 0 til at opfange PCM-lydbuffere. En bufferstørrelse på 1024 frames anvendes.
- Lydsessionen er konfigureret med kategorien
.playAndRecordog tilstanden.voiceChat, med indstillingerne.allowBluetoothog.mixWithOthersaktiveret. Dette sikrer, at Bluetooth HFP-enheder (såsom AirPods) kan opdages som inputkilder. - En foretrukken I/O-buffer-varighed på 5 ms anmodes for responsive visualiseringer.
- For ikke-Bluetooth-enheder anmodes en foretrukken samplingsfrekvens på 48 kHz. For Bluetooth HFP-enheder overlades samplingsfrekvensen til systemet for at undgå formatkonflikter.
- RMS-amplitude beregnes fra PCM-bufferen med formlen:
sqrt(sum(sample^2) / count), derefter skaleret med en faktor 5 og begrænset til [0, 1]. - dBFS (decibel relativt til fuld skala) beregnes som
20 * log10(amplitude). - Rå bølgeformsopdateringer begrænses til 60 fps for at undgå for mange UI-opdateringer.
- Bølgeformhistorik-bufferen indeholder op til 60 datapunkter, behandlet fra amplitudebufferen ved hver display link-frame.
- En CADisplayLink, der kører op til 120 fps, styrer opdateringer af bølgeformhistorikken ved at gennemsnitliggøre indsamlede amplitudesamples mellem frames.
- Lydmotordetaljer hentes hvert 0,5 sekund via en timer.
- Ved skift af inputenhed lukkes lydmotoren helt ned og genskabes med en ny lydsession for at sikre korrekt format. Et indlæsningsoverlay vises under overgangen (minimum 300 ms visningstid for glat UX, med 2 sekunders timeout-fallback).
- Bluetooth-formathåndtering — for Bluetooth-enheder installeres tap med et
nil-format, så systemet automatisk vælger det passende format og undgår ugyldige formatfejl, der kan opstå med HFP-enheder. - Lydruteændringer observeres via
AVAudioSession.routeChangeNotification. Når en ny enhed vises eller en eksisterende fjernes, opdaterer værktøjet automatisk enhedslisten og, hvis der optages, genstarter med den bedste tilgængelige enhed. Ruteændringer begrænses (minimum 300 ms interval) for at undgå genstartsløkker. - Automatisk enhedsvalg-prioritet: Bluetooth HFP, headset-mikrofon, indbygget mikrofon.
- Når værktøjet forsvinder, eller appen går i baggrunden, stoppes lydmotoren, og lydsessionen deaktiveres fuldt ud (skiftes til
.ambient-kategori og deaktiveres med.notifyOthersOnDeactivation) for at frigive mikrofonen og tillade andre apps at genoptage lydafspilning.
Noter og begrænsninger
- Værktøjet overvåger live lydinputniveauer. Det optager, gemmer eller overfører ikke nogen lyddata.
- Ved skift af inputenhed viser Lirum kortvarigt en indlæsningsindikator, mens lydmotoren rekonfigureres. Dette tager typisk under et sekund.
- Bluetooth-headsets og USB-mikrofoner kan rapportere andre gain-niveauer og samplingsfrekvenser end den indbyggede mikrofon.
- På Bluetooth HFP-enheder (f.eks. AirPods) kan samplingsfrekvensen være lavere (f.eks. 16 kHz eller 8 kHz) på grund af Hands-Free Profile-begrænsninger.
- Clipping-indikatoren aktiveres, når amplituden overstiger 95% af fuld skala. Vedvarende clipping kan indikere, at input gain er for høj, eller at lydkilden er for tæt på mikrofonen.
- Lydovervågning stopper automatisk, når appen går i baggrunden eller minimeres, hvilket sikrer, at mikrofonadgang ikke forbliver aktiv.