not yet working

This commit is contained in:
Concedo
2026-02-24 17:47:50 +08:00
parent 0fd7d2c0e5
commit 488c431331
4 changed files with 36 additions and 4 deletions
+1
View File
@@ -348,6 +348,7 @@ struct music_generation_outputs
{
int status = -1;
const char * codes_json = "";
const char * data = "";
};
extern std::string executable_path;
+12 -2
View File
@@ -455,7 +455,8 @@ class music_generation_inputs(ctypes.Structure):
class music_generation_outputs(ctypes.Structure):
_fields_ = [("status", ctypes.c_int),
("codes_json", ctypes.c_char_p)]
("codes_json", ctypes.c_char_p),
("data", ctypes.c_char_p)]
class StdoutRedirector:
def __init__(self, writer):
@@ -2388,7 +2389,16 @@ def music_generate_codes(genparams):
return outstr
def music_generate_audio(genparams):
return ""
global args
input_json = json.dumps(genparams)
inputs = music_generation_inputs()
inputs.is_codes = False
inputs.input_json = input_json.encode("UTF-8")
ret = handle.music_generate(inputs)
outstr = ""
if ret.status==1:
outstr = ret.data.decode("UTF-8","ignore")
return outstr
def tokenize_ids(countprompt,tcaddspecial):
rawcountdata = handle.token_count(countprompt.encode("UTF-8"),tcaddspecial)
+1 -2
View File
@@ -690,8 +690,7 @@ std::string acestep_generate_audio(const music_generation_inputs inputs)
return "";
}
if (req.caption.empty()) {
fprintf(stderr, "ERROR: music gen caption is empty!\n");
return "";
req.caption = "An interesting song";
}
const int FRAMES_PER_SECOND = 25;
+22
View File
@@ -26,6 +26,7 @@ static bool musicgen_loaded = false;
static std::string musicvulkandeviceenv;
static std::string codes_json_str = "";
static std::string b64_music_output = "";
bool musictype_load_model(const music_load_model_inputs inputs)
{
@@ -82,6 +83,7 @@ music_generation_outputs musictype_generate(const music_generation_inputs inputs
printf("\nWarning: KCPP music gen not initialized!\n");
output.status = 0;
output.codes_json = "";
output.data = "";
return output;
}
@@ -95,14 +97,34 @@ music_generation_outputs musictype_generate(const music_generation_inputs inputs
printf("\nMusic codes generation failed!\n");
output.status = 0;
output.codes_json = "";
output.data = "";
return output;
}
output.status = 1;
output.data = "";
output.codes_json = codes_json_str.c_str();
if (!music_is_quiet) {
printf("\nMusic Gen Codes Done:\n%s\n",codes_json_str.c_str());
}
} else {
if (!music_is_quiet) {
printf("\nMusic Gen Generating Audio...");
}
b64_music_output = acestep_generate_audio(inputs);
if(b64_music_output=="")
{
printf("\nMusic audio generation failed!\n");
output.status = 0;
output.codes_json = "";
output.data = "";
return output;
}
output.status = 1;
output.data = b64_music_output.c_str();
output.codes_json = "";
if (!music_is_quiet) {
printf("\nMusic Gen Audio Done\n");
}
}
return output;