참여자 응답

음성 응답

녹음 길이와 파일 저장·업로드 정책을 이해합니다.

기준일
이 페이지에서

음성 문항

음성 응답은 설문의 voice 질문으로 수집합니다. RECORD_AUDIO 권한과 사용 가능한 마이크가 필요합니다. 파일과 녹음 길이는 음성 메타데이터로 연결됩니다. 녹음 기능과 인식 텍스트 생성은 구분해야 하며, 모든 녹음에 전사 텍스트가 보장되지는 않습니다.

CODE
{
  "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), 생성 시각, 업로드 상태를 포함합니다. 응답 메타데이터 저장과 오디오 파일 업로드 성공을 별도로 점검합니다.

연구 화면 예시

INSPIRE 음성 설문 화면, 2026년 5월 11일 연구 앱 예시

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

문서 근거

현재 작업 트리 기준 · 소스 경로 · HEAD 8213e6b7

  • plugins/survey/src/main/java/com/hdil/datacollection/survey/SurveyModels.kt
  • plugins/survey/src/main/java/com/hdil/datacollection/survey/AudioMeta.kt
  • plugins/survey/src/main/java/com/hdil/datacollection/survey/component/voice/AudioRecorder.kt
  • app/src/main/java/com/hdil/datacollection/ingest/SurveyResponseSubmitterImpl.kt
  • app/src/main/java/com/hdil/datacollection/ingest/SupabaseAudioUploader.kt
  • app/src/main/java/com/hdil/datacollection/di/RemoteDataSourceModule.kt
  • plugins/survey/src/main/java/com/hdil/datacollection/survey/component/voice/VoiceInputViewModel.kt
DTRAC Android연세대학교 · 이봉신 연구팀