The audio question type enables respondents to record audio or upload an existing audio file as part of their survey response. It is useful for capturing verbal accounts, environmental sounds, testimonials, or any information that is better conveyed through voice than text.

Basic XLSForm Specification

typenamelabel
audiovoice_notePlease record your comments

For more details on the standard audio question type, see the XLSForm specification.

Uses

Audio questions are commonly used for:

  1. Capturing open-ended verbal responses to reduce enumerator typing burden
  2. Recording testimonials, personal stories, or oral histories
  3. Documenting environmental sounds (e.g., noise levels near infrastructure)
  4. Collecting voice samples for linguistic or health research
  5. Allowing respondents to add verbal clarifications to numeric or select answers

Data format

Audio files are stored as binary attachments alongside the form submission, typically:

  • Format: MP3 or AAC (mobile recording); WAV (high-quality recording)
  • Naming: {instanceID}-{fieldname}.mp3 (or equivalent)
  • Storage: Uploaded to the server media folder and linked to the submission record
  • Access: Playable and downloadable from the submission management interface

rtSurvey extensions

Maximum duration

Use the parameters column to limit recording length:

typenamelabelparameters
audiointerviewRecord the interviewmax-duration=120

max-duration is in seconds. The recorder stops automatically at the limit.

Quality settings

The recording quality can be set via parameters:

typenamelabelparameters
audiofeedbackRecord feedbackquality=normal

Supported values: low, normal (default), voice-only. voice-only optimises for spoken audio with noise reduction.

Playback before submission

On mobile, the enumerator can play back the recorded clip before proceeding. This is enabled by default — there is no configuration needed.

Native recorder integration

On Android and iOS, audio launches the device’s native recording app. On web, it uses the browser’s built-in MediaRecorder API.

Example usage

With maximum duration and hint

typenamelabelhintparameters
audiostoryTell us about the incident in your own wordsSpeak clearly. Recording stops after 3 minutes.max-duration=180

Conditional audio — only if an issue was reported

typenamelabelrelevantrequired
select_one yesnoissue_foundWas an issue found?
audioissue_audioRecord a description of the issue${issue_found} = 'yes'${issue_found} = 'yes'

Best Practices

  1. State clearly in the label or hint what the enumerator should say and for how long.
  2. Use max-duration to prevent excessively large files in areas with slow upload speeds.
  3. Inform respondents before starting the recording — unexpected recording can raise privacy concerns.
  4. Test recording on the target device and network conditions before deployment.
  5. Set quality=voice-only for interview-style recordings to reduce file size without losing intelligibility.

Limitations

  • Audio files can be large (a 2-minute recording at normal quality is ~2–4 MB) — factor this into your data plan and upload time estimates.
  • Not all browsers support the MediaRecorder API — Chrome and Firefox work reliably; Safari on older iOS versions may have issues.
  • Transcription of audio responses requires additional post-processing (manual or automated speech-to-text).
  • Privacy regulations may restrict recording voices — verify local data protection requirements.
Беше ли полезна тази страница?