Context
TypeWhisper can create transcripts, notes, email drafts, and other generated results, but iPhone and iPad users cannot ask the app to read that content aloud. Native text-to-speech would improve hands-free review and accessibility while keeping text on device.
The first version should use Apple's on-device speech synthesis unless a documented requirement cannot be met without an additional provider.
Proposed scope
- Add read-aloud entry points for the current result and History detail.
- Support transcripts and generated documents such as notes and email drafts.
- Provide native play, pause, resume, stop, and progress controls.
- Choose an appropriate voice automatically from the output language, with a simple user override where needed.
- Define predictable audio-session behavior when recording, playback, phone calls, other interruptions, wired audio, or Bluetooth audio is active.
- Keep generated speech ephemeral for the first version; audio export can be evaluated separately.
- Keep transcript and document text local when using the native Apple speech baseline.
Acceptance criteria
- Users can start and stop read-aloud playback from a current result and a History entry.
- Play, pause, resume, stop, elapsed progress, and completed state remain synchronized with actual playback.
- Automatic voice selection works for German, English, French, Italian, and Spanish output, with a usable fallback when the preferred voice is unavailable.
- Starting a recording stops or safely pauses speech playback; starting playback never leaves the recording audio session active.
- Speaker, wired, and available Bluetooth routes behave consistently, and route changes do not leave stale playback UI.
- Phone calls and common system interruptions pause or stop playback predictably and allow a documented recovery path.
- VoiceOver does not duplicate spoken content unexpectedly, and all playback controls have clear accessibility labels.
- iPhone and iPad layouts work in portrait and landscape at supported Dynamic Type sizes.
- Tests cover playback state transitions, cancellation, interruption recovery, language/voice fallback, and audio-session ownership.
Design decisions before implementation
- Confirm whether background or lock-screen playback belongs in the first release.
- Decide whether voice and rate are global settings or per-playback overrides.
- Validate that
AVSpeechSynthesizer covers the accepted first-release behavior before considering network providers.
Context
TypeWhisper can create transcripts, notes, email drafts, and other generated results, but iPhone and iPad users cannot ask the app to read that content aloud. Native text-to-speech would improve hands-free review and accessibility while keeping text on device.
The first version should use Apple's on-device speech synthesis unless a documented requirement cannot be met without an additional provider.
Proposed scope
Acceptance criteria
Design decisions before implementation
AVSpeechSynthesizercovers the accepted first-release behavior before considering network providers.