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

Function generation_options_from_request

src/models/heartmula/session.cpp:70–131  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

68 return options;
69}
70
71HeartMuLaGenerationOptions generation_options_from_request(const runtime::TaskRequest & request) {
72 HeartMuLaGenerationOptions options;
73 if (const auto value = runtime::parse_positive_finite_float_option(request.options, {"duration_sec"})) {
74 options.duration_seconds = *value;
75 }
76 if (const auto value = runtime::parse_positive_finite_float_option(request.options, {"temperature"})) {
77 options.temperature = *value;
78 }
79 options.top_k = runtime::parse_positive_i64_option(request.options, {"top_k"}, options.top_k);
80 if (const auto value = runtime::parse_positive_finite_float_option(request.options, {"guidance_scale"})) {
81 options.guidance_scale = *value;
82 }
83 if (const auto value = runtime::parse_positive_finite_float_option(request.options, {"codec_duration_sec"})) {
84 options.codec_duration = *value;
85 }
86 options.num_inference_steps = runtime::parse_positive_i64_option(
87 request.options,
88 {"num_inference_steps"},
89 options.num_inference_steps);
90 if (const auto value = runtime::parse_positive_finite_float_option(
91 request.options,
92 {"codec_guidance_scale"})) {
93 options.codec_guidance_scale = *value;
94 }
95 if (const auto value = runtime::find_option(request.options, {"infinite_mode"})) {
96 options.infinite_mode = runtime::parse_bool_option(*value, "infinite_mode");
97 }
98 if (const auto value = engine::text::parse_text_chunk_size_override(request.options)) {
99 options.text_chunk_size = *value;
100 }
101 options.infinite_chunk_audio_length_ms = runtime::parse_positive_i64_option(
102 request.options,
103 {"infinite_chunk_audio_duration_ms"},
104 options.infinite_chunk_audio_length_ms);
105 return options;
106}
107
108runtime::TaskRequest normalize_request_options(runtime::TaskRequest request) {
109 request.options = runtime::apply_option_v1_compatibility(
110 std::move(request.options),
111 {
112 {"duration_seconds", "duration_sec"},
113 {"codec_duration", "codec_duration_sec"},
114 {"infinite_chunk_audio_length_ms", "infinite_chunk_audio_duration_ms"},
115 },
116 "HeartMuLa",
117 "request");
118 return request;
119}
120
121std::unique_ptr<runtime::IVoiceTaskSession> create_heartmula_session(
122 const runtime::TaskSpec & task,
123 const runtime::SessionOptions & options,
124 std::shared_ptr<const HeartMuLaAssets> assets,
125 std::shared_ptr<const engine::model_spec::ModelContract> contract) {
126 return std::make_unique<HeartMuLaSession>(
127 task,

Callers 1

make_requestMethod · 0.70

Calls 5

parse_i64_optionFunction · 0.85
find_optionFunction · 0.85
parse_bool_optionFunction · 0.85

Tested by

no test coverage detected