Skip to main content

speak 0.2.0 copy "speak: ^0.2.0" to clipboard
speak: ^0.2.0 copied to clipboard

Text-to-speech for Flutter on iOS, macOS, Android and web: awaitable prompts over other audio, no native code to set up. An alternative to flutter_tts.

0.2.0 #

  • Calls and other interruptions (Siri, alarms, another app taking the audio): what is being said ends as SpeakOutcome.interrupted, and an utterance asked for during a call ends as the new SpeakOutcome.blocked; nothing is replayed after the call. Only current evidence blocks, never a remembered interruption: iOS asks CallKit whether a call is going on and observes the session's interruption notifications (and their iOS 27 replacements); Android watches its audio focus and the audio mode.
  • A claim refused for another reason (Android 15 in the background without a foreground service, an iOS session that cannot be activated) is no call: the text is spoken without it.
  • SpeakAudio.duringCalls: SpeakDuringCalls.skip (the default) or .speak.
  • Breaking: a switch over SpeakOutcome needs a blocked case.
  • README: running in the background, per platform; the exact cause of the macOS failure under flutter run, and the debug-entitlement workaround.

0.1.3 #

  • A clearer package description.

0.1.2 #

  • The lead-in is played only when the audio goes to Bluetooth or a car (SpeakAudio.leadInOnBluetoothOnly, on by default): through the phone's speaker or wired headphones speech starts at once. The route is read right after the audio is claimed, on iOS from the audio session, on Android from where the speech's attributes route (Android 13+) or the connected Bluetooth outputs.
  • Includes 0.1.1, which was tagged but never published: the README's guide for moving from flutter_tts, call by call.

0.1.1 #

  • README: a guide for moving from flutter_tts, call by call.

0.1.0 #

  • First release: text-to-speech on iOS, macOS, Android and the web.
  • Awaitable utterances with an outcome (completed, interrupted, expired); queue or interrupt; expireAfter; stop.
  • Voices with BCP-47 language, quality, network and install state; the best voice chosen for a language; availability for a language.
  • Rate, pitch and volume, per call or as defaults.
  • Word progress, pause and resume on every platform (Android resumes from the last reported word).
  • Audio sharing per platform (SpeakAudio): iOS audio session and Android audio focus claimed right before speaking and given back after a short linger, or held with holdAudio. Modes mix, duck, duckAndPauseSpoken (SpeakAudio.navigation: music lowered, podcasts paused), pauseSpoken and pause.
  • A silent leadIn before the first utterance after the audio is claimed, so Bluetooth headsets do not swallow the first syllable.
  • Android engine choice (Speak.androidEngines, AndroidSpeakOptions).
  • Per-utterance timeouts, and a stop that never waits on a silent engine.
1
likes
0
points
516
downloads

Publisher

verified publishervelorki.com

Weekly Downloads

Text-to-speech for Flutter on iOS, macOS, Android and web: awaitable prompts over other audio, no native code to set up. An alternative to flutter_tts.

Homepage
Repository (GitHub)
View/report issues

Topics

#tts #text-to-speech #speech #accessibility #audio

License

unknown (license)

Dependencies

clock, code_assets, ffi, flutter, hooks, jni, jni_flutter, meta, native_toolchain_c, objective_c, web

More

Packages that depend on speak

Packages that implement speak