Build from source

Prosody control is a Rust port of Sonic inside dengjen-audio-ops, so no C toolchain is needed for it. eSpeak-ng comes from the dengjen-espeak-rs-sys crate, and scripts/stage-espeak-data.sh <dir> builds its data from the pinned espeak-ng source into <dir>/espeak-ng-data.

git clone https://github.com/ZirekHQ/dengjen.git
cd dengjen

Then build the workspace, or just the CLI frontend:

cargo build --release --workspace
# or just the CLI
cargo build --release -p dengjen-tts-cli

The resulting binary is at target/release/dengjen (dengjen.exe on Windows).

Then build the eSpeak-ng data and point Dengjen at it. The script builds it from the pinned espeak-ng source, so it needs the same toolchain as the build above and jq:

scripts/stage-espeak-data.sh ./data
export DENGJEN_ESPEAKNG_DATA_DIRECTORY="$PWD/data"

Runtime data directory

eSpeak-ng needs its espeak-ng-data directory at runtime. Dengjen looks for it next to the running executable by default; if it lives elsewhere (or you’re running via cargo run), point to it with:

export DENGJEN_ESPEAKNG_DATA_DIRECTORY=/path/to/directory/containing/espeak-ng-data

On Windows you also need espeak-ng.dll on your PATH — see Testing for the exact variable to set.

Debian and Ubuntu package

Release pages attach dengjen_<version>_amd64.deb and dengjen_<version>_arm64.deb:

sudo apt install ./dengjen_<version>_amd64.deb
dengjen --help

The package installs dengjen with its own espeak-ng-data, built from the pinned espeak-ng source. It does not depend on the distribution’s espeak-ng-data package, whose copy lacks upstream fixes such as the Kurmanji word stress.