fix(proxy-engine): improve inbound SIP routing diagnostics and enrich leg media state reporting

This commit is contained in:
2026-04-14 20:19:34 +00:00
parent 0d82a626b5
commit 88768f0586
46 changed files with 555689 additions and 107 deletions

View File

@@ -0,0 +1,51 @@
use {
futures::StreamExt,
kokoro_tts::{KokoroTts, Voice},
voxudio::AudioPlayer,
};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let tts = KokoroTts::new("kokoro-v1.1-zh.onnx", "voices-v1.1-zh.bin").await?;
let (mut sink, mut stream) = tts.stream(Voice::Zm098(1));
sink.synth("hello world.").await?;
sink.synth("你好,我们是一群追逐梦想的人。").await?;
sink.set_voice(Voice::Zf032(2));
sink.synth("我正在使用qq。").await?;
sink.set_voice(Voice::Zf090(3));
sink.synth("今天天气如何?").await?;
sink.set_voice(Voice::Zm045(1));
sink.synth("你在使用Rust编程语言吗").await?;
sink.set_voice(Voice::Zf039(1));
sink.synth(
"你轻轻地走过那
在风雨花丛中
每一点一滴带走
是我醒来的梦
是在那天空上
最美丽的云朵
在那彩虹 最温柔的风",
)
.await?;
sink.set_voice(Voice::Zf088(1));
sink.synth(
"你静静看着我们
最不舍的面容
像流星划过夜空
转瞬即逝的梦
是最深情的脸 在这一瞬间
在遥远天边
",
)
.await?;
drop(sink);
let mut player = AudioPlayer::new()?;
player.play()?;
while let Some((audio, took)) = stream.next().await {
player.write::<24000>(&audio, 1).await?;
println!("Synth took: {:?}", took);
}
Ok(())
}