From 754145246c0bbec2ebfa169b5821737a6eabd970 Mon Sep 17 00:00:00 2001 From: jhqxxx <18280426169@163.com> Date: Sun, 24 May 2026 19:26:47 +0800 Subject: [PATCH] update doc --- README.md | 19 +-- README.zh-CN.md | 19 +-- assets/img/aha_weixinqun.png | Bin 155131 -> 154172 bytes src/models/voxcpm_refact/generate.rs | 168 +++++++++++++++++++++++++-- src/models/voxcpm_refact/model.rs | 3 - tests/test_voxcpm.rs | 61 +++++----- tests/test_voxcpm1_5.rs | 53 ++++----- tests/test_voxcpm2.rs | 69 +++++++++-- 8 files changed, 291 insertions(+), 101 deletions(-) diff --git a/README.md b/README.md index 2d71328..71caa29 100644 --- a/README.md +++ b/README.md @@ -33,12 +33,15 @@ aha is a high-performance, cross-platform AI inference engine built with Rust an | **Vision** | Qwen2.5-VL, Qwen3-VL, Qwen3.5,
LFM2.5-VL, LFM2-VL | | **OCR** | DeepSeek-OCR, DeepSeek-OCR-2 , PaddleOCR-VL
PaddleOCR-VL1.5, Hunyuan-OCR, GLM-OCR | | **ASR** | GLM-ASR-Nano, Fun-ASR-Nano, Qwen3-ASR | -| **TTS** | VoxCPM, VoxCPM1.5, VoxCPM2 | +| **TTS** | VoxCPM, VoxCPM1.5, VoxCPM2, Moss-TTS-Nano | | **Image** | RMBG-2.0 (background removal) | | **Embedding** | Qwen3-Embedding, all-MiniLM-L6-v2 | | **Reranker** | Qwen3-Reranker | ## Changelog +### 2026-05-24 +- update doc + ### 2026-05-11 - add Moss-TTS-Nano,its performance is worse than the original Python version @@ -215,27 +218,25 @@ pnpm run tauri build ```rust # VoxCPM example use aha::models::voxcpm::generate::VoxCPMGenerate; -use aha::utils::audio_utils::save_wav; +use aha::utils::audio_utils::save_wav_mono; use anyhow::Result; fn main() -> Result<()> { - let model_path = "xxx/openbmb/VoxCPM-0.5B/"; + let model_path = "xxx/OpenBMB/VoxCPM2/"; let mut voxcpm_generate = VoxCPMGenerate::init(model_path, None, None)?; - - let generate = voxcpm_generate.generate( - "The sun is shining bright, flowers smile at me, birds say early early early".to_string(), + let generate = voxcpm_generate.inference( + "aha是一个基于Rust和Candle框架的本地AI推理引擎,支持多模态模型(文本、视觉、语音、OCR)。".to_string(), None, None, 2, - 100, + 1000, 10, 2.0, - false, 6.0, )?; - let _ = save_wav(&generate, "voxcpm.wav")?; + save_wav_mono(&generate, "voxcpm2.wav", voxcpm_generate.sample_rate() as u32)?; Ok(()) } ``` diff --git a/README.zh-CN.md b/README.zh-CN.md index 4f1879c..5a73dc9 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -38,6 +38,9 @@ aha 是一款基于 Rust 和 Candle 框架构建的高性能跨平台 AI 推理 | **重排序** | Qwen3-Reranker | ## 更新日志 +### 2026-05-24 +- 更新文档 + ### 2026-05-11 - 添加Moss-TTS-Nano,该模型比较小,计算误差影响较大,效果比python原版差 @@ -214,27 +217,25 @@ pnpm run tauri build ```rust # VoxCPM示例 use aha::models::voxcpm::generate::VoxCPMGenerate; -use aha::utils::audio_utils::save_wav; +use aha::utils::audio_utils::save_wav_mono; use anyhow::Result; fn main() -> Result<()> { - let model_path = "xxx/openbmb/VoxCPM-0.5B/"; - + let model_path = "xxx/OpenBMB/VoxCPM2/"; + let mut voxcpm_generate = VoxCPMGenerate::init(model_path, None, None)?; - - let generate = voxcpm_generate.generate( - "太阳当空照,花儿对我笑,小鸟说早早早".to_string(), + let generate = voxcpm_generate.inference( + "aha是一个基于Rust和Candle框架的本地AI推理引擎,支持多模态模型(文本、视觉、语音、OCR)。".to_string(), None, None, 2, - 100, + 1000, 10, 2.0, - false, 6.0, )?; - let _ = save_wav(&generate, "voxcpm.wav")?; + save_wav_mono(&generate, "voxcpm2.wav", voxcpm_generate.sample_rate() as u32)?; Ok(()) } ``` diff --git a/assets/img/aha_weixinqun.png b/assets/img/aha_weixinqun.png index e9978888d78061427313e637cb6f0c01620b0b74..be388f0fe95551af671586b08f5151c02ed5efad 100644 GIT binary patch delta 90467 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 KIR4Q28~+2+aPK() delta 91533 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, out_sample_rate: usize, - // model_name: String, + model_name: String, } impl VoxCPMGenerateRefact { @@ -55,11 +62,11 @@ impl VoxCPMGenerateRefact { sr_bin_boundaries: None, }, }; - // let model_name = std::path::Path::new(path) - // .file_name() - // .and_then(|s| s.to_str()) - // .unwrap_or("VoxCPM") - // .to_string(); + let model_name = std::path::Path::new(path) + .file_name() + .and_then(|s| s.to_str()) + .unwrap_or("VoxCPM") + .to_string(); let audio_vae = AudioVAE::new( vb_vae, audio_config.encoder_dim, @@ -118,7 +125,7 @@ impl VoxCPMGenerateRefact { processor, prompt_cache: None, out_sample_rate, - // model_name, + model_name, }) } @@ -126,6 +133,73 @@ impl VoxCPMGenerateRefact { self.out_sample_rate } + pub fn inference( + &mut self, + target_text: String, + prompt_text: Option, + prompt_wav_path: Option, + min_len: usize, + max_len: usize, + inference_timesteps: usize, + cfg_value: f64, + retry_badcase: bool, + retry_badcase_ratio_threshold: f64, + ) -> Result { + let (text_token, audio_feat, audio_mask) = self.processor.processor( + target_text, + prompt_text, + prompt_wav_path, + &self.tokenizer, + &self.audio_vae, + )?; + let target_text_length = if let Some(mask) = &audio_mask { + text_token.dim(1)? - (mask.sum_all()?.to_scalar::()? as usize) + } else { + text_token.dim(1)? + }; + let max_len = if retry_badcase { + (target_text_length as f64 * retry_badcase_ratio_threshold + 10.0) as usize + } else { + max_len + }; + let audio = self.voxcpm.inference( + &text_token, + audio_feat.as_ref(), + audio_mask.as_ref(), + min_len, + max_len, + inference_timesteps, + cfg_value, + &self.audio_vae, + )?; + self.voxcpm.clear_kv_cache(); + Ok(audio) + } + + pub fn generate_with_prompt_simple( + &mut self, + target_text: String, + prompt_text: Option, + prompt_wav_path: Option, + ) -> Result { + let audio = self.inference( + target_text, + prompt_text, + prompt_wav_path, + 2, + 1000, + 10, + 2.0, + false, + 6.0, + )?; + Ok(audio) + } + pub fn generate_simple(&mut self, target_text: String) -> Result { + let audio = self.inference(target_text, None, None, 2, 100, 10, 2.0, false, 6.0)?; + Ok(audio) + } + pub fn build_prompt_cache( &mut self, prompt_text: String, @@ -225,3 +299,79 @@ impl VoxCPMGenerateRefact { } } } + +impl GenerateModel for VoxCPMGenerateRefact { + fn generate(&mut self, mes: ChatCompletionParameters) -> Result { + let prompt_text = extract_metadata_value::(&mes.metadata, "prompt_text"); + let control_instruction = + extract_metadata_value::(&mes.metadata, "control_instruction"); + let min_len = extract_metadata_value::(&mes.metadata, "min_len").unwrap_or(2); + let max_len = extract_metadata_value::(&mes.metadata, "max_len").unwrap_or(4096); + let inference_timesteps = + extract_metadata_value::(&mes.metadata, "inference_timesteps").unwrap_or(10); + let cfg_value = extract_metadata_value::(&mes.metadata, "cfg_value").unwrap_or(2.0); + let retry_badcase_ratio_threshold = + extract_metadata_value::(&mes.metadata, "retry_badcase_ratio_threshold") + .unwrap_or(6.0); + + let prompt_wav = extract_audio_url(&mes); + let prompt_wav_path = if !prompt_wav.is_empty() { + Some(prompt_wav[0].clone()) + } else { + None + }; + if !self.model_name.contains("2") && prompt_wav_path.is_some() && prompt_text.is_none() { + return Err(anyhow!( + "reference mode is only supported with VoxCPM2 models" + )); + } + let mut target_text = extract_user_text(&mes)?; + if let Some(instruction) = control_instruction + && self.model_name.contains("2") + { + target_text = format!("({instruction}){target_text}"); + } + let audio = self + .inference( + target_text, + prompt_text, + prompt_wav_path, + min_len, + max_len, + inference_timesteps, + cfg_value, + true, + retry_badcase_ratio_threshold, + ) + .inspect_err(|_| { + self.voxcpm.clear_kv_cache(); + })?; + let wav_u8 = get_audio_wav_u8(&audio, self.out_sample_rate as u32)?; + // let wave_u8_str = String::from_utf8(wav_u8)?; + let base64_audio = BASE64_STANDARD.encode(wav_u8); + let response = build_audio_completion_response(&base64_audio, &self.model_name); + self.voxcpm.clear_kv_cache(); + Ok(response) + } + #[allow(unused_variables)] + fn generate_stream( + &mut self, + mes: ChatCompletionParameters, + ) -> Result< + Box< + dyn Stream> + + Send + + Unpin + + '_, + >, + > { + let error_stream = stream::once(async { + Err(anyhow::anyhow!(format!( + "{} model not support stream", + self.model_name + ))) as Result + }); + + Ok(Box::new(Box::pin(error_stream))) + } +} diff --git a/src/models/voxcpm_refact/model.rs b/src/models/voxcpm_refact/model.rs index 5ec28de..eb0d7f7 100644 --- a/src/models/voxcpm_refact/model.rs +++ b/src/models/voxcpm_refact/model.rs @@ -196,9 +196,6 @@ impl VoxCPMModelRefact { (text_embed, prefix_feat_cond, None) }; let mut pred_feat_seq = Vec::new(); - // if feat_mask.i((1, t-1))?.to_scalar::()? == 0.0 { - // // TODO for stream - // } let mut position_id = 0; let mut seq_len = t; let enc_outputs = self diff --git a/tests/test_voxcpm.rs b/tests/test_voxcpm.rs index 570e830..d6d7d7f 100644 --- a/tests/test_voxcpm.rs +++ b/tests/test_voxcpm.rs @@ -1,18 +1,16 @@ use std::time::Instant; +use aha::models::voxcpm_refact::generate::VoxCPMGenerateRefact; use aha::params::chat::ChatCompletionParameters; use aha::{ - models::{ - GenerateModel, - voxcpm::{generate::VoxCPMGenerate, tokenizer::SingleChineseTokenizer}, - }, + models::{GenerateModel, voxcpm::tokenizer::SingleChineseTokenizer}, utils::audio_utils::{extract_and_save_audio_from_response, save_wav_mono}, }; use anyhow::{Ok, Result}; #[test] fn voxcpm_use_message_generate() -> Result<()> { - // RUST_BACKTRACE=1 cargo test -F cuda voxcpm_use_message_generate -r -- --nocapture + // RUST_BACKTRACE=1 cargo test -F cuda --test test_voxcpm voxcpm_use_message_generate -r -- --nocapture let save_dir = aha::utils::get_default_save_dir().ok_or(anyhow::anyhow!("Failed to get save dir"))?; let model_path = format!("{}/OpenBMB/VoxCPM-0.5B/", save_dir); @@ -42,7 +40,8 @@ fn voxcpm_use_message_generate() -> Result<()> { "#; let mes: ChatCompletionParameters = serde_json::from_str(message)?; let i_start = Instant::now(); - let mut voxcpm_generate = VoxCPMGenerate::init(&model_path, None, None)?; + // let mut voxcpm_generate = VoxCPMGenerate::init(&model_path, None, None)?; + let mut voxcpm_generate = VoxCPMGenerateRefact::init(&model_path, None, None)?; let i_duration = i_start.elapsed(); println!("Time elapsed in load model is: {:?}", i_duration); @@ -54,7 +53,6 @@ fn voxcpm_use_message_generate() -> Result<()> { } let i_duration = i_start.elapsed(); println!("Time elapsed in generate is: {:?}", i_duration); - // save_wav_mono(&generate, "voxcpm.wav", 16000)?; Ok(()) } @@ -66,35 +64,16 @@ fn voxcpm_generate() -> Result<()> { let model_path = format!("{}/OpenBMB/VoxCPM-0.5B/", save_dir); let i_start = Instant::now(); - let mut voxcpm_generate = VoxCPMGenerate::init(&model_path, None, None)?; + let mut voxcpm_generate = VoxCPMGenerateRefact::init(&model_path, None, None)?; let i_duration = i_start.elapsed(); println!("Time elapsed in load model is: {:?}", i_duration); - // let i_start = Instant::now(); - // let generate = voxcpm_generate.generate_simple("太阳当空照,花儿对我笑,小鸟说早早早".to_string())?; - // let generate = voxcpm_generate.inference( - // "VoxCPM is an innovative end-to-end TTS model from ModelBest, designed to generate highly realistic speech.".to_string(), - // Some("啥子小师叔,打狗还要看主人,你再要继续,我,就是你的对手".to_string()), - // Some("file://./assets/audio/voice_01.wav".to_string()), - // // Some("一定被灰太狼给吃了,我已经为他准备好了花圈了".to_string()), - // // Some("file://./assets/audio/voice_05.wav".to_string()), - // 2, - // 100, - // 10, - // 2.0, - // // false, - // 6.0, - // )?; - - // 创建prompt_cache - voxcpm_generate.build_prompt_cache( - "啥子小师叔,打狗还要看主人,你再要继续,我,就是你的对手".to_string(), - "file://./assets/audio/voice_01.wav".to_string(), - )?; - // 使用prompt_cache生成语音 let i_start = Instant::now(); - let generate = voxcpm_generate.generate_use_prompt_cache( - "太阳当空照,花儿对我笑,小鸟说早早早".to_string(), + // let generate = voxcpm_generate.generate_simple("太阳当空照,花儿对我笑,小鸟说早早早".to_string())?; + let generate = voxcpm_generate.inference( + "VoxCPM is an innovative end-to-end TTS model from ModelBest, designed to generate highly realistic speech.".to_string(), + Some("天雷滚滚我好怕怕,劈得我浑身掉渣渣。突破天劫我笑哈哈,逆天改命我吹喇叭,滴答滴答滴滴答".to_string()), + Some("https://package-release.coderbox.cn/aiway/test/other/%E5%93%AA%E5%90%92.wav".to_string()), 2, 100, 10, @@ -103,6 +82,23 @@ fn voxcpm_generate() -> Result<()> { 6.0, )?; + // 创建prompt_cache + // voxcpm_generate.build_prompt_cache( + // "啥子小师叔,打狗还要看主人,你再要继续,我,就是你的对手".to_string(), + // "file://./assets/audio/voice_01.wav".to_string(), + // )?; + // // 使用prompt_cache生成语音 + // let i_start = Instant::now(); + // let generate = voxcpm_generate.generate_use_prompt_cache( + // "太阳当空照,花儿对我笑,小鸟说早早早".to_string(), + // 2, + // 100, + // 10, + // 2.0, + // false, + // 6.0, + // )?; + let i_duration = i_start.elapsed(); println!("Time elapsed in generate is: {:?}", i_duration); save_wav_mono(&generate, "voxcpm.wav", 16000)?; @@ -111,6 +107,7 @@ fn voxcpm_generate() -> Result<()> { #[test] fn voxcpm_tokenizer() -> Result<()> { + // RUST_BACKTRACE=1 cargo test -F cuda --test test_voxcpm voxcpm_tokenizer -r -- --nocapture let save_dir = aha::utils::get_default_save_dir().ok_or(anyhow::anyhow!("Failed to get save dir"))?; let model_path = format!("{}/OpenBMB/VoxCPM-0.5B/", save_dir); diff --git a/tests/test_voxcpm1_5.rs b/tests/test_voxcpm1_5.rs index f3355ba..3ffd396 100644 --- a/tests/test_voxcpm1_5.rs +++ b/tests/test_voxcpm1_5.rs @@ -3,10 +3,7 @@ use std::time::Instant; use aha::models::voxcpm_refact::generate::VoxCPMGenerateRefact; use aha::params::chat::ChatCompletionParameters; use aha::{ - models::{ - GenerateModel, - voxcpm::{generate::VoxCPMGenerate, tokenizer::SingleChineseTokenizer}, - }, + models::{GenerateModel, voxcpm::tokenizer::SingleChineseTokenizer}, utils::audio_utils::{extract_and_save_audio_from_response, save_wav_mono}, }; use anyhow::{Ok, Result}; @@ -43,7 +40,7 @@ fn voxcpm1_5_use_message_generate() -> Result<()> { "#; let mes: ChatCompletionParameters = serde_json::from_str(message)?; let i_start = Instant::now(); - let mut voxcpm_generate = VoxCPMGenerate::init(&model_path, None, None)?; + let mut voxcpm_generate = VoxCPMGenerateRefact::init(&model_path, None, None)?; let i_duration = i_start.elapsed(); println!("Time elapsed in load model is: {:?}", i_duration); @@ -66,43 +63,39 @@ fn voxcpm1_5_generate() -> Result<()> { let model_path = format!("{}/OpenBMB/VoxCPM1.5/", save_dir); let i_start = Instant::now(); - let mut voxcpm_generate = VoxCPMGenerate::init(&model_path, None, None)?; + let mut voxcpm_generate = VoxCPMGenerateRefact::init(&model_path, None, None)?; let i_duration = i_start.elapsed(); println!("Time elapsed in load model is: {:?}", i_duration); let i_start = Instant::now(); // let generate = voxcpm_generate.generate_simple("太阳当空照,花儿对我笑,小鸟说早早早".to_string())?; - // let generate = voxcpm_generate.inference( - // "老大爷我来啦,红红火火恍恍惚惚".to_string(), - // Some("啥子小师叔,打狗还要看主人,你再要继续,我就是你的对手".to_string()), - // Some("file://./assets/audio/voice_01.wav".to_string()), - // // Some("一定被灰太狼给吃了,我已经为他准备好了花圈了".to_string()), - // // Some("file://./assets/audio/voice_05.wav".to_string()), - // 2, - // 4096, - // 10, - // 2.0, - // // false, - // 6.0, - // )?; - - // 创建prompt_cache - voxcpm_generate.build_prompt_cache( - "啥子小师叔,打狗还要看主人,你再要继续,我,就是你的对手".to_string(), - "file://./assets/audio/voice_01.wav".to_string(), - )?; - // 使用prompt_cache生成语音 - let generate = voxcpm_generate.generate_use_prompt_cache( - "太阳当空照,花儿对我笑,小鸟说早早早".to_string(), + let generate = voxcpm_generate.inference( + "老大爷我来啦,红红火火恍恍惚惚".to_string(), + Some("天雷滚滚我好怕怕,劈得我浑身掉渣渣。突破天劫我笑哈哈,逆天改命我吹喇叭,滴答滴答滴滴答".to_string()), + Some("https://package-release.coderbox.cn/aiway/test/other/%E5%93%AA%E5%90%92.wav".to_string()), 2, - 100, + 4096, 10, 2.0, false, 6.0, )?; - std::thread::sleep(std::time::Duration::from_secs(2)); + // 创建prompt_cache + // voxcpm_generate.build_prompt_cache( + // "啥子小师叔,打狗还要看主人,你再要继续,我,就是你的对手".to_string(), + // "file://./assets/audio/voice_01.wav".to_string(), + // )?; + // // 使用prompt_cache生成语音 + // let generate = voxcpm_generate.generate_use_prompt_cache( + // "太阳当空照,花儿对我笑,小鸟说早早早".to_string(), + // 2, + // 100, + // 10, + // 2.0, + // false, + // 6.0, + // )?; let i_duration = i_start.elapsed(); println!("Time elapsed in generate is: {:?}", i_duration); diff --git a/tests/test_voxcpm2.rs b/tests/test_voxcpm2.rs index f80dfaa..0fd3889 100644 --- a/tests/test_voxcpm2.rs +++ b/tests/test_voxcpm2.rs @@ -1,9 +1,12 @@ use std::time::Instant; use aha::{ - models::{GenerateModel, voxcpm::generate::VoxCPMGenerate}, + models::{ + GenerateModel, voxcpm::generate::VoxCPMGenerate, + voxcpm_refact::generate::VoxCPMGenerateRefact, + }, params::chat::ChatCompletionParameters, - utils::audio_utils::extract_and_save_audio_from_response, + utils::audio_utils::{extract_and_save_audio_from_response, save_wav_mono}, }; use anyhow::Result; @@ -30,26 +33,74 @@ fn voxcpm2_use_message_generate() -> Result<()> { }, { "type": "text", - "text": "你好,这是aha在说话" + "text": "aha是一个基于Rust和Candle框架的本地AI推理引擎,支持多模态模型(文本、视觉、语音、OCR)。" } ] } - ] + ], + "metadata": {"prompt_text": "天雷滚滚我好怕怕,劈得我浑身掉渣渣。突破天劫我笑哈哈,逆天改命我吹喇叭,滴答滴答滴滴答"} } "#; let mes: ChatCompletionParameters = serde_json::from_str(message)?; + let i_start = Instant::now(); + let mut voxcpm_generate = VoxCPMGenerateRefact::init(&model_path, None, None)?; + let i_duration = i_start.elapsed(); + println!("Time elapsed in load model is: {:?}", i_duration); + // for _ in 0..10 { + // let _ = voxcpm_generate.generate(mes.clone())?; + // } + // let mut times = vec![]; + // for _ in 0..100 { + // let start = Instant::now(); + // let _ = voxcpm_generate.generate(mes.clone())?; + // times.push(start.elapsed()); + // } + // let mean = times.iter().sum::() / 100; + // println!("mean: {:?}", mean); + // times.sort(); + // println!("p99: {:?}", times[99]); + let i_start = Instant::now(); + let generate = voxcpm_generate.generate(mes)?; + let i_duration = i_start.elapsed(); + println!("Time elapsed in generate is: {:?}", i_duration); + let save_path = extract_and_save_audio_from_response(&generate, "./")?; + for path in save_path { + println!("save audio: {}", path); + } + Ok(()) +} + +#[test] +fn voxcpm2_generate() -> Result<()> { + // RUST_BACKTRACE=1 cargo test -F cuda --test test_voxcpm2 voxcpm2_generate -r -- --nocapture + let save_dir = + aha::utils::get_default_save_dir().ok_or(anyhow::anyhow!("Failed to get save dir"))?; + let model_path = format!("{}/OpenBMB/VoxCPM2/", save_dir); + let i_start = Instant::now(); let mut voxcpm_generate = VoxCPMGenerate::init(&model_path, None, None)?; let i_duration = i_start.elapsed(); println!("Time elapsed in load model is: {:?}", i_duration); let i_start = Instant::now(); - let generate = voxcpm_generate.generate(mes)?; - let save_path = extract_and_save_audio_from_response(&generate, "./")?; - for path in save_path { - println!("save audio: {}", path); - } + let generate = voxcpm_generate.inference( + "aha是一个基于Rust和Candle框架的本地AI推理引擎,支持多模态模型(文本、视觉、语音、OCR)。" + .to_string(), + None, + None, + 2, + 1000, + 10, + 2.0, + 6.0, + )?; let i_duration = i_start.elapsed(); println!("Time elapsed in generate is: {:?}", i_duration); + + save_wav_mono( + &generate, + "voxcpm2.wav", + voxcpm_generate.sample_rate() as u32, + )?; Ok(()) }