Fix TTS for Unreal Engine (#2349)
Unreal Engine has its own memory management, so we cannot return a struct containing a std::vector object.
This commit is contained in:
@@ -419,6 +419,19 @@ GeneratedAudio OfflineTts::Generate(const std::string &text,
|
||||
return ans;
|
||||
}
|
||||
|
||||
std::shared_ptr<GeneratedAudio> OfflineTts::Generate2(
|
||||
const std::string &text, int32_t sid /*= 0*/, float speed /*= 1.0*/,
|
||||
OfflineTtsCallback callback /*= nullptr*/, void *arg /*= nullptr*/) const {
|
||||
auto audio = Generate(text, sid, speed, callback, arg);
|
||||
|
||||
GeneratedAudio *ans = new GeneratedAudio;
|
||||
ans->samples = std::move(audio.samples);
|
||||
ans->sample_rate = audio.sample_rate;
|
||||
|
||||
return std::shared_ptr<GeneratedAudio>(ans,
|
||||
[](GeneratedAudio *p) { delete p; });
|
||||
}
|
||||
|
||||
KeywordSpotter KeywordSpotter::Create(const KeywordSpotterConfig &config) {
|
||||
struct SherpaOnnxKeywordSpotterConfig c;
|
||||
memset(&c, 0, sizeof(c));
|
||||
|
||||
Reference in New Issue
Block a user