fixed wav header wrong size

This commit is contained in:
Concedo
2026-02-24 01:13:44 +08:00
parent 062e361968
commit 749536f464
2 changed files with 7 additions and 3 deletions
+3 -3
View File
@@ -731,7 +731,7 @@ static tts_generation_outputs ttstype_generate_ttscpp(const tts_generation_input
printf("\nTTS Generated audio in %.2fs.\n",ttstime);
std::vector<float> wavdat = std::vector(response_data.data, response_data.data + response_data.n_outputs);
//audio_post_clean(wavdat);
last_generated_audio = save_wav16_base64(wavdat, ttscpp_runner->sampling_rate);
last_generated_audio = save_ulaw_wav8_base64(wavdat, ttscpp_runner->sampling_rate);
output.data = last_generated_audio.c_str();
output.status = 1;
last_generation_settings_audio_seed = 0;
@@ -1144,7 +1144,7 @@ static tts_generation_outputs ttstype_generate_outetts(const tts_generation_inpu
return output;
}
last_generated_audio = save_wav16_base64(audio, t_sr);
last_generated_audio = save_ulaw_wav8_base64(audio, t_sr);
ttstime = timer_check();
printf("\nTTS Generated %d audio tokens in %.2fs.\n",(int) codes.size(),ttstime);
@@ -1228,7 +1228,7 @@ static tts_generation_outputs ttstype_generate_qwen3tts(const tts_generation_inp
ttstime = timer_check();
printf("\nTTS Generated audio in %.2fs.\n",ttstime);
last_generated_audio = save_wav16_base64(result.audio, result.sample_rate);
last_generated_audio = save_ulaw_wav8_base64(result.audio, result.sample_rate);
output.data = last_generated_audio.c_str();
output.status = 1;
last_generation_settings_audio_seed = inputs.audio_seed;
+4
View File
@@ -117,6 +117,7 @@ private:
);
};
#pragma pack(push, 1)
struct wav16_header {
char riff[4] = {'R', 'I', 'F', 'F'};
uint32_t chunk_size;
@@ -132,7 +133,9 @@ struct wav16_header {
char data[4] = {'d', 'a', 't', 'a'};
uint32_t data_size;
};
#pragma pack(pop)
#pragma pack(push, 1)
struct wav_ulaw_header {
char riff[4] = {'R','I','F','F'};
uint32_t chunk_size; // 36 + data_size + 2 (for cbSize)
@@ -149,6 +152,7 @@ struct wav_ulaw_header {
char data[4] = {'d','a','t','a'};
uint32_t data_size;
};
#pragma pack(pop)
std::string save_ulaw_wav8_base64(const std::vector<float> &data, int sample_rate);
std::string save_wav16_base64(const std::vector<float> &data, int sample_rate);