본문으로 건너뛰기

마이크

실시간 파형 시각화, 볼륨 미터링, 상세 오디오 엔진 진단을 통한 라이브 오디오 입력 모니터링.

녹음 버튼, 활성 기기 정보, 입력 기기 선택기, 볼륨 레벨 시작 부분이 포함된 마이크 제어판.
라이브 오디오 파형 상태 표시줄, 시간 범위 선택기가 있는 볼륨 분석 그래프, 기술 세부 정보 패널.

개요

마이크 도구는 기기를 라이브 오디오 모니터로 전환합니다. Apple의 AVAudioEngine을 사용해 선택한 입력 기기에서 오디오를 캡처하고, PCM 버퍼를 실시간으로 처리하며, 원형 진폭 게이지, 원시 오디오 파형, 롤링 볼륨 히스토리 그래프, 종합 기술 세부 정보 대시보드 등 여러 시각화 패널을 통해 결과를 제공합니다. 내장 마이크, Bluetooth 헤드셋(AirPods의 HFP 포함), 유선 헤드셋 마이크, USB 오디오 인터페이스, CarPlay, AirPlay 등 모든 사용 가능한 오디오 입력 기기 간 전환이 도구 내에서 가능합니다.

도구가 열리고 마이크 권한이 허용되면 모니터링이 자동으로 시작됩니다. 도구를 벗어나거나 앱이 백그라운드로 전환되면 오디오 캡처가 자동으로 중지되어 마이크 사용이 지속되지 않도록 합니다.

목차


화면 헤더

화면 상단 헤더에는 다음이 표시됩니다:

  • 마이크 모니터 제목.
  • 녹음 상태 표시기 — 색상 점과 레이블:
    • 활성 (녹색) — 오디오 엔진이 실행 중이며 오디오를 캡처 중.
    • 비활성 (회색) — 모니터링이 중지됨.
  • 기기 수 — 현재 사용 가능한 오디오 입력 기기 수 (예: "1 Devices").

마이크 제어판

마이크 제어판은 화면의 첫 번째 카드입니다. 헤더에는 녹음 중일 때 빨간 점이 깜박이는 RECORDING 또는 STANDBY 배지가 표시됩니다.

녹음 버튼

패널 중앙에 큰 원형 버튼:

  • 마이크 아이콘 (파란색) — 탭하여 모니터링 시작. 오디오 엔진이 시작되고 파형 데이터가 흐르기 시작하며 모든 시각화 패널이 활성화됩니다.
  • 중지 아이콘 (빨간색) — 탭하여 모니터링 중지. 오디오 엔진이 종료되고 시각화가 정지됩니다.

버튼 아래 레이블은 현재 상태에 따라 TAP TO RECORD 또는 TAP TO STOP으로 표시됩니다.

기기 정보 섹션

녹음 버튼 아래에는 현재 활성 오디오 입력에 대한 정보가 표시됩니다:

  • 기기 — 활성 입력 기기 이름 (예: "Built-in Microphone", "AirPods Pro", 또는 감지된 마이크가 없을 때 "No Microphone").

  • 3개의 상태 카드가 그리드로 표시됨:

    카드설명
    상태활성(녹색) 또는 비활성(빨간색).
    유형기기 분류: 내부, 헤드셋, Bluetooth, USB 오디오, CarPlay, AirPlay, 외부.
    품질샘플링 속도가 48 kHz 이상일 때 HIGH QUALITY, 그렇지 않으면 STANDARD.
  • 그리드 아래에 2개의 기술 사양 카드:

    카드설명
    샘플링 속도활성 오디오 세션 샘플링 속도 (예: "48.0 kHz").
    채널 수기기가 지원하는 최대 입력 채널 수.

오디오 입력 기기 선택기

기기 선택기 패널은 사용 가능한 모든 오디오 입력 기기를 나열하고 전환할 수 있습니다.

  • 내장 마이크 — 항상 첫 번째로 나열되며 부제목으로 "Internal device microphone" 표시. 외부 기기가 연결되지 않은 경우 기본 선택됨.
  • 외부 기기 — 내장 마이크 아래에 나열되며 각 기기는 다음을 표시:
    • 기기 이름 (예: "AirPods Pro", "USB Microphone").

    • 연결 유형을 설명하는 부제목:

      포트 유형부제목
      Bluetooth A2DPBluetooth A2DP
      Bluetooth HFPBluetooth Hands-Free
      Bluetooth LEBluetooth LE
      HeadphonesHeadphones
      Headset MicHeadset Microphone
      USB AudioUSB Audio
      기타External Device

각 기기 행에는 선택 시 채워지는 라디오 버튼 표시기와 활성 기기에 대한 체크 표시 아이콘이 있습니다. 다른 기기를 탭하면 오디오 입력이 전환됩니다. 오디오 엔진이 재구성되는 동안 화면 위에 로딩 표시기가 잠시 나타납니다.

기기가 연결되거나 분리되면(예: AirPods 연결) 목록이 자동으로 업데이트됩니다. 도구는 우선순위에 따라 최적의 기기를 자동 선택합니다: Bluetooth HFP 우선, 그 다음 헤드셋 마이크, 마지막으로 내장 마이크.


볼륨 레벨 패널

볼륨 레벨 패널은 현재 오디오 진폭을 상세하게 실시간으로 보여줍니다.

원형 진폭 게이지

패널 중앙에 위치한 원형 게이지로 현재 진폭(0–100%)에 비례해 채워집니다. 호는 녹색(낮음)에서 노란색, 주황색, 빨간색(높음)으로 각도 그라데이션이 적용됩니다. 현재 진폭 백분율이 게이지 중앙에 큰 숫자로 표시됩니다.

볼륨 바

게이지 아래에 가로 바가 현재 진폭에 따라 왼쪽에서 오른쪽으로 채워집니다. 바는 동일한 녹색-빨간색 그라데이션을 사용하며 0%, 25%, 50%, 75%, 100% 눈금 표시가 포함됩니다.

볼륨 지표

2x2 그리드에 4개의 지표 카드가 표시됩니다:

지표설명
현재값순간 진폭 백분율, 레벨에 따라 색상 구분 (녹색 < 30%, 노란색 < 60%, 주황색 < 85%, 빨간색 >= 85%).
최대값현재 파형 히스토리 버퍼 내 최고 진폭 값.
RMS파형 히스토리에서 계산된 제곱평균근 레벨, 평균 신호 에너지를 나타냄.
dBFS전체 스케일 대비 데시벨로 표현된 현재 진폭, 20 × log10(진폭)으로 계산. 약 -80 dB(무음)에서 0 dB(최대 스케일) 범위.

볼륨 상태 표시줄

패널 하단 상태 표시줄에는 다음이 표시됩니다:

  • 신호 품질 — dBFS가 -20 dB 이상일 때 "STRONG SIGNAL"(녹색), 그렇지 않으면 "MODERATE SIGNAL"(주황색).
  • 클리핑 경고 — 진폭이 95%를 초과하면 빨간색 "CLIPPING" 레이블과 경고 아이콘이 나타나 오디오 신호가 왜곡될 수 있음을 알림.

라이브 오디오 파형 패널

라이브 오디오 파형 패널은 원시 PCM 오디오 데이터를 실시간 오실로스코프 스타일로 시각화합니다.

파형 시각화

주 영역에는 원시 오디오 버퍼 샘플(프레임당 최대 1024 샘플)로부터 스크롤되는 파형이 시안색으로 어두운 배경과 전문적인 그리드 오버레이 위에 그려집니다:

  • 그리드 — 시각적 정렬을 위한 수직 및 수평 기준선.
  • 중앙선 — 0 교차점을 표시하는 점선 시안색 선.
  • dB 눈금 표시 — 왼쪽 가장자리의 +0 dB, -20 dB, -40 dB, -60 dB, -∞ 레이블.
  • 글로우 효과 — 신호 강도에 따라 강화되는 미묘한 방사형 광채.
  • 반사 — 중앙선 아래에 희미한 파형 미러 복사본으로 시각적 깊이 제공.

패널 헤더에는 깜박이는 녹색 점과 현재 샘플 수(예: "1024 samples")가 포함된 LIVE 표시기가 나타납니다.

신호 레벨 표시기

파형 영역 오른쪽 가장자리에는 신호 강도에 비례해 점등되는 10단계 LED 스타일 미터가 있습니다. 단계는 색상 구분됨: 녹색(낮음), 노란색(중간), 주황색(높음), 빨간색(매우 높음).

파형 상태 표시줄

패널 하단 표시줄에는 다음이 표시됩니다:

  • 신호 — RMS 신호 강도를 백분율로 표시하며 색상 구분 (회색 < 20%, 녹색 < 50%, 주황색 < 80%, 빨간색 >= 80%).
  • 최대값 — 현재 원시 버퍼의 최대 샘플 값.
  • 샘플링 속도 및 비트 깊이 — 오른쪽에 표시 (예: "48kHz 24-bit").

볼륨 분석 패널

볼륨 분석 패널은 시간에 따른 오디오 진폭의 롤링 히스토리 그래프를 표시하며 전통적인 볼륨 미터처럼 작동합니다.

시간 범위 선택기

패널 헤더에 세그먼트 컨트롤이 있어 그래프에 표시할 시간 범위를 선택할 수 있습니다:

범위샘플 수
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%).

통계 표시줄

패널 하단에는 4가지 통계가 나란히 표시됩니다:

통계설명
최소값현재 파형 히스토리 내 최소 진폭 (파란색).
최대값현재 히스토리 내 최대 진폭 (빨간색).
평균값히스토리 버퍼 전체 평균 진폭 (노란색).
현재값가장 최근 진폭 값, 레벨별 색상 구분.

기술 세부 정보 패널

기술 세부 정보 패널은 오디오 엔진, 오디오 세션, 하드웨어 구성의 전체 상태를 보여주는 종합 대시보드입니다. 모니터링 중에는 모든 값이 0.5초마다 업데이트됩니다.

성능 지표

지표설명
샘플링 속도활성 오디오 세션 샘플링 속도 (예: "48.0 kHz").
버퍼 크기오디오 엔진 버퍼 크기(프레임 단위, 예: 1024).
입력 지연오디오 세션이 보고하는 입력 지연(밀리초 단위). 10 ms 초과 시 강조 표시.
I/O 버퍼I/O 버퍼 지속 시간(밀리초 단위).

오디오 레벨

지표설명
최대 레벨최대 진폭 백분율. 클리핑 감지 시(95% 초과) 빨간색 강조 표시.
RMS 레벨제곱평균근 진폭 백분율.
dBFS전체 스케일 대비 데시벨. -20 dB 초과 시 노란색 강조 표시.
신호 품질신호 대 잡음비(SNR) 기반: 우수(SNR > 40 dB), 양호(SNR > 20 dB), 보통(SNR > 10 dB), 불량.

기기 구성

지표설명
현재 경로현재 활성 오디오 입력 기기 이름.
입력 채널 수사용 가능한 최대 입력 채널 수.
극성 패턴입력 데이터 소스의 선호 극성 패턴 (예: 전방향성).

세션 상태

지표설명
엔진 상태실행 중(녹색) 또는 중지됨(빨간색).
카테고리활성 AVAudioSession 카테고리 (예: PlayAndRecord).
모드활성 오디오 세션 모드 (예: VoiceChat).
옵션활성 카테고리 옵션 (예: "BT • Mix").

경로 변경

오디오 경로 변경이 감지되면 이 섹션이 나타나며 다음을 표시:

지표설명
마지막 변경가장 최근 경로 변경 시각.
이유변경 사유: 새 기기 사용 가능, 기기 분리, 카테고리 변경, 경로 재정의, 절전 모드 해제, 적합한 경로 없음, 구성 변경, 또는 알 수 없음.

시스템 정보

지표설명
타임스탬프현재 시스템 시간.
샘플 수현재 원시 파형 버퍼 내 샘플 수.
가동 시간시스템 가동 시간(초 단위).

추가 성능

지표설명
출력 지연오디오 세션이 보고하는 출력 지연(밀리초 단위).
선호 샘플링 속도도구가 요청한 선호 샘플링 속도.
선호 버퍼도구가 요청한 선호 I/O 버퍼 지속 시간(밀리초 단위).
선호 채널 수선호 입력 채널 수.

엔진 세부 정보

지표설명
입력 포맷오디오 엔진 입력 노드의 전체 AVAudioFormat 설명 (샘플링 속도, 채널, 비트 깊이, 인터리빙).
출력 포맷오디오 엔진 출력 노드의 전체 AVAudioFormat 설명.
노드 수오디오 엔진에 연결된 노드 수.
최대 프레임수동 렌더링 최대 프레임 수 (엔진이 수동 렌더링 모드일 때만 표시).

품질 지표

지표설명
평균 레벨파형 히스토리 버퍼 전체 평균 진폭.
다이내믹 레인지피크 dBFS 레벨과 노이즈 플로어(-60 dB 기준) 간 차이(dB 단위).
노이즈 플로어RMS 레벨을 dBFS로 표현한 배경 소음 수준.
클리핑피크 진폭이 95% 초과 시 "예"(빨간색 강조), 그렇지 않으면 "아니오"(녹색).

세션 상태 세부 정보

지표설명
세션 활성화다른 오디오가 재생 중이면 "Background Audio", 그렇지 않으면 "Active".
오디오 힌트시스템이 보조 오디오 음소거를 권장하면 "Should Silence", 그렇지 않으면 "Can Mix".

하드웨어 세부 정보

지표설명
최대 출력 채널 수지원되는 최대 출력 채널 수.
입력 가능 여부오디오 입력 하드웨어 사용 가능 여부.
입력 게인현재 입력 게인 값(설정 가능 시) 또는 N/A.
입력 데이터 소스활성 입력 데이터 소스 이름 (예: "Bottom", "Front", "Back").
시스템 볼륨현재 시스템 출력 볼륨 (0.00–1.00).

세션 포맷 정보

활성 입력 데이터 소스의 원시 설명으로, 전체 시스템 수준 상세 문자열을 제공합니다.


개인정보 고지

화면 하단에는 방패 아이콘과 함께 오디오 데이터가 저장, 녹음, 전송되지 않으며 모든 처리가 기기 내에서 실시간으로 이루어진다는 개인정보 고지가 표시됩니다.


권한

  • 마이크 권한 — 모든 기능에 필수. 오디오 엔진이 처음 초기화될 때 시스템 권한 요청이 자동으로 표시됩니다.
  • 권한이 결정되지 않은 경우, Lirum은 시스템 권한 요청을 트리거하는 접근 허용 버튼이 있는 권한 화면을 표시합니다.
  • 이전에 권한이 거부된 경우, Lirum은 iOS 설정 앱으로 리디렉션하는 설정 열기 버튼을 표시하여 사용자가 마이크 접근을 다시 활성화할 수 있도록 합니다.

기술 세부 정보

  • 도구는 AVAudioEngine을 사용하며 버스 0에 입력 탭을 설치해 PCM 오디오 버퍼를 캡처합니다. 버퍼 크기는 1024 프레임입니다.
  • 오디오 세션은 .playAndRecord 카테고리와 .voiceChat 모드로 구성되며, .allowBluetooth.mixWithOthers 옵션이 활성화되어 Bluetooth HFP 기기(AirPods 등)를 입력 소스로 인식할 수 있습니다.
  • 반응형 시각화를 위해 선호 I/O 버퍼 지속 시간으로 5 ms를 요청합니다.
  • 비 Bluetooth 기기의 경우 선호 샘플링 속도로 48 kHz를 요청합니다. Bluetooth HFP 기기는 포맷 충돌을 피하기 위해 시스템에 맡깁니다.
  • RMS 진폭은 PCM 버퍼에서 sqrt(sum(sample^2) / count) 공식으로 계산하며, 5배 스케일링 후 [0, 1] 범위로 클램핑합니다.
  • dBFS(전체 스케일 대비 데시벨)는 20 * log10(진폭)으로 계산합니다.
  • 원시 파형 업데이트는 UI 과부하를 방지하기 위해 60 fps로 제한됩니다.
  • 파형 히스토리 버퍼는 최대 60 데이터 포인트를 보유하며, 각 디스플레이 링크 프레임마다 진폭 버퍼에서 처리됩니다.
  • 최대 120 fps로 실행되는 CADisplayLink가 프레임 간 수집된 진폭 샘플을 평균내어 파형 히스토리 업데이트를 구동합니다.
  • 오디오 엔진 세부 정보는 타이머를 통해 0.5초마다 폴링됩니다.
  • 입력 기기 전환 시 오디오 엔진을 완전히 종료 후 새 오디오 세션과 함께 재생성하여 올바른 포맷을 보장합니다. 전환 중에는 로딩 오버레이가 표시되며, 원활한 UX를 위해 최소 300 ms 표시, 2초 타임아웃 대기 후 종료됩니다.
  • Bluetooth 포맷 처리 — Bluetooth 기기는 탭 설치 시 포맷을 nil로 설정하여 시스템이 적절한 포맷을 자동 선택하도록 하며, HFP 기기에서 발생할 수 있는 잘못된 포맷 오류를 방지합니다.
  • 오디오 경로 변경AVAudioSession.routeChangeNotification을 통해 관찰합니다. 새 기기 연결 또는 기존 기기 분리 시 도구가 자동으로 기기 목록을 업데이트하고, 녹음 중이면 최적 기기로 재시작합니다. 경로 변경은 재시작 루프 방지를 위해 300 ms 이상 간격으로 제한됩니다.
  • 기기 자동 선택 우선순위: Bluetooth HFP, 헤드셋 마이크, 내장 마이크 순.
  • 도구가 사라지거나 앱이 백그라운드로 전환되면 오디오 엔진을 중지하고 오디오 세션을 완전히 비활성화(카테고리를 .ambient으로 변경하고 .notifyOthersOnDeactivation 옵션으로 비활성화)하여 마이크를 해제하고 다른 앱이 오디오 재생을 재개할 수 있도록 합니다.

주의 사항 및 제한 사항

  • 도구는 라이브 오디오 입력 레벨을 모니터링하며, 오디오 데이터를 녹음, 저장, 전송하지 않습니다.
  • 입력 기기 전환 시 Lirum은 오디오 엔진 재구성 동안 잠시 로딩 표시기를 보여줍니다. 일반적으로 1초 미만 소요됩니다.
  • Bluetooth 헤드셋 및 USB 마이크는 내장 마이크와 비교해 다른 게인 레벨과 샘플링 속도를 보고할 수 있습니다.
  • Bluetooth HFP 기기(예: AirPods)는 Hands-Free Profile 제한으로 인해 샘플링 속도가 낮을 수 있습니다(예: 16 kHz 또는 8 kHz).
  • 클리핑 표시기는 진폭이 전체 스케일의 95%를 초과할 때 활성화됩니다. 지속적인 클리핑은 입력 게인이 너무 높거나 소리원이 마이크에 너무 가까이 있음을 나타낼 수 있습니다.
  • 앱이 백그라운드로 전환되거나 최소화되면 오디오 모니터링이 자동으로 중지되어 마이크 접근이 지속되지 않습니다.