Modules§
Structs§
- Audio
Info - DengjenFFI
Error - Dengjen
Voice - Piper
Synth Config - Synthesis
Event - Synthesis
Params - Parameters for
libdengjenSpeakandlibdengjenSpeakToFile.
Constants§
- DENGJEN_
ABI_ VERSION - Bumped on any incompatible change to the exported functions or structs.
- PIPER_
SYNTH_ CONFIG_ NO_ SPEAKER
Functions§
- _internal_
libdengjen ⚠Free Piper Synth Config - Safety
- _internal_
libdengjen ⚠Free String - Public destructor for strings managed by the other side of the FFI.
- _internal_
libdengjen ⚠Unload Dengjen Voice - Safety
- libdengjen
AbiVersion - The ABI version this library was built with; bindings compare it with the one they were generated against before making any other call.
- libdengjen
Cancel ⚠ - Safety
- libdengjen
Free ⚠Piper Synth Config - Safety
- libdengjen
Free ⚠String - Safety
- libdengjen
Free ⚠Synthesis Event - Safety
- libdengjen
GetAudio ⚠Info - Safety
- libdengjen
GetPiper ⚠Default Synth Config - Safety
- libdengjen
GetSynthesis ⚠Parameter - Reads a single named entry from the voice’s generic synthesis
parametersmap — the read-side counterpart tolibdengjenSetSynthesisParameter. Returnstrueand writes*out_value_ptrifkeyis present in the voice’s current generic parameters map; returnsfalse(not an error) ifkeyis absent, or if the loaded backend has no synthesis config at all (e.g. Kokoro). - libdengjen
Load Voice From Config Path - libdengjen
SetPiper ⚠Synth Config - Safety
- libdengjen
SetSynthesis ⚠Parameter - Sets a single named entry in the voice’s generic synthesis
parametersmap. This is an additive escape hatch alongside the named-field setters (e.g.libdengjenSetPiperSynthConfig):keymay be any string, but whether it has any effect depends on the loaded backend — a backend that doesn’t recognizekeysilently ignores it. Piper only recognizeslength_scale,noise_scale, andnoise_w; Kokoro ignores all three (it has no tunable synthesis parameters). - libdengjen
Speak ⚠ - Safety
- libdengjen
Speak ⚠ToFile - Safety
- libdengjen
Unload ⚠Dengjen Voice - Cancels any running synthesis, waits for nonblocking workers to stop, then frees the voice.
No callback fires after this returns, so
user_datamay be released immediately afterwards. The exception is a call from inside a callback of the same voice: it frees the voice without waiting, and that worker still delivers a final FINISHED event, so keepuser_dataalive until it arrives.