Мікрофон
Моніторинг живого аудіовходу з візуалізацією хвиль у реальному часі, вимірюванням гучності та детальною діагностикою аудіодвигуна.
Огляд
Інструмент Мікрофон перетворює ваш пристрій на живий аудіомонітор. Він захоплює аудіо з вибраного вхідного пристрою за допомогою AVAudioEngine від Apple, обробляє PCM-буфер у реальному часі та відображає результати через кілька панелей візуалізації: круговий індикатор амплітуди, сирий аудіосигнал, графік історії гучності та розширену панель технічних деталей. Ви можете перемикатися між усіма доступними аудіовхідними пристроями — вбудований мікрофон, Bluetooth-гарнітури (включаючи AirPods через HFP), дротові мікрофони гарнітур, USB-аудіоінтерфейси, CarPlay та AirPlay — не виходячи з інструменту.
Моніторинг починається автоматично при відкритті інструменту та наданні дозволу на мікрофон. Захоплення аудіо зупиняється автоматично при виході з інструменту або переході додатка у фоновий режим, що гарантує відсутність залишкового використання мікрофона.
Зміст
- Заголовок екрана
- Панель керування мікрофоном
- Вибір аудіовхідного пристрою
- Панель рівнів гучності
- Панель живої аудіохвилі
- Панель аналізу гучнос ті
- Панель технічних деталей
- Застереження щодо конфіденційності
- Дозволи
- Технічні деталі
- Примітки та обмеження
Заголовок екрана
У верхній частині екрана відображається:
- Назва Монітор мікрофона.
- Індикатор стану запису — кольорова крапка з підписом:
- Активний (зелений) — аудіодвигун працює та захоплює аудіо.
- Неактивний (сірий) — моніторинг зупинено.
- Кількість пристроїв — кількість доступних аудіовхідних пристроїв (наприклад, "1 пристрій").
Панель керування мікрофоном
Панель керування мікрофоном — перша картка на екрані. У її заголовку відображається бейдж ЗАПИС або ОЧІКУВАННЯ з пульсуючою червоною крапкою під час запису.
Кнопка запису
Велика кругла кнопка в центрі панелі:
- Іконка мікрофона (синя) — натисніть для початку моніторингу. Аудіодвигун запускається, дані хвилі починають надходити, всі панелі візуалізації активуються.
- Іконка зупинки (червона) — натисніть для зупинки моніторингу. Аудіодвигун вимикається, візуалізації зупиняються.
Під кнопкою розміщено підпис НАТИСНІТЬ ДЛЯ ЗАПИСУ або НАТИСНІТЬ ДЛЯ ЗУПИНКИ залежно від поточного стану.
Секція інформації про пристрій
Під кнопкою запису панель відображає інформацію про поточний активний аудіовхід:
-
Пристрій — назва активного вхідного пристрою (наприклад, "Вбудований мікрофон", "AirPods Pro" або "Немає мікрофона", якщо не виявлено жодного).
-
Три статусні картки у сітці:
Картка Опис Статус Активний (зелений) або Неактивний (червоний). Тип Категорія пристрою: Внутрішній, Гарнітура, Bluetooth, USB Audio, CarPlay, AirPlay або Зовнішній. Якість ВИСОКА ЯКІСТЬ при частоті дискретизації 48 кГц і вище, СТАНДАРТНА в іншому випадку. -
Дві картки технічних характеристик під сіткою:
Картка Опис Частота дискретизації Активна частота дискретизації аудіосесії (наприклад, "48.0 кГц"). Канали Максимальна кількість вхідних каналів, які підтримує пристрій.
Вибір аудіовхідного пристрою
Панель вибору пристрою відображає всі доступні аудіовхідні пристрої та дозволяє перемикатися між ними.
- Вбудований мікрофон — завжди перший у списку з підписом "Внутрішній мікрофон пристрою". Вибирається за замовчуванням, якщо не підключено зовнішній пристрій.
- Зовнішні пристрої — перелічені нижче вбудованого мікрофона, кожен із:
-
Назва пристрою (наприклад, "AirPods Pro", "USB Microphone").
-
Підпис із типом підключення:
Тип порту Підпис Bluetooth A2DP Bluetooth A2DP Bluetooth HFP Bluetooth Hands-Free Bluetooth LE Bluetooth LE Headphones Навушники Headset Mic Мікрофон гарнітури USB Audio USB Audio Other Зовнішній пристрій
-
Кожен рядок пристрою має індикатор радіокнопки (заповнений, якщо вибрано) та іконку галочки для активного пристрою. Натискання на інший пристрій перемикає аудіовхід. Під час переконфігурації аудіодвигуна короткочасно з'являється індикатор завантаження.
При підключенні або відключенні пристрою (наприклад, підключення AirPods) список оновлюється автоматично. Інструмент автоматично вибирає найкращий доступний пристрій за пріоритетом: спочатку Bluetooth HFP, потім мікрофон гарнітури, потім вбудований мікрофон.
Панель рівнів гучності
Панель рівнів гучності надає детальний перегляд поточної амплітуди аудіосигналу в реальному часі.
Круговий індикатор амплітуди
Круговий індикатор у центрі панелі, який заповнюється пропорційно поточній амплітуді (0–100%). Дуга має кутовий градієнт від зеленого (низький) через жовтий і оранжевий до червоного (високий). Поточний відсоток амплітуди відображається великим числом у центрі індикатора.
Смуга гучності
Під індикатором розташована горизонтальна смуга, яка заповнюється зліва направо відповідно до поточної амплітуди. Смуга використовує той самий градієнт від зеленого до червоного та має позначки шкали на 0%, 25%, 50%, 75% і 100%.
Показники гучності
Чотири картки показників у сітці 2x2:
| Показник | Опис |
|---|---|
| Поточний | Миттєва амплітуда у відсотках, кольорове кодування за рівнем (зелений < 30%, жовтий < 60%, оранжевий < 85%, червоний >= 85%). |
| Пік | Найвища амплітуда у поточному буфері історії хвилі. |
| RMS | Середньоквадратичний рівень, обчислений з історії хвилі, що відображає середню енергію сигналу. |
| dBFS | Поточна амплітуда у децибелах відносно повної шкали, обчислюється як 20 × log10(амплітуда). Значення від приблизно -80 дБ (тиша) до 0 дБ (повна шкала). |
Панель стану гучності
У нижній частині панелі розташована панель стану:
- Якість сигналу — "СИЛЬНИЙ СИГНАЛ" (зелений), якщо dBFS вище -20 дБ, або "ПОМИРНИЙ СИГНАЛ" (оранжевий) в іншому випадку.
- Попередження про перевантаження — червоний напис "ПЕРЕВАНТАЖЕННЯ" з іконкою попередження з'являється, якщо амплітуда перевищує 95%, що вказує на можливе спотворення аудіосигналу.
Панель живої аудіохвилі
Панель живої аудіохвилі відображає сирі PCM-дані аудіо у вигляді візуалізації в стилі осцилографа в реальному часі.
Візуалізація хвилі
Основна область показує прокручувану хвилю, побудовану з сирих зразків аудіобуфера (до 1024 зразків за кадр). Хвиля малюється бірюзовим кольором на темному фоні з професійною сіткою:
- Сітка — вертикальні та горизонтальні лінії для візуального вирівнювання.
- Центральна лінія — пунктирна бірюзова лінія, що позначає точку нульового перетину.
- Позначки шкали дБ — підписи зліва на +0 дБ, -20 дБ, -40 дБ, -60 дБ та -∞.
- Ефект світіння — легке радіальне світіння позаду хвилі, що посилюється зі зростанням сили сигналу.
- Віддзеркалення — слабке дзеркальне відображення хвилі під центральною лінією для глибини.
У заголовку панелі відображається індикатор LIVE із пульсуючою зеленою крапкою та поточною кількістю зразків (наприклад, "1024 зразки").
Індикатори рівня сигналу
На правому краю області хвилі розташований вертикальний 10-сегментний індикатор у стилі LED, який заповнюється пропорційно силі сигналу. Сегменти мають кольорове кодування: зелений (низький), жовтий (середній), оранжевий (високий), червоний (дуже високий).
Панель стан у хвилі
Нижня панель відображає:
- Сигнал — RMS-сила сигналу у відсотках, кольорове кодування (сірий < 20%, зелений < 50%, оранжевий < 80%, червоний >= 80%).
- Пік — пікове значення зразка з поточного сирого буфера.
- Частота дискретизації та глибина біта — праворуч (наприклад, "48кГц 24-біт").
Панель аналізу гучності
Панель аналізу гучності відображає графік історії амплітуди аудіо з часом, працюючи як традиційний вимірювач гучності.
Вибір діапазону часу
У заголовку панелі розташований сегментований перемикач для вибору діапазону часу, що відображається на графіку:
| Діапазон | Зразки |
|---|---|
| 1с | 50 |
| 5с | 250 |
| 10с | 500 |
Графік гучності
Основна область відображає заповнений графік хвилі історії амплітуди (до 60 точок у буфері). Графік має градієнтну заливку від зеленого до червоного залежно від рівня амплітуди, з легким ефектом світіння та дзеркальним відображенням знизу.
Нанесені референтні лінії:
- Детальна сітка з основними лініями кожні 50% і допоміжними кожні 10%.
- Пунктирні лінії на 25%, 50% і 75% амплітуди, кольорове кодування за рівнем.
- Шкала відсотків зліва (0%–100%).
- Шкала часу знизу, що показує діапазон зразків.
Смуги VU-метра
На правому краю графіка розташований вертикальний 20-сегментний VU-метр, який заповнюється знизу вгору відповідно до поточної амплітуди. Сегменти мають кольорове кодування: зелений (0–50%), жовтий (50–75%), оранжевий (75–90%), червоний (90–100%).
Панель статистики
У нижній частині панелі відображаються чотири статистики поруч:
| Статистика | Опис |
|---|---|
| Мін | Мінімальна амплітуда в поточній історії хвилі (синій). |
| Макс | Максимальна амплітуда в поточній історії (червоний). |
| Середнє | Середня амплітуда по буферу історії (жовтий). |
| Зараз | Останнє значення амплітуди, кольорове кодування за рівнем. |
Панель технічних деталей
Панель технічних деталей — це розширена панель, що відображає повний стан аудіодвигуна, аудіосесії та апаратної конфігурації. Всі значення оновлюються кожні 0,5 секунди під час активного моніторингу.
Показники продуктивності
| Показник | Опис |
|---|---|
| Частота дискретизації | Активна частота дискретизації аудіосесії (наприклад, "48.0 кГц"). |
| Розмір буфера | Розмір буфера аудіодвигуна у фреймах (наприклад, 1024). |
| Вхідна затримка | Вхідна затримка, яку повідомляє аудіосесія, у мілісекундах. Виділяється, якщо затримка перевищує 10 мс. |
| IO-буфер | Тривалість буфера введення/виведення у мілісекундах. |
Аудіорівні
| Показник | Опис |
|---|---|
| Піковий рівень | Пікова амплітуда у відсотках. Виділяється червоним при виявленні перевантаження (понад 95%). |
| RMS-рівень | Середньоквадратична амплітуда у відсотках. |
| dBFS | Децибели відносно повної шкали. Виділяється жовтим при значенні вище -20 дБ. |
| Якість сигналу | Виводиться з відношення сигнал/шум: Відмінно (SNR > 40 дБ), Добре (SNR > 20 дБ), Задовільно (SNR > 10 дБ) або Погано. |
Конфігурація пристрою
| Показник | Опис |
|---|---|
| Поточний маршрут | Назва поточного активного аудіовхідного пристрою. |
| Вхідні канали | Максимальна кількість доступних вхідних каналів. |
| Полярна характеристика | Бажана полярна характеристика джерела вхідних даних (наприклад, всеспрямована). |
Стан сесії
| Показник | Опис |
|---|---|
| Стан двигуна | Працює (зелений) або Зупинено (червоний). |
| Категорія | Активна категорія AVAudioSession (наприклад, PlayAndRecord). |
| Режим | Активний режим аудіосесії (наприклад, VoiceChat). |
| Опції | Активні опції категорії (наприклад, "BT • Mix"). |
Зміни маршруту
При виявленні зміни маршруту аудіо з'являється цей розділ:
| Показник | Опис |
|---|---|
| Остання зміна | Часова мітка останньої зміни маршруту. |
| Причина | Причина зміни: Доступний новий пристрій, Пристрій відключено, Категорія змінена, Перевизначення маршруту, Пробудження зі сну, Немає відповідного маршруту, Зміна конфігурації або Невідомо. |
Системна інформація
| Показник | Опис |
|---|---|
| Часова мітка | Поточний системний час. |
| Зразки | Кількість зразків у поточному сирому буфері хвилі. |
| Час роботи | Час роботи системи у секундах. |
Додаткова продуктивність
| Показник | Опис |
|---|---|
| Вихідна затримка | Вихідна затримка, яку повідомляє аудіосесія, у мілісекундах. |
| Бажана частота | Бажана частота дискретизації, яку запитує інструмент. |
| Бажаний буфер | Бажана тривалість буфера введення/виведення, яку запитує інструмент, у мілісекундах. |
| Бажані канали | Бажана кількість вхідних каналів. |
Деталі двигуна
| Показник | Опис |
|---|---|
| Вхідний формат | Повний опис AVAudioFormat для вхідного вузла аудіодвигуна (частота, канали, глибина біта, інтерлівуання). |
| Вихідний формат | Повний опис AVAudioFormat для вихідного вузла аудіодвигуна. |
| Кількість вузлів | Кількість вузлів, підключених до аудіодвигуна. |
| Максимум фреймів | Максимальна кількість фреймів при ручному рендерингу (відображається лише у режимі ручного рендерингу). |
Показники якості
| Показник | Опис |
|---|---|
| Середній рівень | Середня амплітуда по буферу історії хвилі. |
| Динамічний діапазон | Різниця між піковим рівнем dBFS і рівнем шуму (-60 дБ), у дБ. |
| Рівень шуму | RMS-рівень у dBFS, що відображає рівень фонового шуму. |
| Перевантаження | "Так" (червоний, виділено), якщо пікова амплітуда перевищує 95%, "Ні" (зелений) в іншому випадку. |
Деталі стану сесії
| Показник | Опис |
|---|---|
| Сесія активна | "Фонове аудіо", якщо відтворюється інше аудіо, "Активна" в іншому випадку. |
| Аудіо-підказка | "Слід вимкнути звук", якщо система рекомендує вимкнути другорядне аудіо, "Можна мікшувати" в іншому випадку. |
Деталі апаратного забезпечення
| Показник | Опис |
|---|---|
| Максимум вихідних каналів | Максимальна кількість вихідних каналів, які підтримуються. |
| Вхід доступний | Чи доступне апаратне забезпечення для аудіовходу. |
| Підсилення входу | Поточне значення підсилення входу (якщо можна встановити), або N/A. |
| Джерело вхідних даних | Назва активного джерела вхідних даних (наприклад, "Нижній", "Передній", "Задній"). |
| Гучність системи | Поточна гучність виходу системи (0.00–1.00). |
Інформація про формат сесії
Сирий опис активного джерела вхідних даних, що містить повний системний рядок деталей.
Застереження щодо конфіденційності
У нижній частині екрана розміщено застереження щодо конфіденційності з іконкою щита: жодні аудіодані не зберігаються, не записуються і не передаються — вся обробка відбувається локально на пристрої в реальному часі.
Дозволи
- Дозвіл на мікрофон — необхідний для всієї функціональності. Системний запит дозволу з'являється автоматично при першому запуску аудіодвигуна.
- Якщо дозвіл ще не визначено, Lirum показує екран дозволу з кнопкою Надати доступ, яка викликає системний запит.
- Якщо дозвіл було раніше відхилено, Lirum показує кнопку Відкрити налаштування для переходу до додатка Налаштування iOS, де користувач може повторно увімкнути доступ до мікрофона.
Технічні деталі
- Інструмент використовує AVAudioEngine із tap на вході (bus 0) для захоплення PCM-аудіобуферів. Використовується розмір буфера 1024 фрейми.
- Аудіосесія налаштована з категорією
.playAndRecordі режимом.voiceChat, з увімкненими опціями.allowBluetoothта.mixWithOthers. Це забезпечує виявлення пристроїв Bluetooth HFP (наприклад, AirPods) як джерел входу. - Запитується бажана тривалість IO-буфера 5 мс для чутливих візуалізацій.
- Для не-Bluetooth пристроїв запитується бажана частота дискретизації 48 кГц. Для Bluetooth HFP частота залишена системі для уникнення конфліктів формату.
- RMS-амплітуда обчислюється з PCM-буфера за формулою:
sqrt(sum(sample^2) / count), потім масштабується на 5 і обмежується до [0, 1]. - dBFS (децибели відносно повної шкали) обчислюється як
20 * log10(амплітуда). - Оновлення сирої хвилі обмежені до 60 fps для запобігання надмірним оновленням UI.
- Буфер історії хвилі зберігає до 60 точок даних, оброблених із буфера амплітуди на кожному кадрі display link.
- CADisplayLink із частотою до 120 fps керує оновленням історії хвилі, усереднюючи зібрані зразки амплітуди між кадрами.
- Деталі аудіодвигуна опитуються кожні 0,5 секунди через таймер.
- При перемиканні вхідних пристроїв аудіодвигун повністю зупиняється та створюється заново з новою аудіосесією для забезпечення правильного формату. Під час переходу відображається накладка завантаження (мінімум 300 мс для плавного UX, з резервним тайм-аутом 2 секунди).
- Обробка формату Bluetooth — для Bluetooth-пристроїв tap встановлюється з форматом
nil, щоб система автоматично вибрала відповідний формат, уникаючи помилок формату, які можуть виникати з HFP-пристроями. - Зміни маршруту аудіо відстежуються через
AVAudioSession.routeChangeNotification. При появі нового пристрою або видаленні існуючого інструмент автоматично оновлює список пристроїв і, якщо запис активний, перезапускає з найкращим доступним пристроєм. Зміни маршруту обмежені (мінімум 300 мс між подіями) для запобігання циклам перезапуску. - Пріоритет автоселекції пристрою: Bluetooth HFP, мікрофон гарнітури, вбудований мікрофон.
- Коли інструмент зникає або додаток переходить у фоновий режим, аудіодвигун зупиняється, а аудіосесія повністю деактивується (перемикається на категорію
.ambientі деактивується з.notifyOthersOnDeactivation), щоб звільнити мікрофон і дозволити іншим додаткам відновити відтворення аудіо.