How voicekit-team/t-one works
T-one is a Russian telephony-focused streaming CTC speech-recognition product. Its principal workflow accepts audio chunks, computes acoustic log-probabilities, splits them into phrases at silence boundaries, decodes phrase text, and returns text with timings. The graph also preserves the documented browser demo, Triton export/inference, and fine-tuning capabilities. Runtime wiring is based on the supplied excerpts and README; unsampled implementations are represented only where the tree supports a path.
Main entry points: pipeline.py Streaming pipeline · decoder.py CTC decoders · website.py Browser demo service · model.py Streaming acoustic model
Components 23
Streaming recognition
- Streaming pipeline
tone/pipeline.py - Phrase splitter
tone/logprob_splitter.py - CTC decoders
tone/decoder.py
Acoustic model
- Streaming acoustic model
tone/nn/model.py - Conformer encoder
tone/nn/modules/conformer.py - Conformer blocks
tone/nn/modules/conformer_blocks.py - Model submodules
tone/nn/modules/submodules.py
Serving and export
- Audio reader
tone/demo/read_audio.py - Browser demo service
tone/demo/website.py - Model export
tone/scripts/export.py - ONNX wrapper
tone/onnx_wrapper.py - Triton model configs
configs/streaming_acoustic/config.pbtxt - TensorRT model config
configs/streaming_acoustic_trt/config.pbtxt
Fine-tuning
- Fine-tuning model wrapper
tone/training/model_wrapper.py - CTC data collator
tone/training/data_collator.py
Other components
- Audio client
- Timed phrases
- Audio files or microphone
- Browser UI
tone/demo/static/index.html - Hugging Face Hub
- KenLM language model
- Triton inference server
- Training data
Connections 25
- Audio files or microphone → Audio reader: decodes audio
- Audio reader → Streaming pipeline: yields chunks
- Audio client → Streaming pipeline: streams chunks
- Streaming pipeline → Streaming acoustic model: infers log-probs
- Streaming acoustic model → Conformer encoder: encodes features
- Conformer encoder → Conformer blocks: applies layers
- Conformer blocks → Model submodules: uses primitives
- Streaming pipeline → Phrase splitter: splits log-probs
- Streaming pipeline → CTC decoders: decodes phrases
- CTC decoders → Timed phrases: produces text
- Streaming pipeline → Timed phrases: returns timings
- Browser demo service → Streaming pipeline: processes chunks
- Browser UI → Browser demo service: streams audio
- Browser demo service → Browser UI: sends transcripts
- Browser demo service → Hugging Face Hub: loads model
- CTC decoders → Hugging Face Hub: downloads decoder
- CTC decoders → KenLM language model: scores candidates
- Model export → Streaming acoustic model: exports model
- Model export → ONNX wrapper: uses wrapper
- Triton inference server → Triton model configs: loads config
- Triton inference server → TensorRT model config: loads config
- Triton inference server → ONNX wrapper: runs inference
- Fine-tuning model wrapper → Streaming acoustic model: wraps model
- CTC data collator → Training data: pads batches
- Fine-tuning model wrapper → CTC data collator: trains with batches