From c5c6364dbc9eb12e90d90879e0f7672180383479 Mon Sep 17 00:00:00 2001 From: grorge Date: Mon, 29 Jul 2024 11:56:56 +0800 Subject: [PATCH] [Example] ChatTTS: remove write byte function --- wasmedge-chatTTS/README.md | 9 ++++++++- wasmedge-chatTTS/assets/demo.webm | Bin 0 -> 30200 bytes wasmedge-chatTTS/src/main.rs | 10 ++++------ 3 files changed, 12 insertions(+), 7 deletions(-) create mode 100644 wasmedge-chatTTS/assets/demo.webm diff --git a/wasmedge-chatTTS/README.md b/wasmedge-chatTTS/README.md index d897aa2..139e88b 100644 --- a/wasmedge-chatTTS/README.md +++ b/wasmedge-chatTTS/README.md @@ -58,5 +58,12 @@ let config_data = serde_json::to_string(&json!({"prompt": "[oral_2][laugh_0][bre .as_bytes() .to_vec(); ``` + + + + +
-And it is the [Demo speaker](./assets/demo.wav). +[demo.webm](https://github.com/user-attachments/assets/377e0487-9107-41db-9c22-31962ce53f88) + +
\ No newline at end of file diff --git a/wasmedge-chatTTS/assets/demo.webm b/wasmedge-chatTTS/assets/demo.webm new file mode 100644 index 0000000000000000000000000000000000000000..9a1f52cd25260e6445fd6d026d63b6ceadbb6f0b GIT binary patch literal 30200 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 literal 0 HcmV?d00001 diff --git a/wasmedge-chatTTS/src/main.rs b/wasmedge-chatTTS/src/main.rs index 8e01d35..7af21f5 100644 --- a/wasmedge-chatTTS/src/main.rs +++ b/wasmedge-chatTTS/src/main.rs @@ -4,14 +4,14 @@ use wasmedge_wasi_nn::{ self, ExecutionTarget, GraphBuilder, GraphEncoding, GraphExecutionContext, TensorType, }; -fn get_data_from_context(context: &GraphExecutionContext, index: usize, limit: usize) -> Vec { +fn get_data_from_context(context: &GraphExecutionContext, index: usize) -> Vec { const MAX_OUTPUT_BUFFER_SIZE: usize = 4096 * 4096; let mut output_buffer = vec![0u8; MAX_OUTPUT_BUFFER_SIZE]; - let _ = context + let bytes_written = context .get_output(index, &mut output_buffer) .expect("Failed to get output"); - return output_buffer[..limit].to_vec(); + return output_buffer[..bytes_written].to_vec(); } fn main() { @@ -35,9 +35,7 @@ fn main() { .set_input(1, TensorType::U8, &[1], &config_data) .expect("Failed to set input"); context.compute().expect("Failed to compute"); - let bytes_written = get_data_from_context(&context, 1, 4); - let bytes_written = usize::from_le_bytes(bytes_written.as_slice().try_into().unwrap()); - let output_bytes = get_data_from_context(&context, 0, bytes_written); + let output_bytes = get_data_from_context(&context, 0); let spec = hound::WavSpec { channels: 1, sample_rate: 24000,