Skip to content

Releases: deepgram-devs/deepgram-demos-rust

tts-tui v0.9.9

Choose a tag to compare

@github-actions github-actions released this 20 Aug 02:57

0.9.9 - 2026-08-19

Features

  • Added a Command Palette selector for Flux TTS expressivity from -2 (calm) through 2 (animated).
  • Explicit expressivity values are sent to Flux /v2/speak batch and WebSocket requests; the API-default option omits the parameter.

tts-tui v0.9.8

Choose a tag to compare

@github-actions github-actions released this 13 Aug 05:11

0.9.8 - 2026-08-12

Changes

  • Migrated audio playback from rodio 0.20 to rodio 0.22.
  • Reused a persistent rodio mixer and player model for batch and WebSocket streaming playback.
  • Updated Linear16 sample conversion for rodio 0.22's floating-point sample buffers.
  • Updated base64, sha2, tokio-tungstenite, and toml dependencies.

tts-tui v0.9.7

Choose a tag to compare

@github-actions github-actions released this 13 Aug 00:46

0.9.7 - 2026-08-12

Fixes

  • Includes all Deepgram Flux TTS voices
  • Allowed WebSocket streaming against self-hosted Deepgram-compatible endpoints without requiring a Deepgram API key.
  • Converted the configured HTTP(S) TTS endpoint to its WebSocket equivalent for streaming requests.

dg-tts v0.2.8

Choose a tag to compare

@github-actions github-actions released this 10 Aug 20:46

0.2.8 - 2026-08-10

  • Added Flux TTS v2 support through speak v2, save v2, and stream v2 subcommands.
  • Added documented /v2/speak REST and WebSocket routing, Flux defaults, repeatable request tags, and v2 token authentication.
  • Added default request tags (tts-tui, appeng, and deepgram-demos-rust) to all batch and streaming requests.
  • Added a versioned User-Agent header to batch requests and streaming WebSocket handshakes.

tts-tui v0.9.4

Choose a tag to compare

@github-actions github-actions released this 04 Aug 04:26

0.9.4 - 2026-08-03

Fixes

  • Keep the sample rate captured for each generated or queued item so changing the UI setting cannot change its playback speed.

dg-stt v0.4.0

Choose a tag to compare

@github-actions github-actions released this 04 Aug 04:18

0.4.0 - 2026-08-03

  • Uses diarize_model=latest when diarization is enabled, selecting the current supported diarizer for batch and streaming requests.
  • Added parallel streaming connections, self-hosted endpoint support without a Deepgram API key, endpointing controls, and utterance-end configuration.
  • Improved streaming resilience for control-event response shapes and WAV files with an incorrect zero-length data chunk.

tts-tui v0.9.3

Choose a tag to compare

@github-actions github-actions released this 02 Aug 15:43

0.9.3 - 2026-08-02

Fixes

  • Fixed Windows startup configuration so DEEPGRAM_API_KEY is applied when the native USERPROFILE environment variable is available but HOME is not.

tts-tui v0.9.2

Choose a tag to compare

@github-actions github-actions released this 02 Aug 15:17

0.9.2 - 2026-08-02

Changes

  • Removed the --normalize-volume startup option. Toggle volume normalization from the TUI with v; the shortcut is available in the Help screen and Command Palette.
  • Added a w toggle for Deepgram WebSocket TTS streaming and a c shortcut to cycle 10-word, sentence, and punctuation chunking. Streams authenticate with Sec-WebSocket-Protocol, send a final Flush, wait for Flushed, and drain all received audio before completing playback.
  • Explicitly select Rustls' ring cryptographic provider at startup, preventing a WebSocket streaming panic when multiple Rustls providers are enabled in the workspace.
  • Moved the TOML configuration file to ~/.config/deepgram/deepgram-tts-client.toml; existing configurations at the previous path are migrated automatically.
  • Added persistent rotating logs at ~/.config/deepgram/tts-tui.log, with a 1 MiB active-file limit and three retained files by default. WebSocket Speak chunks are logged after successful sends.
  • Log Deepgram request IDs for hosted batch responses and WebSocket streaming metadata.
  • Added Flux TTS WebSocket streaming through /v2/speak, including Flux authentication and graceful Flushed/SpeechMetadata/SessionMetadata handling.

tts-tui v0.9.1

Choose a tag to compare

@github-actions github-actions released this 22 Jul 18:07

0.9.1 - 2026-07-21

Features

  • Added support for Deepgram's early-access Flux TTS model, including all 12 flux-*-en voices, selectable alongside Aura and Aura-2 in the Voices panel.
  • Omitted the speed and normalize_volume query parameters for Flux requests, since Flux does not document support for them, and logged a note when either setting was active but ignored.

Fixes

  • Fixed audible static/pop artifacts during playback by opening the audio output device (rodio::OutputStream) once at startup and reusing it for every play, instead of closing and reopening it on each individual playback. Only a lightweight Sink is created per play now.
  • Included full request details (URL, headers, body) in Deepgram and SageMaker TTS error messages to make failures easier to diagnose.

Documentation

  • Documented the full Flux voice catalog and /v2/speak routing behavior in the README.

dg-flux v0.3.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 03:03

[0.3.0] - 2026-07-20

Added

  • --numerals flag to convert spoken numbers into digits (e.g. "nine hundred" -> "900"), set at connection time since Flux does not support toggling it mid-stream
  • --eager-eot-threshold (alias --eeot, 0.3-0.9) to enable Flux's EagerEndOfTurn/TurnResumed events, validated client-side before connecting
  • --connection <N> to select which connection's transcript is printed in the default output mode (default 0, the first connection), validated against --threads
  • --stats flag to show a live statistics table for all connections; the table is no longer shown by default
  • Confidence-score suffixes ([eager_eot_confidence: X.XXXX] / [eot_confidence: X.XXXX]) on EagerEndOfTurn/EndOfTurn transcript lines
  • flux-turn-taking/AGENTS.md documenting the project's product requirements and implementation notes for future changes

Changed

  • Message handling now conforms to Flux's actual schema: type is always TurnInfo for turn updates, with the real event (StartOfTurn, Update, EagerEndOfTurn, TurnResumed, EndOfTurn) in a nested event field, replacing the previous handling that assumed Nova-3 streaming's Results/SpeechStarted/UtteranceEnd/Metadata message types
  • The statistics table's columns now report Flux's actual event types instead of Nova-3's
  • Default output mode now prints a single connection's transcript instead of showing the statistics table; --stats opts back into the table
  • Transcript lines are prefixed with the Flux event type that produced them and are redrawn in place (one line per turn) as new messages arrive, instead of printing a new line for every message or diffing individual words
  • Color is applied only to the transcript text, never to the statistics table
  • Pressing Ctrl+C in microphone mode now exits immediately instead of waiting up to 2 seconds for worker threads to finish