Skip to content

Feature: Voice input for user transmissions #18

Description

@achildrenmile

Add optional voice input so users can speak their transmissions instead of typing.

FEATURE DESCRIPTION
QSO Buddy shall support voice input for user responses, allowing users to practice speaking QSOs realistically.

SCOPE

  • Voice input is optional and can be enabled per user
  • Text input remains available at all times
  • Voice input complements, not replaces, typing

CORE FEATURES

  • Start / stop voice recording per transmission
  • Convert speech to text (speech recognition)
  • Display recognized text before sending
  • Allow user to edit or confirm recognized text
  • Process the confirmed text like typed input

LANGUAGE REQUIREMENTS

  • German voice recognition is mandatory
  • English voice recognition is optional but prepared for
  • Voice recognition must match active UI language

REALISM REQUIREMENTS

  • Support NATO phonetics recognition
  • Recognize common Q-groups
  • Tolerate pauses and natural speech
  • Do not penalize accent or speaking speed

TECHNICAL NOTES

  • Use browser-native Speech Recognition APIs for MVP
  • Abstract recognition layer to allow replacement later
  • Handle browser compatibility gracefully
  • Clearly indicate when microphone is active
  • Respect user privacy (no audio storage)

UI REQUIREMENTS

  • Clear microphone button
  • Visual recording indicator
  • Easy cancellation and retry
  • Fully usable on mobile and desktop

ACCEPTANCE CRITERIA

  • User can speak a transmission
  • Recognized text is shown before submission
  • User can correct recognition errors
  • Works on supported browsers
  • Voice input can be disabled entirely

NOTES
Voice input is a major learning enhancement and prepares QSO Buddy for advanced training modes.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions