Some checks failed
standards workspaces build + test / jouleclaw-rs (push) Successful in 1m51s
standards workspaces build + test / aac-rs (push) Successful in 59s
standards workspaces build + test / joule-code-rs (push) Successful in 39s
standards workspaces build + test / joulecontract-rs (push) Successful in 35s
standards workspaces build + test / map-rs (push) Successful in 32s
standards workspaces build + test / mesh-rs (push) Successful in 24s
standards workspaces build + test / openpay (push) Successful in 1m48s
no-vanity-metrics / Scan committed Markdown for vanity metrics (push) Has been cancelled
standards workspaces build + test / arl-rs (push) Has been cancelled
standards workspaces build + test / eoc-rs (push) Has been cancelled
standards workspaces build + test / jcp-rs (push) Has been cancelled
standards workspaces build + test / joule-ui-rs (push) Has been cancelled
standards workspaces build + test / jouledesk-rs (push) Has been cancelled
standards workspaces build + test / joulehook-rs (push) Has been cancelled
standards workspaces build + test / proof-rs (push) Has been cancelled
standards workspaces build + test / sandbox-rs (push) Has been cancelled
standards workspaces build + test / sense-rs (push) Has been cancelled
standards workspaces build + test / smart-byte-rs (push) Has been cancelled
standards workspaces build + test / macOS energy backend (jcp-energy) (push) Has been cancelled
The device's own voice is all most people get, and on many devices in many languages it is poor or missing. A person can now download a neural voice for their language, once, and it speaks their words on the device, offline, with nothing sent anywhere. - neural_voice.rs, neural_tts.js: the catalogue (aac-voice-index/1: runtimes, shared components, per-language packs, each file by size and SHA-256, read once per content-named catalogue and kept for offline use); downloads into the model store, one at a time, only with room for them, verified, and never left half-finished; a record of what each voice installed, so it keeps speaking from its own files whatever a later catalogue says (a newer version is an update to choose), read afresh before any change so another tab of the app never deletes a voice it installed; remove keeps what other voices need and takes the engine with the last voice. - Speaking: taps never wait while the device has a voice for the language (a voice not ready in 1.2 s gives the words to the device voice); with none, the words wait for the downloaded voice rather than go unsaid. Words the person moved past (a newer utterance, Stop) are never said by either voice, and words no voice could say are reported. Sentences are split by the runtime's own splitter, so "1.5 mg", "1.000 Euro" and "Dr. Smith" stay whole. The chosen voice is loaded when the app opens and after a change of language, speed or voice; every call site speaks at the same speed. - third_party/moonshine-wasm: the Moonshine WASM 0.1.5 runtime (the latest), vendored and pinned like MediaPipe, with its worker (one voice in memory at a time), revision aac2. - Settings > Better voices: each voice rated in plain words (sounds natural / clear, though less natural / experimental), named in its radio button, with its size, licence and credits; downloads that outlive the panel and say when they finish; Remove asks first; focus stays in place; one quiet live region; plain errors. Settings > Voice names the better voice when one is chosen. A language without one says so plainly, with the recorded reason one click away. - tools/voices: the pinned, reproducible pack builder (every source pinned by commit, version and SHA-256; byte-identical rebuilds; the pointer written last), a smoke test that synthesizes with every pack, and check_packs.py, which every static build runs so packs that are missing, stale or incomplete never ship (AAC_VOICES=none builds without them on purpose). Voices: en, es, fr, pt, it, ja, hi and zh (experimental) on Kokoro-82M; de (experimental), nl and uk on Piper. Nothing non-commercial or GPL. A voice that says something other than the word chosen is withheld: en-piper-norman turns "more" into seconds of babble. 32 languages record why they have no voice yet; ha and yo are planned. - data/voices: the committed catalogue and LICENSES.md. - prerender-static.sh ships the runtime and the checked packs with the static app. Co-Authored-By: Claude Opus 5.5 <[email protected]>
48 lines
607 B
Text
48 lines
607 B
Text
# Rust build artifacts
|
|
/target/
|
|
**/target/
|
|
**/*.rs.bk
|
|
Cargo.lock.bak
|
|
|
|
# Node / web tooling
|
|
**/node_modules/
|
|
**/dist/
|
|
**/.astro/
|
|
**/build/
|
|
|
|
# IDE / editor
|
|
.idea/
|
|
.vscode/
|
|
*.iml
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# macOS
|
|
.DS_Store
|
|
**/.DS_Store
|
|
|
|
# Secrets / env
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
*.pem
|
|
*.key
|
|
!*.pub.key
|
|
|
|
# Logs / scratch
|
|
*.log
|
|
.scratch/
|
|
tmp/
|
|
|
|
# wasm-pack build output (regenerable)
|
|
arl/arl-rs/crates/arl-wasm/pkg/
|
|
arl/arl-rs/crates/arl-wasm/pkg-node/
|
|
|
|
# Python bytecode
|
|
**/__pycache__/
|
|
|
|
# Neural voice packs (built and deployed outside git; see aac voices plan)
|
|
.scratch-voices/
|
|
/voice-packs/
|
|
aac/aac-rs/data/voices-out/
|