CI / Lint (push) Canceled after 0s
CI / Build Test (stage-web) (push) Canceled after 0s
CI / Build Test (ui-loading-screens) (push) Canceled after 0s
CI / Build Test (ui-transitions) (push) Canceled after 0s
CI / Unit Test (push) Canceled after 0s
CI / Type Check (push) Canceled after 0s
CI / Check Provenance (push) Canceled after 0s
Sync Labels / sync-labels (push) Successful in 1m43s
- Remove stage-tamagotchi, stage-pocket, server, and engine workspaces with their workflows, addons, and docs - Switch the toolchain from pnpm to bun, replace lockfiles with bun.lock - Rewrite remaining product references to Moeka
31 lines
888 B
Markdown
31 lines
888 B
Markdown
# @proj-airi/pipelines-audio
|
|
|
|
Shared audio-pipeline orchestration for Moeka. The package owns reusable streaming, playback, text-chunking, and transcript-buffering policies without depending on an application UI.
|
|
|
|
## Use it for
|
|
|
|
- Building and scheduling speech playback pipelines.
|
|
- Parsing streaming-control events.
|
|
- Grouping nearby ASR fragments with `createTranscriptBuffer` before a product sends one spoken turn downstream.
|
|
|
|
## Do not use it for
|
|
|
|
- Vue or Electron lifecycle state.
|
|
- Provider credentials and product-specific error UI.
|
|
- Raw audio encoding utilities, which belong in `@proj-airi/audio`.
|
|
|
|
## Transcript buffering
|
|
|
|
```ts
|
|
import { createTranscriptBuffer } from '@proj-airi/pipelines-audio'
|
|
|
|
const buffer = createTranscriptBuffer({
|
|
flushDelayMs: 1200,
|
|
flush: async text => sendToChat(text),
|
|
})
|
|
|
|
buffer.push('hello')
|
|
buffer.push('world')
|
|
await buffer.dispose()
|
|
```
|