尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Offline local formant speech synthesis.
One HTML file. No dependencies, no server, no browser TTS. Webster makes speech from scratch with the Web Audio API, the way the speaking machines of the 1970s and 80s did, and it works offline.
→ Try it: consciousnode.github.io/Webster, or download index.html and open it.
| Engine | What it is |
|---|---|
| Formant (default, v4) | Klatt-style synthesis, the design behind MITalk and DECtalk. A glottal pulse runs through a cascade of five resonators (the vocal tract). Noise runs through parallel bands for hiss and stop bursts, with aspiration after p/t/k and nasal zeros for m/n/ŋ. Transitions between sounds are smoothed both ways in time, which is where coarticulation comes from. It renders samples directly, so what you hear is exactly what Export WAV saves. |
| Retro | The original v3 engine: a sawtooth through three band filters. Buzzier and very 1980s. Kept on purpose. |
| Physical 2D (v5, experimental) | A 2-D digital waveguide mesh of the vocal tract: a 17.6 cm grid of cells, its width at each point following the tract's shape, through which pressure waves actually travel. It is driven by the same plan, melody and glottal pulse as Formant, so only the tract differs. Vowel shapes are fitted against the mesh itself to the same formant targets (most within 0–6%); consonants close or narrow the tract at their place, with noise at the constriction and a nasal branch that opens for m/n/ŋ. It renders about twice as fast as real time. Known limit: front vowels come out low in F2 (/i/ 22%, /e/ 18%, /ɪ/ 16%), so they sound a bit lax. |
| Physical 3D (v6, very experimental) | The same idea in three dimensions: a 32 × 9 × 9 voxel tract (17.8 cm, oval cross-sections) through which pressure waves travel in all three directions, at 110,250 Hz. Same plan, melody and glottal pulse as the other engines, plus a nose that both listens to and drains the tract. Its vowels track Physical 2D (it starts from the same shapes, so it has the same lax front vowels; /u/ is worse). Rendering is about 1.7× slower than real time, and s-sounds are too quiet for now. Written by ChatGPT ("Jeep"); see docs/PHYSICAL-3D.md, and the roadmap. |
English (dictionary + letter-to-sound rules), German, Spanish, French, Italian, Greek, Russian, Bulgarian, Ukrainian, Japanese (kana), Korean (Hangul). Numbers are spoken in the selected language.
// same page
window.webster.speak("Hello world", { preset: "hal", rate: 0.8 });
// from a parent page, with Webster in an iframe
iframe.contentWindow.postMessage({ target: "webster", action: "speak", text: "Hello", options: { lang: "ja" } }, "*");
Options: lang, pitch, rate, preset, natural. Actions: speak, stop, pause, resume, getPresets.
The Pip Suite (Pip's Room, Multi-Pip Chat) speaks with Webster's Formant engine, extracted by tools/webster/extract.py in HTMLNLM.
node tests/webster-vowels.js renders steady vowels and measures their formants by LPC (needs python3 + numpy) against the Peterson & Barney targets the engine aims at. All six vowels land within 20%, most within 10%.
node tests/webster-mesh.js (no dependencies) checks the Physical engine: a uniform tube rings at its quarter-wave modes (480/1440/2395 Hz, theory 480/1439/2399), the fitted vowels ring near their targets, and a whole sentence renders with no sound louder than twice the median vowel.
node tests/webster-mesh3d.js (no dependencies) checks Physical 3D:
WEBSTER MESH 3D CORE markers, added the engine button, routing, stop and WAV export (following Jeep's own integration guide), and made the visualiser show the tract plus a real pressure cross-section from the solver.tests/webster-mesh.js.webster-v3.html.MIT. A ConsciousNode SoftWorks project.