Skip to content

0.4: it talks - #8

Draft
alexander-wang03 wants to merge 7 commits into
masterfrom
stt-seam
Draft

alexander-wang03 wants to merge 7 commits into
masterfrom
stt-seam

Conversation

@alexander-wang03

Copy link
Copy Markdown
Owner

What this changes

The 0.4 release, in batches. This first batch is the speech recognition seam, built before any provider exists: emet.stt as the seventh entry-point group with its contract in emet-sdk (TranscriberPlugin, Transcript, TranscriberDescriptor: frames in, partial and final transcripts out, streaming), a fourth package emet-providers holding the one provider that ships, a mock that reads words out of the bytes it is given, emet-listen --transcribe printing partials as they arrive and then what was said, and audio.stt on the body beside the soul's existing models.stt. Later batches add the Deepgram transcriber, the language model and speech synthesis through the same shape.

Why

The roadmap row reads "STT → LLM → TTS. BYOK. Streaming." and its gate is "It talks." There are credits enough at one vendor to build the whole release against its client library without noticing, and the result would be an engine that speaks one company's dialect. With the seam first, the first real call is made through it, and the provider is one line of a soul.


Checklist

  • Commits are signed off (git commit -s). See CONTRIBUTING.md.
  • python tools/check_layering.py . and python tools/release_check.py . pass.
  • pytest passes in emet-sdk, emet-hal, emet-providers and emet-engine.
  • New behaviour has a test and a caller.
  • Anything taken from a paper or repository is cited at the point of use and in CITATIONS.md. (Nothing was taken in this batch.)

If this touches the contract layer

It does: types.py, plugin.py, discovery.py and the body manifest schema.

  • This was discussed in an issue first. (Solo maintainer; decided in the planning documents before code, and recorded in DESIGN.md section 12.3.)
  • Existing manifests and soul bundles still validate.
  • New schema fields are tagged P0, RSV, or V1 in DESIGN.md.

Design rules

  • The soul names no hardware. (It names a speech recognition provider, which is an account, not hardware; DESIGN.md section 12.3 says why.)
  • Every fallback chain still terminates in a voice rung.
  • emet_sdk imports nothing internal; emet_hal, emet_providers and emet_engine import emet_sdk only.
  • Memory is not namespaced by body.
  • A missing plugin is still distinct from a schema error.

Signed-off-by: Alexander Wang <87671725+alexander-wang03@users.noreply.github.com>
Signed-off-by: Alexander Wang <87671725+alexander-wang03@users.noreply.github.com>
Signed-off-by: Alexander Wang <87671725+alexander-wang03@users.noreply.github.com>
Signed-off-by: Alexander Wang <87671725+alexander-wang03@users.noreply.github.com>
Signed-off-by: Alexander Wang <87671725+alexander-wang03@users.noreply.github.com>
Signed-off-by: Alexander Wang <87671725+alexander-wang03@users.noreply.github.com>
Signed-off-by: Alexander Wang <87671725+alexander-wang03@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant