使用 ibm watson 文本到语音服务处理多个查询
Handling multiple queries with ibm watson text to speech service
我正在使用 ibm watson tts API 但问题是,当我合成多个句子(一个接一个)时,输出之间会有轻微的延迟,但我希望它是连续的(好像单独的句子是在一个话语中说的)。有没有办法做到这一点?或者是否有任何其他 tts 解决方案可以帮助我解决这个问题?
这是使用API合成不同话语的方法:
public void sayUtterances() {
String[] splitUtterance = {"this is", "the sentence I would",
"like to say in one utterance", "without pausing"};
for(int i = 0; i < splitUtterance.length; i++) {
textToSpeechService.synthesize(splitUtterance[i], Voice.EN_ALLISON);
}
}
并行和异步调用服务。在为第二句调用服务之前,您无需等待第一句的响应。
TTS 在每次合成的开始和结束时产生轻微的静音(~400 毫秒)。所以如果你一个接一个地弹奏,你仍然会在他们之间得到这些沉默。您应该通过删除 0 幅度样本来手动删除它们。
此外,该服务的输入限制相当大,因此您可以通过使用 "this is the sentence I would like to say in one utterance without pausing" 调用该服务来一次简单地生成多个短语。该服务是一种流媒体服务,因此它会尽快开始生成音频,您可以将它们直接传递到音频设备而无需收到完整的响应。
我正在使用 ibm watson tts API 但问题是,当我合成多个句子(一个接一个)时,输出之间会有轻微的延迟,但我希望它是连续的(好像单独的句子是在一个话语中说的)。有没有办法做到这一点?或者是否有任何其他 tts 解决方案可以帮助我解决这个问题?
这是使用API合成不同话语的方法:
public void sayUtterances() {
String[] splitUtterance = {"this is", "the sentence I would",
"like to say in one utterance", "without pausing"};
for(int i = 0; i < splitUtterance.length; i++) {
textToSpeechService.synthesize(splitUtterance[i], Voice.EN_ALLISON);
}
}
并行和异步调用服务。在为第二句调用服务之前,您无需等待第一句的响应。
TTS 在每次合成的开始和结束时产生轻微的静音(~400 毫秒)。所以如果你一个接一个地弹奏,你仍然会在他们之间得到这些沉默。您应该通过删除 0 幅度样本来手动删除它们。
此外,该服务的输入限制相当大,因此您可以通过使用 "this is the sentence I would like to say in one utterance without pausing" 调用该服务来一次简单地生成多个短语。该服务是一种流媒体服务,因此它会尽快开始生成音频,您可以将它们直接传递到音频设备而无需收到完整的响应。