Skip to content

Feature: Audio support for QSO Buddy (listen and learn) #17

Description

@achildrenmile

Add audio support to QSO Buddy so users can hear realistic QSOs instead of reading text only.

FEATURE DESCRIPTION
QSO Buddy shall support audio playback of QSOs to train listening skills, pronunciation, and real-world comprehension.

SCOPE

  • Audio is optional but strongly encouraged per scenario
  • Text remains visible at all times (no audio-only dependency for MVP)

AUDIO TYPES

  1. Spoken voice audio for transmissions
  2. Optional radio-style effects (noise, fading) at later stage

CORE FEATURES

  • Play / pause audio per transmission
  • Replay individual transmissions
  • Step-by-step audio playback synced with speech bubbles
  • Audio available in Watch and Guided mode
  • Optional audio in Free mode (user responses remain text-based for MVP)

LANGUAGE REQUIREMENTS

  • German audio is mandatory
  • English audio is optional but prepared for
  • Audio must match the active UI language

REALISM REQUIREMENTS

  • Use realistic amateur radio phrasing
  • Normal speaking speed for beginners
  • Slower pace for weak-signal scenarios
  • No exaggerated effects in MVP

TECHNICAL NOTES

  • Use Text-to-Speech (TTS) for MVP
  • Abstract audio layer so prerecorded audio can be added later
  • Audio handling must work on desktop and mobile
  • Respect browser autoplay restrictions (user interaction required)

UI REQUIREMENTS

  • Clear audio controls (play, replay)
  • Visual indication when audio is playing
  • Audio controls must be touch-friendly on mobile

ACCEPTANCE CRITERIA

  • User can hear QSOs being played back
  • Audio matches displayed text
  • Works reliably on mobile and desktop
  • Audio feature does not block non-audio usage

NOTES
Audio is a major learning multiplier and a foundation for future voice-based interaction.

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