Pas 1 (BLOCKING) din Discord voice-to-voice test plan. Sweet spot empiric pe i7-6700T: faster-whisper small int8 @ cpu_threads=4 → p50 2.25s, p95 2.64s, mean RTF 0.46. Curba HT: 2t=3.25s → 4t=2.25s (sweet) → 6t=2.79s (regres +24% prin contention). tiny respinge — halucinează RO. - tools/voice_bench.py: harness benchmark cu 8 sample-uri RO sintetizate via Supertonic API, măsoară p50/p95/RTF pentru small+tiny pe N threads. - tools/voice_bench_results*.json: raw output 3 pass-uri (threads 2/4/6). - tasks/voice-bench-results*.md: summary markdown per pass. - tasks/lessons.md: HT contention rule — cpu_threads = physical cores, rulează sweep nu single-point pentru ML inference compute-bound. Budget updated în plan-uri: STT p50 1.5s → 2.5s, perceived 4s → 5s p50. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
184 lines
5.6 KiB
JSON
184 lines
5.6 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"timestamp_utc": "2026-05-27T12:23:08Z",
|
|
"decision": "FALLBACK_TINY",
|
|
"rationale": "small.p50=3.25s >= budget; tiny.p50=0.50s < budget 1.50s. Document fallback la 'tiny' în plan (accuracy mai slabă, latency OK).",
|
|
"budget_s": 1.5,
|
|
"trials_per_sample": 3,
|
|
"models": {
|
|
"small": {
|
|
"p50_s": 3.255,
|
|
"p95_s": 3.611,
|
|
"mean_rtf": 0.801,
|
|
"load_time_s": 10.633,
|
|
"cpu_threads": 2,
|
|
"samples": [
|
|
{
|
|
"name": "short",
|
|
"text_in": "Salut, ce mai faci?",
|
|
"text_out": "Salut ce mai faci!",
|
|
"audio_duration_s": 1.881,
|
|
"latencies_s": [
|
|
3.236,
|
|
2.952,
|
|
2.945
|
|
],
|
|
"median_latency_s": 2.952,
|
|
"rtf": 1.569
|
|
},
|
|
{
|
|
"name": "conversational",
|
|
"text_in": "Stai puțin să mă gândesc la asta.",
|
|
"text_out": "Stai puțin să mă gândesc la asta.",
|
|
"audio_duration_s": 2.926,
|
|
"latencies_s": [
|
|
3.095,
|
|
3.099,
|
|
3.126
|
|
],
|
|
"median_latency_s": 3.099,
|
|
"rtf": 1.059
|
|
},
|
|
{
|
|
"name": "medium",
|
|
"text_in": "Am verificat în calendar și avem ședință cu echipa la trei după-amiază.",
|
|
"text_out": "Am verificat în calendari și avem sedință cu echipa la 3 după amiază.",
|
|
"audio_duration_s": 5.991,
|
|
"latencies_s": [
|
|
3.437,
|
|
3.419,
|
|
3.342
|
|
],
|
|
"median_latency_s": 3.419,
|
|
"rtf": 0.571
|
|
},
|
|
{
|
|
"name": "numbers",
|
|
"text_in": "Costul total este o sută douăzeci și trei de lei și cincizeci de bani.",
|
|
"text_out": "Costul total este 120 și 3 delei și 5-10 de bani.",
|
|
"audio_duration_s": 5.642,
|
|
"latencies_s": [
|
|
3.24,
|
|
3.207,
|
|
3.237
|
|
],
|
|
"median_latency_s": 3.237,
|
|
"rtf": 0.574
|
|
},
|
|
{
|
|
"name": "question",
|
|
"text_in": "Marius, vrei să-ți pun pe agenda de mâine să suni la NOAA?",
|
|
"text_out": "Marius, vrei să-ți spun pe agenda de mâine să suni la noa?",
|
|
"audio_duration_s": 5.085,
|
|
"latencies_s": [
|
|
3.329,
|
|
3.27,
|
|
3.278
|
|
],
|
|
"median_latency_s": 3.278,
|
|
"rtf": 0.645
|
|
},
|
|
{
|
|
"name": "longer",
|
|
"text_in": "Vreau să-mi reamintești diseară să verific dacă scriptul de backup a rulat corect și să trimit raportul către echipă.",
|
|
"text_out": "Vreau să mi-reamintești, di seară, să verific dacă scriptul de bacup a rulat corect și să trimit raportul către echipă.",
|
|
"audio_duration_s": 9.265,
|
|
"latencies_s": [
|
|
3.626,
|
|
3.611,
|
|
3.563
|
|
],
|
|
"median_latency_s": 3.611,
|
|
"rtf": 0.39
|
|
}
|
|
]
|
|
},
|
|
"tiny": {
|
|
"p50_s": 0.505,
|
|
"p95_s": 0.556,
|
|
"mean_rtf": 0.122,
|
|
"load_time_s": 3.15,
|
|
"cpu_threads": 2,
|
|
"samples": [
|
|
{
|
|
"name": "short",
|
|
"text_in": "Salut, ce mai faci?",
|
|
"text_out": "Salute mai face?",
|
|
"audio_duration_s": 1.881,
|
|
"latencies_s": [
|
|
0.438,
|
|
0.449,
|
|
0.443
|
|
],
|
|
"median_latency_s": 0.443,
|
|
"rtf": 0.235
|
|
},
|
|
{
|
|
"name": "conversational",
|
|
"text_in": "Stai puțin să mă gândesc la asta.",
|
|
"text_out": "Stei putin să mă gândesc la asta.",
|
|
"audio_duration_s": 2.926,
|
|
"latencies_s": [
|
|
0.477,
|
|
0.476,
|
|
0.47
|
|
],
|
|
"median_latency_s": 0.476,
|
|
"rtf": 0.163
|
|
},
|
|
{
|
|
"name": "medium",
|
|
"text_in": "Am verificat în calendar și avem ședință cu echipa la trei după-amiază.",
|
|
"text_out": "Am verificat în calendar și avem sedeință cu equipala 3 dupa am iază.",
|
|
"audio_duration_s": 5.991,
|
|
"latencies_s": [
|
|
0.506,
|
|
0.514,
|
|
0.505
|
|
],
|
|
"median_latency_s": 0.506,
|
|
"rtf": 0.084
|
|
},
|
|
{
|
|
"name": "numbers",
|
|
"text_in": "Costul total este o sută douăzeci și trei de lei și cincizeci de bani.",
|
|
"text_out": "Costul total este o suta doozec și trei de lei și 50 de bani.",
|
|
"audio_duration_s": 5.642,
|
|
"latencies_s": [
|
|
0.504,
|
|
0.522,
|
|
0.493
|
|
],
|
|
"median_latency_s": 0.504,
|
|
"rtf": 0.089
|
|
},
|
|
{
|
|
"name": "question",
|
|
"text_in": "Marius, vrei să-ți pun pe agenda de mâine să suni la NOAA?",
|
|
"text_out": "Marius, vrei să-ți pun pe agenda de muină să sunilă nu a.",
|
|
"audio_duration_s": 5.085,
|
|
"latencies_s": [
|
|
0.509,
|
|
0.504,
|
|
0.529
|
|
],
|
|
"median_latency_s": 0.509,
|
|
"rtf": 0.1
|
|
},
|
|
{
|
|
"name": "longer",
|
|
"text_in": "Vreau să-mi reamintești diseară să verific dacă scriptul de backup a rulat corect și să trimit raportul către echipă.",
|
|
"text_out": "Vreau să mire am in test, disiară să verific dacă scriptul de backup a rulat correct și să trimitra portul că trea equipă.",
|
|
"audio_duration_s": 9.265,
|
|
"latencies_s": [
|
|
0.556,
|
|
0.535,
|
|
0.571
|
|
],
|
|
"median_latency_s": 0.556,
|
|
"rtf": 0.06
|
|
}
|
|
]
|
|
}
|
|
}
|
|
} |