Voice answers

Last updated @userreason/js 0.5.4Added in 0.4.0
On this page

Conversational voice (Pip’s Text or voice mode) is not generally available and is marked Coming soon. Ordinary text-question dictation is a separate feature; see conversation availability.

An open-answer question can let visitors speak instead of type. You turn it on per question in the survey editor (or with dictation in the survey definition). Nothing changes in your SDK setup.

What visitors see

A mic sits in the answer field. After a tap, the words appear in the field while the visitor talks: settled words in the normal color, words still being recognised greyed. A status in the field's corner (under a one-line field) says what is happening: listening with the time used, the last five seconds, then Dictated with Undo.

  • One recording lasts at most 30 seconds. Visitors can tap again to add more; new words come after what is already there.
  • Recording stops at the question's maximum length, cut at the last whole word.
  • The result is an ordinary answer: visitors can edit it before sending, and Undo takes back only the last recording.
  • If nothing is heard, the microphone is blocked or voice input is unavailable, the status says so and typing keeps working.

Settings per question

Setting Values Default
Transcription language prompt: the language the survey is shown in. detect: recognise the language spoken. prompt
Filler words remove: drop "um", false starts and repeats. keep: write down everything said. remove

Use detect when visitors may answer in another language than the survey's.

Requirements for your site

  • HTTPS. Browsers only allow the microphone on secure pages.
  • Permissions-Policy. If your site sends a Permissions-Policy header, it must allow microphone for your own origin, for example microphone=(self). A page inside an iframe also needs allow="microphone" on the iframe.
  • No CSP change. Audio streams over a WebSocket to your configured UserReason API origin, which your connect-src already allows.

Where a page cannot record, no mic is shown and the question works as a normal text field. The browser asks for microphone access the first time a visitor taps the mic, and the permission prompt names your site.

Privacy

Recording starts only when the visitor taps the mic and stops after at most 30 seconds. Audio streams through the UserReason API to our transcription provider, which turns it into text in real time; only words come back. UserReason does not store audio; only the text the visitor sends is saved as their answer. Our transcription provider processes the audio in the United States under its own data-handling terms. Responses record whether an answer was partly dictated and for how long, but nothing else about the recording.