Files
echo-core/config.json
Marius Mutu 61d667ec65 fix(voice): normalizare TTS lang-aware + cap 400 chars mutat per-request Supertonic
Două cauze pentru audio mut pe pocket-tts după fix-ul [tts-lang:en]:

1. normalize_for_tts expanda numerele/orele în cuvinte românești chiar și
   în text englezesc ("It's 9:46 PM" → "nouă și patruzeci și șase de
   minute") → diacritice → pocket-tts respingea clauzele. push_text rezolvă
   acum lang din engine-ul vocii curente (engine_for_voice) și sare
   expansiunile RO când lang != 'ro'. [scris de Echo în sesiunea Discord]

2. sanitize_for_supertonic (cap 400 chars — limită ONNX per request) rula
   pe textul întreg în normalize, înainte de segmentarea în clauze —
   răspunsurile lungi erau retezate mid-word și trunchierea la 200 cuvinte
   cu sufixul "Restul l-am scris în chat" nu se mai aplica. Separat
   map_tts_punctuation (fără cap, folosit de normalize) de
   sanitize_for_supertonic (cap, aplicat în _synthesize_supertonic).

Include vocea clonată "Marius 4" (tts_voices.json + default în config).

Fixează test_truncate_exactly_200_words_unchanged și
test_truncate_over_200_words_appends_suffix.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 18:57:30 +00:00

128 lines
2.7 KiB
JSON

{
"bot": {
"name": "Echo",
"default_model": "sonnet",
"owner": "949388626146517022",
"admins": [
"5040014994"
]
},
"channels": {
"echo-core": {
"id": "1471916752119009432",
"default_model": "sonnet"
},
"echo-work": {
"id": "1466726254312030259",
"default_model": "sonnet"
},
"echo-sprijin": {
"id": "1466739361503772864",
"default_model": "sonnet"
},
"echo-self": {
"id": "1466739112747864175",
"default_model": "sonnet"
}
},
"telegram_channels": {},
"whatsapp": {
"enabled": true,
"bridge_url": "http://127.0.0.1:8098",
"owner": "40723197939",
"admins": []
},
"whatsapp_channels": {
"echo-test": {
"id": "120363424350922235@g.us",
"default_model": "sonnet"
}
},
"heartbeat": {
"enabled": false,
"interval_minutes": 120,
"channel": "echo-core",
"model": "haiku",
"quiet_hours": [
23,
7
],
"checks": {
"email": true,
"calendar": true,
"kb_index": true,
"git": false
},
"cooldowns": {
"email": 1800,
"calendar": 1800,
"kb_index": 14400,
"git": 14400
}
},
"allowed_tools": [
"Read",
"Edit",
"Write",
"Glob",
"Grep",
"WebFetch",
"WebSearch",
"Bash(python3 *)",
"Bash(.venv/bin/python3 *)",
"Bash(pip *)",
"Bash(pytest *)",
"Bash(git *)",
"Bash(npm *)",
"Bash(node *)",
"Bash(npx *)",
"Bash(systemctl --user *)",
"Bash(trash *)",
"Bash(mkdir *)",
"Bash(cp *)",
"Bash(mv *)",
"Bash(ls *)",
"Bash(cat *)",
"Bash(chmod *)",
"Bash(docker *)",
"Bash(docker-compose *)",
"Bash(docker compose *)",
"Bash(ssh *@10.0.20.*)",
"Bash(ssh root@10.0.20.*)",
"Bash(ssh echo@10.0.20.*)",
"Bash(scp *10.0.20.*)",
"Bash(rsync *10.0.20.*)"
],
"discord": {
"email_webhook_url": "https://discord.com/api/webhooks/1496421990846697583/OM8z1eBsJC6-UB9-Zi5RkHP23NNv9UrEznRMx4Y3wSWOFmLazPoi-8_iEKMp0Qgsqr-m"
},
"ollama": {
"url": "http://10.0.20.161:11434"
},
"voice": {
"allowed_user_ids": [
"949388626146517022"
],
"user_name": "Marius",
"default_voice": "Marius 4",
"auto_leave_minutes": 5,
"stt_model": "/home/moltbot/echo-core/models/whisper-small-ro-cv11-int8"
},
"paths": {
"personality": "personality/",
"tools": "tools/",
"memory": "memory/",
"logs": "logs/",
"sessions": "sessions/"
},
"roa2web": {
"base_url": "https://roa2web.romfast.ro/roa2web/api",
"default_company": "114",
"default_company_name": "ROMFAST SRL"
},
"tts": {
"default_engine": "pockettts",
"pockettts_url": "http://127.0.0.1:7789"
}
}