{
  "created_at": "2026-10-28T18:17:30.985207+00:00",
  "runs": [
    {
      "file": "batch-normal-silero-turbo.json",
      "fixture": "normal",
      "vad": "silero",
      "model": "turbo",
      "source_sha256": "868bd9ad6f771872625dd3e67ce65ac2d727376e1cc7c44e91aac86e5c340d5f",
      "phrase_source": {
        "start_sample": 2688,
        "end_sample": 482304,
        "last_speech_sample": 459264,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "2da63c23cfa02a20be61335cdb069067d2f95ebbfbd652ed069e63c4c4f661bc",
        "samples": 479616
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 159872,
        "sha256": "16132e4b07a8a5cd9bd2b382119a47feb39dd8fb466861c123a62084dc9e028a"
      },
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 194.1398475319147,
      "total_ms": 6269.4000000059605,
      "first_shown_ms": 4432.200000017881,
      "timings": {
        "backend": "streaming_worker",
        "worker_queue_ms": 0.17094198847189546,
        "worker_decode_ms": 194.1398475319147,
        "decode_count": 1,
        "prepare_ms": 30.718227033503354,
        "processed_audio_seconds": 9.992,
        "source_upload_ms": 2.809314988553524,
        "collection_ms": 9512,
        "silence_ms": 480,
        "vad_ms": 139.90000000596046,
        "worker_preparation_ms": 0.19050203263759613,
        "model_exchange_ms": 235.61896901810542,
        "upload_rpc_count": 1,
        "upload_packets": 5,
        "upload_pcm_bytes": 319744
      }
    },
    {
      "file": "batch-normal-silero-russian.json",
      "fixture": "normal",
      "vad": "silero",
      "model": "russian",
      "source_sha256": "868bd9ad6f771872625dd3e67ce65ac2d727376e1cc7c44e91aac86e5c340d5f",
      "phrase_source": {
        "start_sample": 2688,
        "end_sample": 482304,
        "last_speech_sample": 459264,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "2da63c23cfa02a20be61335cdb069067d2f95ebbfbd652ed069e63c4c4f661bc",
        "samples": 479616
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 159872,
        "sha256": "16132e4b07a8a5cd9bd2b382119a47feb39dd8fb466861c123a62084dc9e028a"
      },
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 512.0966713875532,
      "total_ms": 4274.300000011921,
      "first_shown_ms": 3648.9000000059605,
      "timings": {
        "backend": "streaming_worker_russian",
        "worker_queue_ms": 0.13938202755525708,
        "worker_decode_ms": 512.0966713875532,
        "decode_count": 1,
        "prepare_ms": 30.36914300173521,
        "processed_audio_seconds": 9.992,
        "source_upload_ms": 2.6759739848785102,
        "collection_ms": 9512,
        "silence_ms": 480,
        "vad_ms": 139.90000000596046,
        "worker_preparation_ms": 0.18974393606185913,
        "model_exchange_ms": 559.6033000038005,
        "upload_rpc_count": 1,
        "upload_packets": 5,
        "upload_pcm_bytes": 319744
      }
    },
    {
      "file": "batch-normal-silero-gigaam.json",
      "fixture": "normal",
      "vad": "silero",
      "model": "gigaam",
      "source_sha256": "868bd9ad6f771872625dd3e67ce65ac2d727376e1cc7c44e91aac86e5c340d5f",
      "phrase_source": {
        "start_sample": 2688,
        "end_sample": 482304,
        "last_speech_sample": 459264,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "2da63c23cfa02a20be61335cdb069067d2f95ebbfbd652ed069e63c4c4f661bc",
        "samples": 479616
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 159872,
        "sha256": "16132e4b07a8a5cd9bd2b382119a47feb39dd8fb466861c123a62084dc9e028a"
      },
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 226.4467179775238,
      "total_ms": 4898,
      "first_shown_ms": 4253.200000017881,
      "timings": {
        "backend": "gigaam_v3",
        "worker_queue_ms": 0.16772100934758782,
        "worker_decode_ms": 226.4467179775238,
        "decode_count": 1,
        "prepare_ms": 25.355368037708104,
        "processed_audio_seconds": 9.992,
        "source_upload_ms": 3.401522000785917,
        "collection_ms": 9512,
        "silence_ms": 480,
        "vad_ms": 139.90000000596046,
        "worker_preparation_ms": 0.18711015582084656,
        "model_exchange_ms": 285.7136980164796,
        "upload_rpc_count": 1,
        "upload_packets": 5,
        "upload_pcm_bytes": 319744
      }
    },
    {
      "file": "batch-normal-silero-linto.json",
      "fixture": "normal",
      "vad": "silero",
      "model": "linto",
      "source_sha256": "868bd9ad6f771872625dd3e67ce65ac2d727376e1cc7c44e91aac86e5c340d5f",
      "phrase_source": {
        "start_sample": 2688,
        "end_sample": 482304,
        "last_speech_sample": 459264,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "2da63c23cfa02a20be61335cdb069067d2f95ebbfbd652ed069e63c4c4f661bc",
        "samples": 479616
      },
      "model_input": null,
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 210.770508274436,
      "total_ms": 4185.699999988079,
      "first_shown_ms": 3481.399999976158,
      "timings": {
        "backend": "linto_streaming",
        "worker_queue_ms": 0.1732319942675531,
        "worker_decode_ms": 210.770508274436,
        "decode_count": 1,
        "prepare_ms": 30.293802032247186,
        "processed_audio_seconds": 9.992,
        "source_upload_ms": 8.253384032286704,
        "collection_ms": 9512,
        "silence_ms": 480,
        "vad_ms": 139.90000000596046,
        "file_lock_ms": 20.642756018787622,
        "http_exchange_ms": 461.4653979660943
      }
    },
    {
      "file": "batch-normal-ten-turbo.json",
      "fixture": "normal",
      "vad": "ten",
      "model": "turbo",
      "source_sha256": "868bd9ad6f771872625dd3e67ce65ac2d727376e1cc7c44e91aac86e5c340d5f",
      "phrase_source": {
        "start_sample": 4224,
        "end_sample": 481536,
        "last_speech_sample": 459264,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "5ee6e1f4c0e94d28b38c5e38943bca8c018003509c58af5e28f47949f58860a0",
        "samples": 477312
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 159104,
        "sha256": "026b46e48b5b730ebb0d1d835972df8650d903f745ad5ed8d64d6c0245285fc2"
      },
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 193.38484667241573,
      "total_ms": 5814.600000023842,
      "first_shown_ms": 5225.700000017881,
      "timings": {
        "backend": "streaming_worker",
        "worker_queue_ms": 0.7678369875065982,
        "worker_decode_ms": 193.38484667241573,
        "decode_count": 1,
        "prepare_ms": 29.104651999659836,
        "processed_audio_seconds": 9.944,
        "source_upload_ms": 3.172838012687862,
        "collection_ms": 9480,
        "silence_ms": 464,
        "vad_ms": 71.39999994635582,
        "worker_preparation_ms": 0.22261962294578552,
        "model_exchange_ms": 238.68951603071764,
        "upload_rpc_count": 1,
        "upload_packets": 5,
        "upload_pcm_bytes": 318208
      }
    },
    {
      "file": "batch-normal-ten-russian.json",
      "fixture": "normal",
      "vad": "ten",
      "model": "russian",
      "source_sha256": "868bd9ad6f771872625dd3e67ce65ac2d727376e1cc7c44e91aac86e5c340d5f",
      "phrase_source": {
        "start_sample": 4224,
        "end_sample": 481536,
        "last_speech_sample": 459264,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "5ee6e1f4c0e94d28b38c5e38943bca8c018003509c58af5e28f47949f58860a0",
        "samples": 477312
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 159104,
        "sha256": "026b46e48b5b730ebb0d1d835972df8650d903f745ad5ed8d64d6c0245285fc2"
      },
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 511.79999113082886,
      "total_ms": 4824.799999982119,
      "first_shown_ms": 4246.5,
      "timings": {
        "backend": "streaming_worker_russian",
        "worker_queue_ms": 0.13497105101123452,
        "worker_decode_ms": 511.79999113082886,
        "decode_count": 1,
        "prepare_ms": 26.518298021983355,
        "processed_audio_seconds": 9.944,
        "source_upload_ms": 2.466691948939115,
        "collection_ms": 9480,
        "silence_ms": 464,
        "vad_ms": 71.39999994635582,
        "worker_preparation_ms": 0.1999475061893463,
        "model_exchange_ms": 554.8573979758658,
        "upload_rpc_count": 1,
        "upload_packets": 5,
        "upload_pcm_bytes": 318208
      }
    },
    {
      "file": "batch-normal-ten-gigaam.json",
      "fixture": "normal",
      "vad": "ten",
      "model": "gigaam",
      "source_sha256": "868bd9ad6f771872625dd3e67ce65ac2d727376e1cc7c44e91aac86e5c340d5f",
      "phrase_source": {
        "start_sample": 4224,
        "end_sample": 481536,
        "last_speech_sample": 459264,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "5ee6e1f4c0e94d28b38c5e38943bca8c018003509c58af5e28f47949f58860a0",
        "samples": 477312
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 159104,
        "sha256": "026b46e48b5b730ebb0d1d835972df8650d903f745ad5ed8d64d6c0245285fc2"
      },
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 82.02906884253025,
      "total_ms": 4429.299999982119,
      "first_shown_ms": 3755.2999999821186,
      "timings": {
        "backend": "gigaam_v3",
        "worker_queue_ms": 0.13201095862314105,
        "worker_decode_ms": 82.02906884253025,
        "decode_count": 1,
        "prepare_ms": 21.46329201059416,
        "processed_audio_seconds": 9.944,
        "source_upload_ms": 2.5944440276362,
        "collection_ms": 9480,
        "silence_ms": 464,
        "vad_ms": 71.39999994635582,
        "worker_preparation_ms": 0.21452084183692932,
        "model_exchange_ms": 142.11319701280445,
        "upload_rpc_count": 1,
        "upload_packets": 5,
        "upload_pcm_bytes": 318208
      }
    },
    {
      "file": "batch-normal-ten-linto.json",
      "fixture": "normal",
      "vad": "ten",
      "model": "linto",
      "source_sha256": "868bd9ad6f771872625dd3e67ce65ac2d727376e1cc7c44e91aac86e5c340d5f",
      "phrase_source": {
        "start_sample": 4224,
        "end_sample": 481536,
        "last_speech_sample": 459264,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "5ee6e1f4c0e94d28b38c5e38943bca8c018003509c58af5e28f47949f58860a0",
        "samples": 477312
      },
      "model_input": null,
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 211.00523509085178,
      "total_ms": 4232.200000017881,
      "first_shown_ms": 3678.4000000059605,
      "timings": {
        "backend": "linto_streaming",
        "worker_queue_ms": 0.20932202460244298,
        "worker_decode_ms": 211.00523509085178,
        "decode_count": 1,
        "prepare_ms": 28.558416990563273,
        "processed_audio_seconds": 9.944,
        "source_upload_ms": 3.1147589907050133,
        "collection_ms": 9480,
        "silence_ms": 464,
        "vad_ms": 71.39999994635582,
        "file_lock_ms": 6.31649699062109,
        "http_exchange_ms": 453.85813899338245
      }
    },
    {
      "file": "batch-quiet-silero-turbo.json",
      "fixture": "quiet",
      "vad": "silero",
      "model": "turbo",
      "source_sha256": "0fb41f591d12a07e58a443671a4d81d6a436ca151c25d9bdb336c5c92df313ba",
      "phrase_source": {
        "start_sample": 4224,
        "end_sample": 482304,
        "last_speech_sample": 459264,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "42c03cc927939ed1cf21b70d96b8cd980383ac21bece05f4affd4fa23198e218",
        "samples": 478080
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 159360,
        "sha256": "2c44019686f2ea2008b28b10cb512074beb3731a6485b81dc1c82e79739c7255"
      },
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 196.74167409539223,
      "total_ms": 5435.5,
      "first_shown_ms": 4740.200000017881,
      "timings": {
        "backend": "streaming_worker",
        "worker_queue_ms": 0.1467120018787682,
        "worker_decode_ms": 196.74167409539223,
        "decode_count": 1,
        "prepare_ms": 28.97774998564273,
        "processed_audio_seconds": 9.96,
        "source_upload_ms": 2.8213050100021064,
        "collection_ms": 9480,
        "silence_ms": 480,
        "vad_ms": 135.0000001490116,
        "worker_preparation_ms": 0.7141642272472382,
        "model_exchange_ms": 241.05405702721328,
        "upload_rpc_count": 1,
        "upload_packets": 5,
        "upload_pcm_bytes": 318720
      }
    },
    {
      "file": "batch-quiet-silero-russian.json",
      "fixture": "quiet",
      "vad": "silero",
      "model": "russian",
      "source_sha256": "0fb41f591d12a07e58a443671a4d81d6a436ca151c25d9bdb336c5c92df313ba",
      "phrase_source": {
        "start_sample": 4224,
        "end_sample": 482304,
        "last_speech_sample": 459264,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "42c03cc927939ed1cf21b70d96b8cd980383ac21bece05f4affd4fa23198e218",
        "samples": 478080
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 159360,
        "sha256": "2c44019686f2ea2008b28b10cb512074beb3731a6485b81dc1c82e79739c7255"
      },
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 512.6041620969772,
      "total_ms": 6840.200000017881,
      "first_shown_ms": 6184.300000011921,
      "timings": {
        "backend": "streaming_worker_russian",
        "worker_queue_ms": 0.173971988260746,
        "worker_decode_ms": 512.6041620969772,
        "decode_count": 1,
        "prepare_ms": 27.304154995363206,
        "processed_audio_seconds": 9.96,
        "source_upload_ms": 3.1875590211711824,
        "collection_ms": 9480,
        "silence_ms": 480,
        "vad_ms": 135.0000001490116,
        "worker_preparation_ms": 0.19669346511363983,
        "model_exchange_ms": 555.473032000009,
        "upload_rpc_count": 1,
        "upload_packets": 5,
        "upload_pcm_bytes": 318720
      }
    },
    {
      "file": "batch-quiet-silero-gigaam.json",
      "fixture": "quiet",
      "vad": "silero",
      "model": "gigaam",
      "source_sha256": "0fb41f591d12a07e58a443671a4d81d6a436ca151c25d9bdb336c5c92df313ba",
      "phrase_source": {
        "start_sample": 4224,
        "end_sample": 482304,
        "last_speech_sample": 459264,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "42c03cc927939ed1cf21b70d96b8cd980383ac21bece05f4affd4fa23198e218",
        "samples": 478080
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 159360,
        "sha256": "2c44019686f2ea2008b28b10cb512074beb3731a6485b81dc1c82e79739c7255"
      },
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 220.75228579342365,
      "total_ms": 4799.700000017881,
      "first_shown_ms": 4199,
      "timings": {
        "backend": "gigaam_v3",
        "worker_queue_ms": 0.19155198242515326,
        "worker_decode_ms": 220.75228579342365,
        "decode_count": 1,
        "prepare_ms": 30.163371993694454,
        "processed_audio_seconds": 9.96,
        "source_upload_ms": 3.665423020720482,
        "collection_ms": 9480,
        "silence_ms": 480,
        "vad_ms": 135.0000001490116,
        "worker_preparation_ms": 0.19336119294166565,
        "model_exchange_ms": 266.62620599381626,
        "upload_rpc_count": 1,
        "upload_packets": 5,
        "upload_pcm_bytes": 318720
      }
    },
    {
      "file": "batch-quiet-silero-linto.json",
      "fixture": "quiet",
      "vad": "silero",
      "model": "linto",
      "source_sha256": "0fb41f591d12a07e58a443671a4d81d6a436ca151c25d9bdb336c5c92df313ba",
      "phrase_source": {
        "start_sample": 4224,
        "end_sample": 482304,
        "last_speech_sample": 459264,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "42c03cc927939ed1cf21b70d96b8cd980383ac21bece05f4affd4fa23198e218",
        "samples": 478080
      },
      "model_input": null,
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 214.6635837852955,
      "total_ms": 4120.300000011921,
      "first_shown_ms": 3504.2000000178814,
      "timings": {
        "backend": "linto_streaming",
        "worker_queue_ms": 0.13623200356960297,
        "worker_decode_ms": 214.6635837852955,
        "decode_count": 1,
        "prepare_ms": 23.21934897918254,
        "processed_audio_seconds": 9.96,
        "source_upload_ms": 2.5543730007484555,
        "collection_ms": 9480,
        "silence_ms": 480,
        "vad_ms": 135.0000001490116,
        "file_lock_ms": 8.553656982257962,
        "http_exchange_ms": 474.5993669494055
      }
    },
    {
      "file": "batch-quiet-ten-turbo.json",
      "fixture": "quiet",
      "vad": "ten",
      "model": "turbo",
      "source_sha256": "0fb41f591d12a07e58a443671a4d81d6a436ca151c25d9bdb336c5c92df313ba",
      "phrase_source": {
        "start_sample": 0,
        "end_sample": 483072,
        "last_speech_sample": 460800,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "e134323b96b6071cb0ffd72371b1d11388cc6c3e32f922c61a49825f39a7e98f",
        "samples": 483072
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 161024,
        "sha256": "2aa1fac0e4a3383995dffaaf5afe01d216d815ec0285c5774968abff52ba661c"
      },
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 194.15190629661083,
      "total_ms": 5614.0999999940395,
      "first_shown_ms": 4880.0999999940395,
      "timings": {
        "backend": "streaming_worker",
        "worker_queue_ms": 0.1494219759479165,
        "worker_decode_ms": 194.15190629661083,
        "decode_count": 1,
        "prepare_ms": 23.133777955081314,
        "processed_audio_seconds": 10.064,
        "source_upload_ms": 2.6150630437768996,
        "collection_ms": 9600,
        "silence_ms": 464,
        "vad_ms": 74.09999990463257,
        "worker_preparation_ms": 0.2004876732826233,
        "model_exchange_ms": 257.66087597003207,
        "upload_rpc_count": 1,
        "upload_packets": 5,
        "upload_pcm_bytes": 322048
      }
    },
    {
      "file": "batch-quiet-ten-russian.json",
      "fixture": "quiet",
      "vad": "ten",
      "model": "russian",
      "source_sha256": "0fb41f591d12a07e58a443671a4d81d6a436ca151c25d9bdb336c5c92df313ba",
      "phrase_source": {
        "start_sample": 0,
        "end_sample": 483072,
        "last_speech_sample": 460800,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "e134323b96b6071cb0ffd72371b1d11388cc6c3e32f922c61a49825f39a7e98f",
        "samples": 483072
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 161024,
        "sha256": "2aa1fac0e4a3383995dffaaf5afe01d216d815ec0285c5774968abff52ba661c"
      },
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 512.738797813654,
      "total_ms": 6203,
      "first_shown_ms": 5523.799999982119,
      "timings": {
        "backend": "streaming_worker_russian",
        "worker_queue_ms": 0.1612520427443087,
        "worker_decode_ms": 512.738797813654,
        "decode_count": 1,
        "prepare_ms": 19.551314995624125,
        "processed_audio_seconds": 10.064,
        "source_upload_ms": 2.688954002223909,
        "collection_ms": 9600,
        "silence_ms": 464,
        "vad_ms": 74.09999990463257,
        "worker_preparation_ms": 0.1942608505487442,
        "model_exchange_ms": 557.5098620029166,
        "upload_rpc_count": 1,
        "upload_packets": 5,
        "upload_pcm_bytes": 322048
      }
    },
    {
      "file": "batch-quiet-ten-gigaam.json",
      "fixture": "quiet",
      "vad": "ten",
      "model": "gigaam",
      "source_sha256": "0fb41f591d12a07e58a443671a4d81d6a436ca151c25d9bdb336c5c92df313ba",
      "phrase_source": {
        "start_sample": 0,
        "end_sample": 483072,
        "last_speech_sample": 460800,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "e134323b96b6071cb0ffd72371b1d11388cc6c3e32f922c61a49825f39a7e98f",
        "samples": 483072
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 161024,
        "sha256": "2aa1fac0e4a3383995dffaaf5afe01d216d815ec0285c5774968abff52ba661c"
      },
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 251.3385470956564,
      "total_ms": 5448.700000017881,
      "first_shown_ms": 4868.4000000059605,
      "timings": {
        "backend": "gigaam_v3",
        "worker_queue_ms": 0.20878296345472336,
        "worker_decode_ms": 251.3385470956564,
        "decode_count": 1,
        "prepare_ms": 23.0814769747667,
        "processed_audio_seconds": 10.064,
        "source_upload_ms": 3.2684390316717327,
        "collection_ms": 9600,
        "silence_ms": 464,
        "vad_ms": 74.09999990463257,
        "worker_preparation_ms": 0.18630735576152802,
        "model_exchange_ms": 295.3987449873239,
        "upload_rpc_count": 1,
        "upload_packets": 5,
        "upload_pcm_bytes": 322048
      }
    },
    {
      "file": "batch-quiet-ten-linto.json",
      "fixture": "quiet",
      "vad": "ten",
      "model": "linto",
      "source_sha256": "0fb41f591d12a07e58a443671a4d81d6a436ca151c25d9bdb336c5c92df313ba",
      "phrase_source": {
        "start_sample": 0,
        "end_sample": 483072,
        "last_speech_sample": 460800,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "e134323b96b6071cb0ffd72371b1d11388cc6c3e32f922c61a49825f39a7e98f",
        "samples": 483072
      },
      "model_input": null,
      "reference": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "text": "Здесь звук приходит короткими пакетами, но задержку ответа нельзя сводить к сети. Распознавание, сценарий и модель надо измерять отдельно.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 211.16558089852333,
      "total_ms": 4161,
      "first_shown_ms": 3566.0999999940395,
      "timings": {
        "backend": "linto_streaming",
        "worker_queue_ms": 0.19668199820443988,
        "worker_decode_ms": 211.16558089852333,
        "decode_count": 1,
        "prepare_ms": 33.067848009523004,
        "processed_audio_seconds": 10.064,
        "source_upload_ms": 4.511699953582138,
        "collection_ms": 9600,
        "silence_ms": 464,
        "vad_ms": 74.09999990463257,
        "file_lock_ms": 6.416758988052607,
        "http_exchange_ms": 463.0149219883606
      }
    },
    {
      "file": "batch-golos-silero-turbo.json",
      "fixture": "golos",
      "vad": "silero",
      "model": "turbo",
      "source_sha256": "634041be7fbf8a897f10487acb19ad8d105557fa0bc74d6df25f1c61b5134e13",
      "phrase_source": {
        "start_sample": 28800,
        "end_sample": 167424,
        "last_speech_sample": 144384,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "b8f195245f64e5eeb799c910047662e9ccfffc054012201cbd6d581a7ebf0a09",
        "samples": 138624
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 46208,
        "sha256": "2e381598a655cda1a0aab1f007bfba06a1fb5fb56dd1a7a6166dbdbcacf6c976"
      },
      "reference": "владимир иванович кучерук",
      "text": "Владимир Иванович Кучерук",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 151.1272769421339,
      "total_ms": 4192,
      "first_shown_ms": 3630.5999999940395,
      "timings": {
        "backend": "streaming_worker",
        "worker_queue_ms": 0.26791199343279004,
        "worker_decode_ms": 151.1272769421339,
        "decode_count": 1,
        "prepare_ms": 14.492800983134657,
        "processed_audio_seconds": 2.888,
        "source_upload_ms": 0.9264179971069098,
        "collection_ms": 2408,
        "silence_ms": 480,
        "vad_ms": 53.500000059604645,
        "worker_preparation_ms": 0.2564452588558197,
        "model_exchange_ms": 188.58031497802585,
        "upload_rpc_count": 1,
        "upload_packets": 3,
        "upload_pcm_bytes": 92416
      }
    },
    {
      "file": "batch-golos-silero-russian.json",
      "fixture": "golos",
      "vad": "silero",
      "model": "russian",
      "source_sha256": "634041be7fbf8a897f10487acb19ad8d105557fa0bc74d6df25f1c61b5134e13",
      "phrase_source": {
        "start_sample": 28800,
        "end_sample": 167424,
        "last_speech_sample": 144384,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "b8f195245f64e5eeb799c910047662e9ccfffc054012201cbd6d581a7ebf0a09",
        "samples": 138624
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 46208,
        "sha256": "2e381598a655cda1a0aab1f007bfba06a1fb5fb56dd1a7a6166dbdbcacf6c976"
      },
      "reference": "владимир иванович кучерук",
      "text": "Владимир Иванович Кучерук.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 251.54179334640503,
      "total_ms": 2640.300000011921,
      "first_shown_ms": 2121.5,
      "timings": {
        "backend": "streaming_worker_russian",
        "worker_queue_ms": 0.17593096708878875,
        "worker_decode_ms": 251.54179334640503,
        "decode_count": 1,
        "prepare_ms": 15.60427900403738,
        "processed_audio_seconds": 2.888,
        "source_upload_ms": 1.226151012815535,
        "collection_ms": 2408,
        "silence_ms": 480,
        "vad_ms": 53.500000059604645,
        "worker_preparation_ms": 0.11238828301429749,
        "model_exchange_ms": 276.0183700011112,
        "upload_rpc_count": 1,
        "upload_packets": 3,
        "upload_pcm_bytes": 92416
      }
    },
    {
      "file": "batch-golos-silero-gigaam.json",
      "fixture": "golos",
      "vad": "silero",
      "model": "gigaam",
      "source_sha256": "634041be7fbf8a897f10487acb19ad8d105557fa0bc74d6df25f1c61b5134e13",
      "phrase_source": {
        "start_sample": 28800,
        "end_sample": 167424,
        "last_speech_sample": 144384,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "b8f195245f64e5eeb799c910047662e9ccfffc054012201cbd6d581a7ebf0a09",
        "samples": 138624
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 46208,
        "sha256": "2e381598a655cda1a0aab1f007bfba06a1fb5fb56dd1a7a6166dbdbcacf6c976"
      },
      "reference": "владимир иванович кучерук",
      "text": "Владимир Иванович Кучерук.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 47.93964512646198,
      "total_ms": 2380.699999988079,
      "first_shown_ms": 1947.0999999940395,
      "timings": {
        "backend": "gigaam_v3",
        "worker_queue_ms": 0.16860099276527762,
        "worker_decode_ms": 47.93964512646198,
        "decode_count": 1,
        "prepare_ms": 8.163902966771275,
        "processed_audio_seconds": 2.888,
        "source_upload_ms": 1.2065499904565513,
        "collection_ms": 2408,
        "silence_ms": 480,
        "vad_ms": 53.500000059604645,
        "worker_preparation_ms": 0.1268181949853897,
        "model_exchange_ms": 72.84233602695167,
        "upload_rpc_count": 1,
        "upload_packets": 3,
        "upload_pcm_bytes": 92416
      }
    },
    {
      "file": "batch-golos-silero-linto.json",
      "fixture": "golos",
      "vad": "silero",
      "model": "linto",
      "source_sha256": "634041be7fbf8a897f10487acb19ad8d105557fa0bc74d6df25f1c61b5134e13",
      "phrase_source": {
        "start_sample": 28800,
        "end_sample": 167424,
        "last_speech_sample": 144384,
        "reason": "pause",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "b8f195245f64e5eeb799c910047662e9ccfffc054012201cbd6d581a7ebf0a09",
        "samples": 138624
      },
      "model_input": null,
      "reference": "владимир иванович кучерук",
      "text": "Владимир Иванович Кучерук",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 161.86269745230675,
      "total_ms": 2845.5999999940395,
      "first_shown_ms": 2194.300000011921,
      "timings": {
        "backend": "linto_streaming",
        "worker_queue_ms": 0.25338202249258757,
        "worker_decode_ms": 161.86269745230675,
        "decode_count": 1,
        "prepare_ms": 9.931068983860314,
        "processed_audio_seconds": 2.888,
        "source_upload_ms": 1.3557519996538758,
        "collection_ms": 2408,
        "silence_ms": 480,
        "vad_ms": 53.500000059604645,
        "file_lock_ms": 5.985012976452708,
        "http_exchange_ms": 285.78910999931395
      }
    },
    {
      "file": "batch-golos-ten-turbo.json",
      "fixture": "golos",
      "vad": "ten",
      "model": "turbo",
      "source_sha256": "634041be7fbf8a897f10487acb19ad8d105557fa0bc74d6df25f1c61b5134e13",
      "phrase_source": {
        "start_sample": 28800,
        "end_sample": 170508,
        "last_speech_sample": 168960,
        "reason": "mute",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "349b036b82034caa8218bebba2f94f196b8dfa7aba967db733f7760d1e91b125",
        "samples": 141708
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 47236,
        "sha256": "8c18524c4dc7ff7578a19b67f9b57c43d513cb9821da0deea4bec5de927d292e"
      },
      "reference": "владимир иванович кучерук",
      "text": "Владимир Иванович Кучерук",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 151.40656754374504,
      "total_ms": 3429.5999999940395,
      "first_shown_ms": 2845.699999988079,
      "timings": {
        "backend": "streaming_worker",
        "worker_queue_ms": 0.14849199214950204,
        "worker_decode_ms": 151.40656754374504,
        "decode_count": 1,
        "prepare_ms": 15.115127025637776,
        "processed_audio_seconds": 2.95225,
        "source_upload_ms": 0.9632490109652281,
        "collection_ms": 2920,
        "silence_ms": 32.25,
        "vad_ms": 22.09999993443489,
        "worker_preparation_ms": 0.11643394827842712,
        "model_exchange_ms": 172.95716499211267,
        "upload_rpc_count": 1,
        "upload_packets": 3,
        "upload_pcm_bytes": 94472
      }
    },
    {
      "file": "batch-golos-ten-russian.json",
      "fixture": "golos",
      "vad": "ten",
      "model": "russian",
      "source_sha256": "634041be7fbf8a897f10487acb19ad8d105557fa0bc74d6df25f1c61b5134e13",
      "phrase_source": {
        "start_sample": 28800,
        "end_sample": 170508,
        "last_speech_sample": 168960,
        "reason": "mute",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "349b036b82034caa8218bebba2f94f196b8dfa7aba967db733f7760d1e91b125",
        "samples": 141708
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 47236,
        "sha256": "8c18524c4dc7ff7578a19b67f9b57c43d513cb9821da0deea4bec5de927d292e"
      },
      "reference": "владимир иванович кучерук",
      "text": "Владимир Иванович Кучерук.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 252.0171757787466,
      "total_ms": 3304.5999999940395,
      "first_shown_ms": 2673.9000000059605,
      "timings": {
        "backend": "streaming_worker_russian",
        "worker_queue_ms": 0.2220009919255972,
        "worker_decode_ms": 252.0171757787466,
        "decode_count": 1,
        "prepare_ms": 9.637605980969965,
        "processed_audio_seconds": 2.95225,
        "source_upload_ms": 0.8432490285485983,
        "collection_ms": 2920,
        "silence_ms": 32.25,
        "vad_ms": 22.09999993443489,
        "worker_preparation_ms": 0.11217966675758362,
        "model_exchange_ms": 272.6258710026741,
        "upload_rpc_count": 1,
        "upload_packets": 3,
        "upload_pcm_bytes": 94472
      }
    },
    {
      "file": "batch-golos-ten-gigaam.json",
      "fixture": "golos",
      "vad": "ten",
      "model": "gigaam",
      "source_sha256": "634041be7fbf8a897f10487acb19ad8d105557fa0bc74d6df25f1c61b5134e13",
      "phrase_source": {
        "start_sample": 28800,
        "end_sample": 170508,
        "last_speech_sample": 168960,
        "reason": "mute",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "349b036b82034caa8218bebba2f94f196b8dfa7aba967db733f7760d1e91b125",
        "samples": 141708
      },
      "model_input": {
        "sample_rate": 16000,
        "format": "float32le",
        "samples": 47236,
        "sha256": "8c18524c4dc7ff7578a19b67f9b57c43d513cb9821da0deea4bec5de927d292e"
      },
      "reference": "владимир иванович кучерук",
      "text": "Владимир Иванович Кучерук.",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 46.64400592446327,
      "total_ms": 2415.100000023842,
      "first_shown_ms": 1909.5,
      "timings": {
        "backend": "gigaam_v3",
        "worker_queue_ms": 0.1955410116352141,
        "worker_decode_ms": 46.64400592446327,
        "decode_count": 1,
        "prepare_ms": 13.673762965481728,
        "processed_audio_seconds": 2.95225,
        "source_upload_ms": 0.7070159772410989,
        "collection_ms": 2920,
        "silence_ms": 32.25,
        "vad_ms": 22.09999993443489,
        "worker_preparation_ms": 0.11307932436466217,
        "model_exchange_ms": 69.17449203319848,
        "upload_rpc_count": 1,
        "upload_packets": 3,
        "upload_pcm_bytes": 94472
      }
    },
    {
      "file": "batch-golos-ten-linto.json",
      "fixture": "golos",
      "vad": "ten",
      "model": "linto",
      "source_sha256": "634041be7fbf8a897f10487acb19ad8d105557fa0bc74d6df25f1c61b5134e13",
      "phrase_source": {
        "start_sample": 28800,
        "end_sample": 170508,
        "last_speech_sample": 168960,
        "reason": "mute",
        "sample_rate": 48000,
        "format": "pcm16le",
        "channels": 1,
        "pcm_sha256": "349b036b82034caa8218bebba2f94f196b8dfa7aba967db733f7760d1e91b125",
        "samples": 141708
      },
      "model_input": null,
      "reference": "владимир иванович кучерук",
      "text": "Владимир Иванович Кучерук",
      "wer": 0.0,
      "cer": 0.0,
      "native_ms": 162.1211264282465,
      "total_ms": 2674.300000011921,
      "first_shown_ms": 2203.800000011921,
      "timings": {
        "backend": "linto_streaming",
        "worker_queue_ms": 0.14085101429373026,
        "worker_decode_ms": 162.1211264282465,
        "decode_count": 1,
        "prepare_ms": 14.329997997265309,
        "processed_audio_seconds": 2.95225,
        "source_upload_ms": 0.9688290301710367,
        "collection_ms": 2920,
        "silence_ms": 32.25,
        "vad_ms": 22.09999993443489,
        "file_lock_ms": 6.301497051026672,
        "http_exchange_ms": 313.10793495504186
      }
    }
  ],
  "summary": {
    "runs": 24,
    "identical_phrase_pcm_across_four_models": true,
    "identical_16k_model_input_across_worker_models": true,
    "linto_model_input_hash": "not returned; common source PCM verified",
    "max_wer": 0.0,
    "max_cer": 0.0,
    "native_median_ms": {
      "turbo": 193.76234710216522,
      "russian": 511.94833125919104,
      "gigaam": 151.39067731797695,
      "linto": 210.8878716826439
    },
    "limitations": [
      "Three control recordings; not a general-language accuracy benchmark",
      "Offline Compare timing includes VAD warmup and upload, not physical-microphone endpoint latency"
    ]
  }
}
