Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
RustPBX: 도매 VoIP, 콜센터, 기업 전화용 오픈소스 Rust 소프트스위치 — 지능형 라우팅, 실시간 청구, AI 음성, 완전 가시성
RustPBX: an open-source Rust softswitch for wholesale VoIP, contact centers and enterprise telephony — intelligent routing, real-time billing, AI voice, full observability.
비즈니스Rust · PythonGitHub @miuda-ai온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Bare-Metal Rust Audio AI Framework
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗lele is a standalone, dependency-free inference engine for ONNX models, built from scratch in pure Rust.
It rejects the "general-purpose runtime" approach (wrapping C++ libs like ORT or using heavy Torch ports) in favor of AOT compilation — converting ONNX graphs into specialized Rust source code with hand-crafted, domain-specific kernels.
lele runs real-world models across speech, vision, and text-to-speech — all in pure Rust, on CPU, with zero runtime dependencies:
| Domain | Model | Task |
|---|---|---|
| ASR | SenseVoice Small | Multilingual speech recognition (INT8 quantized) |
| VAD | Silero VAD | Voice activity detection (streaming) |
| TTS | Supertonic 2 / 3 | Text-to-speech (5 / 31 languages, expression tags) |
| TTS | Hojo-TTS-Light | Bilingual ZH/EN voice-cloning TTS (0.08B Token-LM) |
| TTS | MOSS-TTS-Nano | End-to-end neural TTS (SDOT int8 GEMV) |
| Vision | Yolo26 | Real-time object detection |
| Vision | Yolo26n-Seg | Instance segmentation |
| OCR | PP-OCRv6_tiny | End-to-end text recognition (DET + REC) |
All of the above also run in the browser via WebAssembly.
Single-threaded comparison against ONNX Runtime (CPU) on macOS (Apple Silicon). ORT configured with intra_op_num_threads=1, inter_op_num_threads=1. Speech models use steady-state RTF (warmup + multi-run average).
| Model | ORT | lele | Speedup |
|---|---|---|---|
| Silero VAD | RTF 0.002882 | RTF 0.0022 | 1.31x |
| SenseVoice | RTF 0.0294 | RTF 0.0256 | 1.15x |
| Supertonic 2 | RTF 0.1667 | RTF 0.0550 | 3.03x |
| Supertonic 3 | — | RTF 0.1585 | — |
| Yolo26 | 704.50 ms | 534.97 ms | 1.32x |
| Yolo26n-Seg | 126.51 ms | 64.82 ms | 1.95x |
| Hojo-TTS-Light | RTF 8.75 | RTF 6.69 | 1.31x |
| MOSS-TTS-Nano | RTF 0.376 | RTF 0.293 | 1.28x |
| PP-OCRv6 DET | 47.78 ms | 46.83 ms | 1.02x |
| PP-OCRv6 REC | 2.94 ms/region | 2.33 ms/region | 1.26x |
PP-OCRv6 uses NEON depthwise convolution (4-accumulator FMA, vld2q stride-2), GELU fusion, Conv+Add(bias) fusion, and NEON reduce_mean for SE blocks. Hojo-TTS-Light is a 3-stage pipeline (encoder → AR-LLM → decoder); lele uses a custom KV-cache for the AR loop. MOSS-TTS-Nano uses SDOT int8 GEMV (137 GFLOPS on Apple M2 Pro NEON).
lele is not an interpreter. It compiles ONNX graphs into Rust source code at build time:
layer_norm callgelu callconv2d_siluThe Compiler builder lets you customize code generation for any model:
use lele::compiler::Compiler;
let compiler = Compiler::new()
.with_name("MyModel") // Set generated struct name
.with_default_optimizations() // Load fusion patterns + helper methods
.with_constant_folding(true) // Enable compile-time folding
.with_override("MyCustomOp", |node, inputs, outputs, buf, w, indent| {
// Generate custom Rust code for any operator
Ok(())
})
.with_pattern("MyFusion", my_matcher, my_generator); // Custom fusion
The compiler feature is optional (default = ["compiler"]). For deployment, you can depend on lele with default-features = false and ship only the generated Rust code + weights binary — no protobuf parser, no ONNX dependency, no overhead.
vld2q stride-2 decimation), per-channel broadcast add/mul for SE blocks, NEON reduce_mean, and SDOT/I8MM int8 GEMV for quantized inference.f32x4 4× blocking, SIMD activations.cblas_sgemm FFI for AMX-accelerated GEMM.Built-in DSP frontend for speech models:
SenseVoiceFrontend — scale → pre-emphasis → Hann window → FFT → mel → log → LFRlele compiles to WASM and runs ML inference directly in the browser with no server required.
The web demo includes ASR, TTS, object detection, and instance segmentation — all client-side.
| Optimization | Impact |
|---|---|
| WASM SIMD128 | Tiled matmul with f32x4 (4x unroll) |
| Optimized Activations | SIMD paths for tanh/sigmoid/relu/silu |
| Release Settings | opt-level=3, lto=true, codegen-units=1, panic="abort" |
| Post-Processing | wasm-opt -O3 for 5-15% size/speed gains |
cd examples/web-demo
./build_wasm.sh
python3 -m http.server 8080 -d web
# Open http://localhost:8080
See examples/web-demo/README.md for details.
60+ operators across all categories:
Silu is available as a fused pattern (Sigmoid→Mul). GELU is fused via compiler pattern (Div→Erf→Add→Mul→Mul).
cargoConvert an ONNX model into Rust source code:
cargo run --release --bin lele_gen -- <model.onnx> <output.rs>
This produces <output.rs> (the model code) and <output>_weights.bin (the weights).
lele-build)For a seamless build workflow, use the lele-build crate in your build.rs. It supports model download from Hugging Face Hub, URL, or local path, with caching and automatic regeneration:
# model.toml
[model]
source = "hf-hub"
repo = "your-org/your-model"
files = [{ file = "model.onnx" }]
[codegen]
class_name = "MyModel"
// build.rs
use lele_build::{config::ModelConfig, *};
fn main() {
let cfg = ModelConfig::load("model.toml").unwrap();
if need_regenerate_with_model("MyModel", "src/gen", "model.toml", None) {
// Download + generate
}
}
Set HF_ENDPOINT to use a mirror. Set LELE_SKIP_MODEL_GEN=1 to skip generation. If download fails, a compiling stub is generated so cargo build always succeeds.
./run_sensevoice.sh # SenseVoice ASR
./run_silero.sh # Silero VAD
./run_supertonic.sh # Supertonic 2 TTS (5 languages)
./run_supertonic3.sh # Supertonic 3 TTS (31 languages)
./run_yolo26.sh # Yolo26 object detection
./run_yolo26n_seg.sh # Yolo26n-Seg instance segmentation
./run_hojo_tts.sh "text" # Hojo-TTS-Light voice cloning
cd examples/moss-tts-nano && cargo run --release -- "text" # MOSS-TTS-Nano
cd examples/ppocr && cargo run --release -- image.png # PP-OCRv6 OCR
| Model | Type | Details |
|---|---|---|
| SenseVoiceSmall | ASR | Multilingual speech recognition |
| Silero VAD | VAD | Streaming voice activity detection |
| Supertonic 2 | TTS | 5 languages |
| Supertonic 3 | TTS | 31 languages, expression tags (<laugh>, <breath>, <sigh>) |
| Hojo-TTS-Light | TTS | 0.08B bilingual ZH/EN, voice cloning (encoder → AR-LLM → decoder) |
| MOSS-TTS-Nano | TTS | End-to-end neural TTS with int8 GEMV |
| Yolo26 | Vision | Real-time object detection |
| Yolo26n-Seg | Vision | Instance segmentation |
| PP-OCRv6_tiny | OCR | End-to-end text recognition (DET + REC pipeline) |
ONNX Model
│
▼
┌──────────────┐ ┌───────────────────────┐
│ lele-build │────▶│ Compiler │
│ (download, │ │ ┌─────────────────┐ │
│ cache) │ │ │ Constant Fold │ │
└──────────────┘ │ │ Pattern Fusion │ │
│ │ Buffer Alloc │ │
│ │ Code Gen │ │
│ └─────────────────┘ │
└──────────┬────────────┘
│
┌───────────▼───────────┐
│ model.rs + .bin │
│ (pure Rust, no deps) │
└───────────┬───────────┘
│
┌─────────────────┼─────────────────┐
▼ ▼ ▼
Native (NEON/AVX) WASM (SIMD128) Embedded
MIT