음성 문항
음성 응답은 설문의 voice 질문으로 수집합니다. RECORD_AUDIO 권한과 사용 가능한 마이크가 필요합니다. 파일과 녹음 길이는 음성 메타데이터로 연결됩니다. 녹음 기능과 인식 텍스트 생성은 구분해야 하며, 모든 녹음에 전사 텍스트가 보장되지는 않습니다.
{
"id": "demo-voice",
"type": "voice",
"label": "오늘 기억에 남는 일을 이야기해 주세요.",
"required": true,
"minDurationMs": 30000,
"maxDurationMs": 60000
}
30–60초는 이 예제의 값입니다. 연구별로 변경할 수 있습니다. 분 단위와 밀리초 단위를 함께 지정하면 모델의 분 단위 설정이 우선합니다.
파일 저장 정책
audioStorage | 동작 |
|---|---|
LOCAL_ONLY | 로컬 파일을 사용하고 음성 업로드를 생략 |
FIREBASE_ONLY | 서버 업로드 중심. 성공 후 로컬 경로 제거·파일 정리 경로 사용 |
BOTH | 로컬 파일을 유지하면서 업로드 |
설문에서 생략하면 기본값은 FIREBASE_ONLY입니다. 전체 저장 모드가 local_only이면 제출 구현은 음성도 LOCAL_ONLY로 처리합니다. FIREBASE_ONLY는 기존 정책 이름이며 실제 업로더는 선택한 백엔드에 연결됩니다.
업로드와 제출 상태
서버 전용 정책에서는 업로드 실패 시 제출을 성공 처리하지 않고 오류를 전달하는 경로가 있습니다. 따라서 모든 음성 설문이 오프라인에서 완결된다고 가정하지 마세요. 연결 복구 후 재시도와 로컬 파일 존재를 확인합니다.
메타데이터는 문항 ID, 로컬/원격 경로, 녹음 길이(durationMs), 생성 시각, 업로드 상태를 포함합니다. 응답 메타데이터 저장과 오디오 파일 업로드 성공을 별도로 점검합니다.
연구 화면 예시

출처: MD4BD 2026-09-17 발표자료, 14쪽. 화면에 보이는 녹음 UI와 연구별 길이 제한은 현재 모든 연구의 기본값을 뜻하지 않습니다.