openjutsu
One-click character swap for videos: an open-source, local Higgsfield Genjutsu alternative built on ComfyUI and MiniMax H3, with FLUX.3 Klein relighting.
Offline local formant speech synthesis.
Translation pending
MediaHTML · JavaScriptGitHub @ConsciousNodeOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full 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.