diff --git a/otherarch/tts_adapter.cpp b/otherarch/tts_adapter.cpp index b69419871..ad7d2849c 100644 --- a/otherarch/tts_adapter.cpp +++ b/otherarch/tts_adapter.cpp @@ -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 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; diff --git a/otherarch/utils.h b/otherarch/utils.h index cdd86e7ad..4fccd78cb 100644 --- a/otherarch/utils.h +++ b/otherarch/utils.h @@ -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 &data, int sample_rate); std::string save_wav16_base64(const std::vector &data, int sample_rate); \ No newline at end of file