sayd-core 0.1.0

Engine for the sayd speech daemon: queue, chunking, text cleanup, config
Documentation
  • Coverage
  • 36.42%
    55 out of 151 items documented0 out of 69 items with examples
  • Size
  • Source code size: 158.2 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.73 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 9s Average build duration of successful builds.
  • all releases: 9s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • elsirion

sayd-core

The engine behind sayd: utterance queue, sentence chunking, "write for the ear" text cleanup, configuration, and the state machine that drives them.

Deliberately depends on neither an inference stack nor an audio backend nor D-Bus. Synthesis reaches it through the Synthesizer trait and audio through AudioSink, which is what lets the whole engine be driven in a unit test with no model, no audio device and no display.

  • engine — commands in, immutable snapshots out; tick() does one unit of work and returns
  • handle — runs the engine on its own thread
  • queue — four submission policies with per-source defaults
  • chunk — two-phase: split to a character target, then re-split whatever overruns the model's phoneme-token budget once phonemised
  • cleanup — URLs, markdown, code fences, acronyms
  • config — TOML under XDG paths, atomic writes

Licence

MIT.