{ "name": "dynamic-accent-duplex", "version": "0.2.0-experimental", "type": "cascaded full-duplex speech-to-speech voice agent (pipeline, not a single model)", "languages": [ "en", "pcm", "ig", "yo", "ha" ], "code_license": "apache-2.0", "library_name": "pytorch", "components": { "vad": { "model": "snakers4/silero-vad (v5, pip silero-vad)", "license": "MIT", "settings": { "frame_ms": 32, "speech_start_ms": 96, "end_of_turn_silence_ms": 600, "speculative_start_ms": 256, "barge_in_speech_ms": 192 } }, "asr": { "model": "Dynamic ASR real (Modularcomputing/dynamic-asr, real/model.pt) = Meta omniASR_CTC_1B_v2 fine-tuned on licensed Nigerian speech", "source": "https://huggingface.co/Modularcomputing/dynamic-asr", "license": "CC-BY-SA-4.0 (weights; base Apache-2.0)", "alternatives": { "dynamic-asr-cs": "codeswitch-experimental/model.pt (experimental)", "omni": "facebook omniASR_CTC_1B (Apache-2.0), also the automatic fallback" }, "env": "ASR_MODEL=dynamic-asr|dynamic-asr-cs|omni", "settings": { "decoding": "greedy CTC, language-agnostic, Latin-script logit mask", "partials_every_s": 0.64 } }, "language_id": { "model": "Dynamic Accent tagger.py (rules: diacritics, lexicons, Pidgin markers) + GlotLID v3 sliding windows", "glotlid": "cis-lmu/glotlid", "license": "Apache-2.0 (tagger code) / Apache-2.0 (GlotLID)" }, "reply_llm": { "model": "Qwen/Qwen3-30B-A3B-Instruct-2507-FP8", "license": "Apache-2.0", "server": "vLLM (Apache-2.0), OpenAI-compatible, served name 'llm'", "settings": { "candidates_per_round": 3, "rounds": 2, "temperature": [ 0.7, 0.9 ], "max_tokens": 110 } }, "validator": { "checks": [ "tag format", "mix TVD <= 0.3 vs target", "every target language >= 15% present", "greeting pattern kept", "length 2-40 words", "no loops", "no echo of the user's words", "non-English tags not over English words" ], "fallback": "best candidate if tags parse; for ibo/yor/hau/pcm-matrix turns that echo or drift: a phrasebook opener in the user's language + a clarification request" }, "tts": { "model": "Dynamic Accent Flash-DPO (checkpoints/flash/flash_dpo in Modularcomputing/dynamic-accent-pro-v1.1)", "base": "FunAudioLLM/Fun-CosyVoice3-0.5B-2512 (Apache-2.0)", "license": "CC-BY-SA-4.0 (weights, voice prompts)", "voice": "anchor_male", "streaming": "chunk-level: first chunk <= 6-10 words, then sentences <= 22 words", "diacritics": "Dynamic Accent ByT5 diacritic restorer (CC-BY-SA-4.0; google/byt5-small Apache-2.0 base), only for ibo/yor spans without tone marks" }, "backchannels": { "phrases": { "eng": "Mm-hmm.", "pcm": "Ehen.", "ibo": "Ehen.", "yor": "Ehen.", "hau": "To." }, "rule": "user turn >= 4.5 s, mid-turn pause 288-448 ms, >= 10 s apart" } }, "not_included_weights": "This repo ships code and config only; every model is downloaded from its own repository under its own licence.", "excluded_on_licence": [ "African Voices / WaZoBia (TTS use banned)", "NaijaVoices (non-commercial)", "N-ATLaS (1,000-user cap, share-alike)", "Gemma 3 (gated; not tested)" ] }