오디오 분석기에서 가장 좋은 첫 행동이 항상 "마이크 허용"은 아닙니다.
먼저 계기를 익히고 싶을 수도 있습니다. 문제는 이미 한 파일 안에 있을 수 있습니다. 짧은 참고 자료를 녹음해 나중에 검사하고 싶을 수도 있습니다. SignalMetric은 이 상황을 분리하면서도 모두 같은 네 workspace로 돌아오게 합니다.
This diagram could not be rendered. Its source is still available below.
View diagram source
flowchart LR
A[SignalMetric 열기] --> B{소스 선택}
B --> C[Demo]
B --> D[Live Mic]
B --> E[로컬 오디오 열기]
B --> F[Record 탭]
C --> G[Monitor, Spectrum, Timeline, Scope]
D --> G
E --> G
F --> H[보이는 로컬 녹음 상태]
H --> I[로컬 M4A 이력]
I --> G
"무엇을 보고 있나"가 질문이라면 Demo부터
Demo는 권한이 필요 없습니다. 파일을 만들거나 마이크를 허용하지 않고도 참고 신호로 계기의 관계를 익힐 수 있습니다.
처음에는 Monitor를 봅니다.
- 주 레벨 영역에는 RMS dBFS, Sample Peak, True Peak estimate, Headroom이 있습니다.
- measurement deck은 라우드니스, 다이내믹스, 스펙트럼, 음악 정보, 신호 상태를 묶습니다.
- source control은 Demo, Mic, 파일, 녹음 중 무엇을 쓰는지 분명히 합니다.
- workspace selector는 같은 세션 안에서 Monitor, Spectrum, Timeline, Scope를 비교할 수 있게 합니다.
첫 화면에서 모든 수치를 읽을 필요는 없습니다. 하나의 질문을 고르세요. "디지털 한계까지 얼마나 남았나"는 Monitor의 질문이고, "그 좁고 날카로운 선은 무엇인가"는 Spectrum의 질문이며, "언제 나타났나"는 Timeline의 질문입니다.
Demo는 보기 사이의 관계를 배우는 참고 소스입니다. 마이크 테스트도 아니고 실제로 검사할 파일을 대신하지도 않습니다.
Live Mic으로 즉시 로컬 읽기
Mic을 탭할 때 iOS가 권한을 요청합니다. 허용한 뒤 SignalMetric은 측정 지향 입력 세션을 구성하고 마이크 buffer를 메모리 안에서 분석합니다.
일반 Live Mic은 의도적으로 녹음 모드가 아닙니다.
- 파일 진행 표시가 없습니다.
- 마이크 샘플은 현재 분석 frame 뒤에 버려집니다.
- 앱은 소스를 upload하지 않습니다.
- background로 들어가면 캡처를 계속하지 않고 마이크 graph를 멈춥니다.
실제 방에서는 이것이 편리합니다. 말하는 위치를 확인하고, 악기 스펙트럼을 살피고, 여러 배치를 비교해도 원치 않은 녹음을 쌓지 않습니다.
소스에 맞는 response profile을 선택하세요.
| 프로필 | 적합한 상황 |
|---|---|
| Fast | 트랜지언트와 음성 움직임을 최소 시각 지연으로 보고 싶을 때. |
| Balanced | 음악과 일반 점검을 위한 안정적인 기본값이 필요할 때. |
| Smooth | 시끄러운 공간이나 지속 환경음을 더 차분하게 보고 싶을 때. |
이 프로필들은 표시 smoothing만 바꿉니다. raw RMS, peak, loudness, diagnostic을 다시 쓰지 않습니다. 차분한 선을 택했다고 측정값이 달라져서는 안 됩니다.
관찰에 맞춰 workspace를 고른다
workspace 전환은 다른 앱 네 개를 여는 일이 아니라, 같은 작업대에서 계기를 바꾸는 일처럼 느껴져야 합니다.
Monitor: 기준 만들기
신호가 있는지 확인한 다음 레벨과 Headroom을 봅니다. hot input이나 clipping이 나타난다면 문제는 대개 미묘하지 않습니다. 레벨이 정상인데도 소리가 이상하면 레일만 보지 말고 주파수 질문으로 넘어갑니다.
Spectrum: 의도를 갖고 주파수 검사
Spectrum은 2,048 point FFT를 64개 로그 대역으로 표시하고 적은 수의 강한 로컬 성분을 부릅니다. 그래프를 드래그하면 주파수를 검사할 수 있고, 선택 지점은 주파수, 레벨, 주기, 가장 가까운 음이름, 가능한 harmonic fit과 연결됩니다.
- 지속되는 좁은 선은 분리해 볼 tone이나 resonance일 수 있습니다.
- 저역이 무거우면 전체 레벨은 맞아도 혼잡하게 들리는 이유가 됩니다.
- centroid나 roll-off가 높으면 더 밝은 균형을 설명할 수 있지만, 품질 점수는 아니라 비교할 증거입니다.
여섯 component wave는 역재구성의 선언이 아닙니다. 가까운 bin의 에너지가 움직여도 읽기 좋도록 선택하고 안정화한 강한 후보입니다.
Timeline: 신호가 바뀐 순간 찾기
Timeline은 최근 30초의 스펙트럼 이력을 가집니다. 말 중간의 저역 버스트, 편집 뒤에 들어오는 좁은 tone, 고역 질감 변화처럼 간헐적인 문제에 적합합니다.
이력은 초당 8프레임, 최대 240열로 제한됩니다. 현재 세션의 시각 증거이지 background 측정 아카이브가 아닙니다.
Scope: 숫자 뒤의 모양 보기
Scope는 트리거된 256 bin 시간 영역 엔벌로프를 보여 줍니다. 이상한 트랜지언트, 비대칭 파형, clip event의 맥락이 필요할 때 유용합니다. DC estimate와 zero-crossing rate는 샘플 수준의 추가 단서를 제공합니다.
파형은 표시를 위해 축소된 것이지 고해상도 오디오 편집기가 아닙니다. 각 bin의 min/max 증거를 남겨 한눈에 모양을 읽게 합니다.
소스를 이미 알고 있다면 파일 가져오기
기존 클립은 iOS file picker 또는 다른 앱의 Open In으로 열 수 있습니다. SignalMetric은 선택한 항목을 보호된 한 개짜리 로컬 cache에 복사한 뒤 재생과 분석을 시작합니다.
- 가져오는 항목은 로컬 파일이어야 하며 500 MB가 한계입니다.
- 새 항목을 가져오면 이전 cache 항목은 제거됩니다.
- 앱은 cloud media library를 만들거나 일반 음악 library를 스캔하지 않습니다.
- 파일 재생에는 play, pause, 15초 skip, 현재 시간, 전체 시간, seek가 있습니다.
재생은 main mixer를 통과해 Live Mic과 같은 분석기로 들어갑니다. Spectrum과 Timeline이 읽는 것은 다른 하위 시스템이 만든 offline summary가 아니라 실제 재생 중인 오디오입니다.
파일은 반복 가능한 검사에 맞습니다. 의심 지점에서 멈추고, 되돌리고, 대역을 보고, 다시 재생할 수 있습니다. 이는 Live Mic과 다른 흐름이며 UI도 그 차이를 분명히 합니다.
로컬 결과물이 필요할 때만 녹음
Record는 Mic과 분리되어 있습니다. 저장과 privacy의 계약이 달라지기 때문입니다.
Record를 탭하면 필요할 경우 마이크 권한을 요청하고 같은 라이브 분석을 시작하며 AAC M4A writer를 엽니다. 활성 상태는 빨간색과 경과 시간으로 분명하게 표시됩니다. Stop, route change, interruption, background는 애매한 반쯤 녹음된 파일을 남기지 않고 파일을 finalize합니다.
This diagram could not be rendered. Its source is still available below.
View diagram source
sequenceDiagram
participant You as 사용자
participant App as SignalMetric
participant Engine as 오디오 엔진
participant Disk as 로컬 M4A 기록기
You->>App: Record 탭
App->>Engine: input tap과 라이브 분석 시작
Engine->>Disk: 수락한 buffer를 상한이 있는 직렬 writer로 복사
Disk-->>App: 보이는 녹음 시간
You->>App: Stop 탭
App->>Engine: 새 recording buffer 거부
Engine->>Disk: 수락된 기록을 비우고 파일 닫기
Disk-->>App: 완료된 로컬 녹음
App->>App: 일시 정지 파일로 열고 로컬 이력에 추가
writer queue에는 상한이 있습니다. 저장이 따라오지 못하면 메모리를 무한히 키우는 대신 녹음을 멈춥니다. M4A가 완료되면 로컬 이력에서 재생, 분석, 공유, 삭제할 수 있습니다.
그래서 SignalMetric은 일반 Live Mic을 "background에서 녹음 중"이라고 설명하지 않습니다. 그렇지 않습니다. 로컬 오디오 파일은 사용자가 명시적으로 Record에 들어간 뒤에만 생깁니다.
올바른 대상을 공유한다
SignalMetric에는 서로 다른 두 가지 공유 동작이 있습니다.
- dashboard share는 보이는 계기를 로컬 PNG로 렌더링합니다. 오디오 샘플이 아니라 보고 있는 증거를 공유합니다.
- file share는 현재 표시 중인 가져온 파일이나 녹음에 쓰며, iOS share sheet를 열고 대상을 고른 뒤에만 파일을 보냅니다.
측정 결과를 보여 줄지, 소스 오디오를 넘길지를 분명하게 선택할 수 있습니다.
세션이 끝날 때의 privacy 확인
SignalMetric은 account를 요구하지 않고, 광고와 analytics가 없으며, 라이브 또는 가져온 오디오를 upload하지 않습니다. 한 번 구매하는 앱이며 subscription이나 기능 paywall이 없습니다. workspace, response mode, appearance 설정은 기기에 남고, 세션 범위와 경과 시간은 숨은 측정 아카이브가 되지 않습니다.
선택적인 Feedback만이 네트워크 경로입니다. 제출을 선택한 뒤에 입력한 내용과 제한된 version context를 보냅니다. 오디오 분석은 여기에 의존하지 않습니다.
의도된 흐름은 다음과 같습니다.
- Demo로 배웁니다.
- Live Mic을 파일 없이 점검합니다.
- 반복 재생이 필요하면 로컬 파일을 사용합니다.
- 로컬에 남기고 싶을 때만 녹음합니다.
- 명시적으로 고른 대상에게만 dashboard image 또는 audio file을 공유합니다.
SignalMetric 제품 가이드에는 workspace, source control, response profile, privacy 경계의 전체 지도가 있습니다.