MCPcopy Create free account
hub / github.com/0xShug0/audio.cpp / make_request

Function make_request

tests/vibevoice/vibevoice_warm_bench.cpp:107–164  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

105}
106
107engine::models::vibevoice::VibeVoiceRequest make_request(
108 const engine::io::json::Value & object,
109 const engine::models::vibevoice::VibeVoiceAssets & assets,
110 const std::string & prompt_noise_file,
111 const std::string & noise_file) {
112 engine::models::vibevoice::VibeVoiceRequest request;
113 request.text = required_string(object, "text");
114 request.generation.ddpm_inference_steps = assets.config.diffusion_head.ddpm_num_inference_steps;
115 request.generation.max_new_tokens =
116 engine::io::json::optional_i64(object, "max_new_tokens", request.generation.max_new_tokens);
117 request.generation.max_length_times =
118 engine::io::json::optional_f32(object, "max_length_times", request.generation.max_length_times);
119 request.generation.ddpm_inference_steps =
120 engine::io::json::optional_i64(object, "ddpm_steps", request.generation.ddpm_inference_steps);
121 request.generation.cfg_scale =
122 engine::io::json::optional_f32(object, "cfg_scale", request.generation.cfg_scale);
123 request.generation.do_sample =
124 engine::io::json::optional_bool(object, "do_sample", request.generation.do_sample);
125 request.generation.temperature =
126 engine::io::json::optional_f32(object, "temperature", request.generation.temperature);
127 request.generation.top_k =
128 engine::io::json::optional_i64(object, "top_k", request.generation.top_k);
129 request.generation.top_p =
130 engine::io::json::optional_f32(object, "top_p", request.generation.top_p);
131 request.generation.seed =
132 static_cast<uint32_t>(engine::io::json::optional_i64(object, "seed", request.generation.seed));
133 request.generation.prompt_noise_file = prompt_noise_file.empty()
134 ? optional_string(object, "prompt_noise_file")
135 : prompt_noise_file;
136 request.generation.diffusion_noise_file = noise_file.empty()
137 ? optional_string(object, "diffusion_noise_file")
138 : noise_file;
139 if (request.generation.max_new_tokens < 0) {
140 throw std::runtime_error("VibeVoice warmbench max_new_tokens must be non-negative");
141 }
142 if (request.generation.max_length_times <= 0.0F) {
143 throw std::runtime_error("VibeVoice warmbench max_length_times must be positive");
144 }
145 if (request.generation.ddpm_inference_steps <= 0) {
146 throw std::runtime_error("VibeVoice warmbench ddpm_steps must be positive");
147 }
148 if (request.generation.cfg_scale < 0.0F) {
149 throw std::runtime_error("VibeVoice warmbench cfg_scale must be non-negative");
150 }
151 if (request.generation.temperature <= 0.0F) {
152 throw std::runtime_error("VibeVoice warmbench temperature must be positive");
153 }
154 if (request.generation.top_k < 0) {
155 throw std::runtime_error("VibeVoice warmbench top_k must be non-negative");
156 }
157 if (request.generation.top_p <= 0.0F || request.generation.top_p > 1.0F) {
158 throw std::runtime_error("VibeVoice warmbench top_p must be in (0, 1]");
159 }
160 for (const auto & path : required_string_array(object, "voice_samples")) {
161 request.speakers.push_back(engine::models::vibevoice::VibeVoiceSpeakerPrompt{read_audio_buffer(path)});
162 }
163 return request;
164}

Callers 1

parse_requestsFunction · 0.70

Calls 8

optional_i64Function · 0.85
optional_f32Function · 0.85
optional_boolFunction · 0.85
required_string_arrayFunction · 0.85
required_stringFunction · 0.70
optional_stringFunction · 0.70
read_audio_bufferFunction · 0.70
emptyMethod · 0.45

Tested by

no test coverage detected