Общий индекс · снимок 40cb7a4624ad · native export

voice — Complete Call Flow & Architecture Documentation

Generated from graphify knowledge graph: 1349 nodes, 4280 edges, 1 communities. Commit: unknown

1. Architecture Overview

%%{init: {"theme": "dark", "themeVariables": {"fontSize": "15.0px", "fontFamily": "Segoe UI, system-ui, sans-serif", "primaryColor": "#1e293b", "primaryTextColor": "#e2e8f0", "primaryBorderColor": "#38bdf8", "secondaryColor": "#0f172a", "tertiaryColor": "#334155", "lineColor": "#64748b", "textColor": "#e2e8f0"}, "flowchart": {"htmlLabels": true, "curve": "basis", "nodeSpacing": 48, "rankSpacing": 64, "padding": 14, "diagramPadding": 10, "useMaxWidth": true}}}%% flowchart LR BUILD_GRAPH_321CBB04("Graph Build
1349 nodes") class BUILD_GRAPH_321CBB04 module; classDef entry fill:#422006,stroke:#fbbf24,color:#fde68a,stroke-width:1px; classDef api fill:#450a0a,stroke:#f87171,color:#fee2e2,stroke-width:1px; classDef async fill:#2e1065,stroke:#a78bfa,color:#ede9fe,stroke-width:1px; classDef klass fill:#064e3b,stroke:#34d399,color:#d1fae5,stroke-width:1px; classDef ui fill:#831843,stroke:#f472b6,color:#fce7f3,stroke-width:1px; classDef module fill:#172554,stroke:#60a5fa,color:#dbeafe,stroke-width:1px; classDef test fill:#3f3f46,stroke:#a1a1aa,color:#f4f4f5,stroke-width:1px; classDef concept fill:#292524,stroke:#a8a29e,color:#fafaf9,stroke-dasharray:4 3; classDef function fill:#0f172a,stroke:#38bdf8,color:#e0f2fe,stroke-width:1px;

Architecture Layers

LayerNodesCommunities
Graph Build1349unknown

Core Flow

Graph Build

2. Graph Build

Graph Build groups implementation around webui, test, tests, static, mostly in tests/test_diarization.py, src/webui/file_mode.py, webui/static/app.js. This section covers 1349 nodes and 4280 internal edges; the diagram shows only representative relationships to stay readable.

%%{init: {"theme": "dark", "themeVariables": {"fontSize": "15.0px", "fontFamily": "Segoe UI, system-ui, sans-serif", "primaryColor": "#1e293b", "primaryTextColor": "#e2e8f0", "primaryBorderColor": "#38bdf8", "secondaryColor": "#0f172a", "tertiaryColor": "#334155", "lineColor": "#64748b", "textColor": "#e2e8f0"}, "flowchart": {"htmlLabels": true, "curve": "basis", "nodeSpacing": 48, "rankSpacing": 64, "padding": 14, "diagramPadding": 10, "useMaxWidth": true}}}%% flowchart LR %% Section: Graph Build (1349 nodes, 4280 edges) subgraph build_graph_docker_build_images_sh_d1fa366f["docker/build-images.sh"] voice_docker_build_images_sh_entry_0ecad171("build-images.sh script
docker/build-images.sh") voice_docker_build_images_has_build_targets_dc694092("has_build_targets()
docker/build-images.sh") voice_docker_build_images_has_pyannote_base_targ_2bb13548("has_pyannote_base_target()
docker/build-images.sh") voice_docker_build_images_drop_pyannote_base_tar_f0fc09cf("drop_pyannote_base_target()
docker/build-images.sh") end subgraph build_graph_External_generated_653891f5["External / generated"] voice_argparse_5713791a("argparse") voice_subprocess_ff959319("subprocess") voice_numpy_6437e25c("numpy") end subgraph build_graph_scripts_benchmark_streaming_asr_py_d49e36af["scripts/benchmark-streaming-asr.py"] voice_scripts_benchmark_streaming_asr_main_0e3053d8("main()
scripts/benchmark-streaming-asr.py") voice_scripts_benchmark_streaming_asr_word_error_3ff21a52("word_error()
scripts/benchmark-streaming-asr.py") end subgraph build_graph_src_stt_whisper_to_nats_py_af49ab94["src/stt_whisper_to_nats.py"] voice_src_stt_whisper_to_nats_c8363194("stt_whisper_to_nats.py") voice_src_stt_whisper_to_nats_filejobworkerservi_dc6da19a("_process_job()
src/stt_whisper_to_nats.py") end voice_src_streaming_asr_vad_segmenter_105f8b95("Segmenter
src/streaming_asr/vad.py") voice_src_streaming_asr_worker_decoder_dae4e424("Decoder
src/streaming_asr/worker.py") voice_src_utils_silero_onnx_vad_sileroonnxvad_0759ffee("SileroOnnxVAD
src/utils/silero_onnx_vad.py") voice_src_webui_server_924f4290("server.py") voice_src_webui_staged_jobs_be4a3261("staged_jobs.py") voice_tests_test_diarization_5d2820f8("test_diarization.py") voice_tests_test_model_transport_modeltransportt_38f3cda7("ModelTransportTests
tests/test_model_transport.py") voice_docker_build_images_sh_entry_0ecad171 -->|calls| voice_docker_build_images_has_build_targets_dc694092 voice_docker_build_images_sh_entry_0ecad171 -->|calls| voice_docker_build_images_has_pyannote_base_targ_2bb13548 voice_docker_build_images_sh_entry_0ecad171 -->|calls| voice_docker_build_images_drop_pyannote_base_tar_f0fc09cf voice_scripts_benchmark_streaming_asr_main_0e3053d8 -->|calls| voice_scripts_benchmark_streaming_asr_word_error_3ff21a52 voice_scripts_benchmark_streaming_asr_main_0e3053d8 -->|calls| voice_src_streaming_asr_vad_segmenter_105f8b95 voice_scripts_benchmark_streaming_asr_main_0e3053d8 -->|calls| voice_src_utils_silero_onnx_vad_sileroonnxvad_0759ffee voice_scripts_benchmark_streaming_asr_main_0e3053d8 -->|calls| voice_src_streaming_asr_worker_decoder_dae4e424 voice_scripts_benchmark_streaming_asr_main_0e3053d8 -->|calls| voice_argparse_5713791a voice_scripts_benchmark_streaming_asr_main_0e3053d8 -->|calls| voice_subprocess_ff959319 voice_scripts_benchmark_streaming_asr_main_0e3053d8 -->|calls| voice_numpy_6437e25c voice_src_stt_whisper_to_nats_c8363194 -->|imports| voice_numpy_6437e25c voice_src_stt_whisper_to_nats_c8363194 -->|imports| voice_src_utils_silero_onnx_vad_sileroonnxvad_0759ffee voice_tests_test_diarization_5d2820f8 -->|imports| voice_src_webui_server_924f4290 voice_tests_test_diarization_5d2820f8 -->|imports| voice_src_webui_staged_jobs_be4a3261 voice_tests_test_diarization_5d2820f8 -->|imports| voice_src_stt_whisper_to_nats_c8363194 %% Omitted for readability: 1331 nodes, 0 edges class voice_docker_build_images_sh_entry_0ecad171 function; class voice_docker_build_images_has_build_targets_dc694092 function; class voice_docker_build_images_has_pyannote_base_targ_2bb13548 function; class voice_docker_build_images_drop_pyannote_base_tar_f0fc09cf function; class voice_argparse_5713791a function; class voice_subprocess_ff959319 function; class voice_numpy_6437e25c function; class voice_scripts_benchmark_streaming_asr_main_0e3053d8 function; class voice_scripts_benchmark_streaming_asr_word_error_3ff21a52 function; class voice_src_stt_whisper_to_nats_c8363194 module; class voice_src_stt_whisper_to_nats_filejobworkerservi_dc6da19a function; class voice_src_streaming_asr_vad_segmenter_105f8b95 klass; class voice_src_streaming_asr_worker_decoder_dae4e424 klass; class voice_src_utils_silero_onnx_vad_sileroonnxvad_0759ffee klass; class voice_src_webui_server_924f4290 module; class voice_src_webui_staged_jobs_be4a3261 module; class voice_tests_test_diarization_5d2820f8 test; class voice_tests_test_model_transport_modeltransportt_38f3cda7 test; classDef entry fill:#422006,stroke:#fbbf24,color:#fde68a,stroke-width:1px; classDef api fill:#450a0a,stroke:#f87171,color:#fee2e2,stroke-width:1px; classDef async fill:#2e1065,stroke:#a78bfa,color:#ede9fe,stroke-width:1px; classDef klass fill:#064e3b,stroke:#34d399,color:#d1fae5,stroke-width:1px; classDef ui fill:#831843,stroke:#f472b6,color:#fce7f3,stroke-width:1px; classDef module fill:#172554,stroke:#60a5fa,color:#dbeafe,stroke-width:1px; classDef test fill:#3f3f46,stroke:#a1a1aa,color:#f4f4f5,stroke-width:1px; classDef concept fill:#292524,stroke:#a8a29e,color:#fafaf9,stroke-dasharray:4 3; classDef function fill:#0f172a,stroke:#38bdf8,color:#e0f2fe,stroke-width:1px;

Call Details

# Node Type Caller Callees Description
1 build-images.sh
docker/build-images.sh
Function External entry / no inbound edge No direct outbound edge build-images.sh node in docker/build-images.sh.
2 build-images.sh script
docker/build-images.sh
Function External entry / no inbound edge drop_pyannote_base_target()
docker/build-images.sh
has_build_targets()
docker/build-images.sh
has_pyannote_base_target()
docker/build-images.sh
build-images.sh script node in docker/build-images.sh.
3 REGISTRY_HOST
docker/build-images.sh
Class External entry / no inbound edge No direct outbound edge REGISTRY_HOST node in docker/build-images.sh.
4 PYANNOTE_BASE_TAG
docker/build-images.sh
Class External entry / no inbound edge No direct outbound edge PYANNOTE_BASE_TAG node in docker/build-images.sh.
5 OTEL_RESOURCE_ATTRIBUTES
docker/build-images.sh
Class External entry / no inbound edge No direct outbound edge OTEL_RESOURCE_ATTRIBUTES node in docker/build-images.sh.
6 has_build_targets()
docker/build-images.sh
Function build-images.sh script
docker/build-images.sh
No direct outbound edge has_build_targets() node in docker/build-images.sh.
7 has_pyannote_base_target()
docker/build-images.sh
Function build-images.sh script
docker/build-images.sh
No direct outbound edge has_pyannote_base_target() node in docker/build-images.sh.
8 drop_pyannote_base_target()
docker/build-images.sh
Function build-images.sh script
docker/build-images.sh
No direct outbound edge drop_pyannote_base_target() node in docker/build-images.sh.
9 benchmark-streaming-asr.py
scripts/benchmark-streaming-asr.py
Async External entry / no inbound edge argparse
asyncio
Decoder
src/streaming_asr/worker.py
+11 more
Module file in scripts/benchmark-streaming-asr.py.
10 word_error()
scripts/benchmark-streaming-asr.py
Function main()
scripts/benchmark-streaming-asr.py
No direct outbound edge word_error() node in scripts/benchmark-streaming-asr.py.
11 main()
scripts/benchmark-streaming-asr.py
Function External entry / no inbound edge argparse
Decoder
src/streaming_asr/worker.py
feed()
src/streaming_asr/vad.py
+7 more
main() node in scripts/benchmark-streaming-asr.py.
12 Offline accuracy/RTF probe. This does not pretend to measure a live H100 path.
scripts/benchmark-streaming-asr.py
Concept External entry / no inbound edge No direct outbound edge Design note for Offline accuracy/RTF probe. This does not pretend to measure a live H100 path..
13 check-streaming-noise.py
scripts/check-streaming-noise.py
Async External entry / no inbound edge argparse
Decoder
src/streaming_asr/worker.py
json
+9 more
Module file in scripts/check-streaming-noise.py.
14 noises()
scripts/check-streaming-noise.py
Function main()
scripts/check-streaming-noise.py
numpy noises() node in scripts/check-streaming-noise.py.
15 read_audio()
scripts/check-streaming-noise.py
Function main()
scripts/check-streaming-noise.py
numpy
subprocess
read_audio() node in scripts/check-streaming-noise.py.
16 main()
scripts/check-streaming-noise.py
Function External entry / no inbound edge argparse
Decoder
src/streaming_asr/worker.py
fork()
src/utils/silero_onnx_vad.py
+8 more
main() node in scripts/check-streaming-noise.py.
17 measured()
scripts/check-streaming-noise.py
Function main()
scripts/check-streaming-noise.py
No direct outbound edge measured() node in scripts/check-streaming-noise.py.
18 Opt-in real Silero/decoder controls. Synthetic noises contain no speech.
scripts/check-streaming-noise.py
Concept External entry / no inbound edge No direct outbound edge Design note for Opt-in real Silero/decoder controls. Synthetic noises contain no speech..
19 probe-streaming-asr.py
scripts/probe-streaming-asr.py
Async External entry / no inbound edge argparse
asyncio
json
+10 more
Module file in scripts/probe-streaming-asr.py.
20 run()
scripts/probe-streaming-asr.py
Function main()
scripts/probe-streaming-asr.py
pack()
src/streaming_asr/protocol.py
receive()
scripts/probe-streaming-asr.py
run() node in scripts/probe-streaming-asr.py.
21 receive()
scripts/probe-streaming-asr.py
Function run()
scripts/probe-streaming-asr.py
No direct outbound edge receive() node in scripts/probe-streaming-asr.py.
22 main()
scripts/probe-streaming-asr.py
Function External entry / no inbound edge run()
scripts/probe-streaming-asr.py
main() node in scripts/probe-streaming-asr.py.
23 Send a paced file probe through bridge + GPU without creating an agent turn.
scripts/probe-streaming-asr.py
Concept External entry / no inbound edge No direct outbound edge Design note for Send a paced file probe through bridge + GPU without creating an agent turn..
24 src/__init__.py
src/__init__.py
Module External entry / no inbound edge No direct outbound edge Module file in src/__init__.py.
25 diarization.py
src/diarization.py
Module diarization_syntax.py
src/diarization_syntax.py
staged_jobs.py
src/webui/staged_jobs.py
stt_whisper_to_nats.py
src/stt_whisper_to_nats.py
+2 more
aiohttp
asyncio
dataclasses
+10 more
Module file in src/diarization.py.
26 DiarizationSegment
src/diarization.py
Class _extract_segments()
src/diarization.py
DiarizationHelpersTest
tests/test_diarization.py
test_attribute_words_prefers_midpoint_then_overlap()
tests/test_diarization.py
+1 more
No direct outbound edge DiarizationSegment node in src/diarization.py.
27 DiarizationResult
src/diarization.py
Class parse_diarization_result()
src/diarization.py
No direct outbound edge DiarizationResult node in src/diarization.py.
28 AttributedWord
src/diarization.py
Class _has_lexical_words()
src/diarization_syntax.py
_sentence_owner()
src/diarization_syntax.py
_split_sentences()
src/diarization_syntax.py
+5 more
No direct outbound edge AttributedWord node in src/diarization.py.
29 SpeakerTurn
src/diarization.py
Class build_speaker_turns()
src/diarization.py
diarization_syntax.py
src/diarization_syntax.py
SyntaxPostprocessResult
src/diarization_syntax.py
No direct outbound edge SpeakerTurn node in src/diarization.py.
30 parse_diarization_result()
src/diarization.py
Function _process_job()
src/stt_whisper_to_nats.py
_run_combine()
src/webui/staged_jobs.py
_run_diarize()
src/webui/staged_jobs.py
+4 more
_coerce_float()
src/diarization.py
_extract_segments()
src/diarization.py
_extract_speakers()
src/diarization.py
+1 more
parse_diarization_result() node in src/diarization.py.

Key Files

FileCoverage
tests/test_diarization.py123 nodes
src/webui/file_mode.py104 nodes
webui/static/app.js101 nodes
webui/static/staged_app.js101 nodes
src/pyannote_diarization_server.py64 nodes
tests/test_streaming_asr.py59 nodes
src/stt_whisper_to_nats.py56 nodes
src/webui/diagnostics.py53 nodes

Design Notes

This section comes from graphify community clustering. Relationship summary: calls x1900, contains x700, method x458, imports x404. The diagram prioritizes high-confidence calls or usage relationships; the table keeps the broader node inventory.


Project Statistics

Graph

Nodes1349
Edges4280
Hyperedges0
Communities1
Documented Sections1

Edge Confidence

EXTRACTED3866
INFERRED414
AMBIGUOUS0

voice — Architecture Documentation

Generated: 2026-10-08 11:59 UTC · graphify callflow-html