dynamic-accent-duplex / config.json
UncleanCode's picture
Dynamic Accent Duplex 0.2.0: Dynamic ASR real as default ASR (omniASR fallback)
ac573f1 verified
Raw History Blame Contribute Delete
3.54 kB
{
"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)"
]
}