← micarrsim 홈

Local user guide

설치 없이 시작하는
음향 카메라 실험

Windows 10/11과 최신 Chrome 또는 Edge만 있으면 됩니다. 모든 입력과 계산은 이 컴퓨터의 브라우저 안에서 처리되며 외부 서버로 업로드되지 않습니다.

01

30초 확인

기본 결과 하나 저장하기

  1. start.cmd를 더블클릭합니다.
  2. 홈에서 Acoustic Camera를 엽니다.
  3. ▶ 기본 예제 실행을 누릅니다.
  4. 완료되면 Result JSON을 눌러 다운로드 폴더에 저장합니다.
02

Moving-source demo

이동 음원을 바로 재생하기

  1. Acoustic Camera에서 이동 예제를 누릅니다.
  2. 라이브 준비를 눌러 기본 2 Hz map을 계산합니다.
  3. 재생을 누르거나 시간 slider를 움직입니다.
03

5분 전체 흐름

내 장면을 만들고 Camera에서 실행하기

  1. Dataset Builder에서 + 오디오 파일 음원 또는 합성 음원을 추가하고 위치, gain, 시간과 ambient를 설정합니다.
  2. 움직이는 source는 시간에 따라 음원 이동을 켜고 keyframe을 편집합니다.
  3. Scene JSON 저장을 누르고 사용한 원본 파일과 함께 보관합니다.
  4. Scene 저장 후 Camera 열기를 누릅니다.
  5. Camera에서 파일을 Scene → Array → Experiment → Assets 순서로 가져옵니다. 내 Array/Experiment가 없다면 내장 기본값을 그대로 둡니다.
  6. Assets에서 Builder에 사용한 원본 이미지와 오디오를 한 번에 다시 선택합니다. 준비 상태가 모두 초록색인지 확인합니다.
  7. Auto (GPU→CPU)로 실행한 뒤 Result JSON을 저장합니다.
128 MiB원본 파일 하나
512 MiB연결 파일 합계
192 MiBdecode된 오디오 합계
04

Compute backend

속도와 격자 선택

선택동작권장 상황
Auto (GPU→CPU)WebGPU를 먼저 시도하고 불가능하면 CPU 사용기본 권장
WebGPU 강제GPU 장치가 없거나 실패하면 fallback 없이 오류GPU 비교·측정
CPU 강제동일한 자유음장 DAS를 CPU에서 계산호환성 확인·기준 비교

먼저 50×50을 권장합니다. 100×100은 4배, 200×200은 16배의 scan point를 계산합니다. 실행 중에는 취소할 수 있으며, 취소하거나 실패해도 이전 완료 결과는 유지됩니다.

복수 음원에서 약한 peak가 빠지면 Peak 검출 임계값을 기본 25%에서 10–20%로 낮춰 보세요. 약한 후보와 함께 sidelobe 오검출도 늘 수 있으며, main lobe보다 가까운 같은 대역 음원은 conventional DAS에서 하나로 합쳐질 수 있습니다.

05

Result JSON

무엇이 저장되나요?

rawMap / displayMap
선형 power 원본과 화면 표시용 acoustic map
peaks
검출 위치, source 매칭, m·pixel 위치 오차
beamSpread
half-power lobe의 power 가중 공분산과 1× RMS ellipse
metrics
energy 비율, precision/recall, sidelobe, main-lobe 폭
evaluation
검출 threshold, 반경, tolerance 등 지표 계산 조건
timing / environment
backend, grid·scan 범위, 장치 정보와 구간별 시간
inputHash
Array·Scene·Experiment 입력을 묶은 SHA-256 재현성 식별자
comparison-history
세션의 배열별 시간·위치 오차·PSR 요약을 한 번에 저장

Camera에서 바꾼 Scene과 Experiment는 각각 저장할 수 있습니다. 완료 Result와 배열 비교 기록도 별도 JSON으로 저장하세요. 저장하지 않은 항목이나 실행 중인 계산이 있으면 페이지를 닫을 때 브라우저가 확인합니다.

06

Troubleshooting

막혔을 때 확인할 것

화면이 비거나 module/Worker 오류가 납니다.

index.html을 직접 열지 말고 반드시 start.cmd로 실행하세요.

4173 포트를 사용할 수 없다고 나옵니다.

start.cmd -Port 4174처럼 다른 포트를 지정하고 http://127.0.0.1:4174/을 여세요.

Experiment를 가져올 수 없습니다.

Scene과 Array를 먼저 가져오세요. Experiment의 sceneId와 arrayId가 현재 문서와 같아야 합니다.

Assets가 준비되지 않습니다.

Builder에서 사용한 것과 바이트가 같은 원본 파일을 다시 선택하세요. 파일명뿐 아니라 SHA-256도 일치해야 합니다.

WebGPU가 없거나 실행이 너무 느립니다.

Backend를 Auto 또는 CPU로 두고 50×50 grid부터 실행하세요. 최신 Chrome/Edge와 그래픽 드라이버도 확인하세요.

두 번째 음원을 찾지 못합니다.

두 음원이 같은 주파수 대역인지 확인하고 Peak 검출 임계값을 낮추세요. gain 차이, main-lobe 폭보다 짧은 거리, grid 간격과 sidelobe는 threshold만으로 해결되지 않을 수 있습니다.

라이브 준비 버튼이 비활성화됩니다.

Scene에 시간 순서가 올바른 trajectory keyframe이 두 개 이상 있어야 합니다. Builder에서 시간에 따라 음원 이동을 켜거나 Camera의 이동 예제를 사용하세요.

07

Scope & privacy

현재 모델의 범위

micarrsim 1.0은 점 음원, 구면 감쇠·분수 지연을 쓰는 자유음장 모델과 conventional DAS를 제공합니다. 실내 반사·잔향, 실제 마이크 위치 오차와 비선형성, DAMAS, CLEAN-SC, DCASE/MIMII 자동 adapter와 실제 192채널 capture stream은 현재 범위에 포함되지 않습니다. 결과는 실제 장비의 절대 성능 보증이 아니라 같은 조건에서 배열을 비교하는 재현 가능한 기준입니다.

원본 asset은 브라우저 메모리에서만 읽고 서버나 외부 네트워크로 보내지 않습니다. 다만 Scene JSON에는 원본 파일명이 남을 수 있으므로 외부 공유 전 확인하세요.

전체 README설치·실행·구조·제약 Builder 설명서source·ambient·Preview WAV Camera 설명서backend·결과·비교 데이터 계약JSON Schema와 재현성 실행 계획구현 상태와 향후 단계 브라우저 테스트단위·통합 테스트 실행 WebGPU 측정현재 장치 benchmark