gpt4 book ai didi

ios - SpeechSynthesizer 不会在 Swift 中为句号提供自然停顿

转载 作者:可可西里 更新时间:2023-11-01 00:39:27 32 4
gpt4 key购买 nike

我正在处理文字转语音任务。我面临的问题是,如果我得到例如文本:大家好。还剩 2 分钟。 然后将下面的代码用于语音合成器,它将整个文本视为一个句子,并且在 Hello everyone. 之后不会自然停顿。它把整个文本说成一个句子,就像没有 一样。 (句号)Hello everyone 之后。 仅当标点符号后有数字时才会发生这种情况 。 (句号)

let utterance = AVSpeechUtterance(string: "Hello everyone. 2 minutes to go.")
utterance.voice = AVSpeechSynthesisVoice(language: "en-US")
utterance.rate = AVSpeechUtteranceDefaultSpeechRate
synthesizer.speak(utterance)

如果您担心我是如何初始化 session 和合成器的,那么下面是代码:

let synthesizer = AVSpeechSynthesizer()
let session = AVAudioSession.sharedInstance()
do {
try session.setCategory(AVAudioSessionCategoryPlayback, with: .duckOthers)
try session.setActive(true)
} catch {
print(error.localizedDescription)
}

最佳答案

@Umair 这不仅发生在您编写以数字值开头的内容时,也发生在您的下一句话不是以大写字母开头时,例如 大家好。还剩两分钟。事实上,这些是您在文本书写中的错误,而不是 AVSpeechSynthesizer 的任何问题。从语法上讲,如果你想写这篇文章,那么它应该采用以下方式之一。

Hello everyone. Two minutes to go.

Hello everyone, 2 minutes to go.

以上两种说法都能准确回答您的问题。另一行可以为您工作,但这不是一个合适的句子。 大家好,。还剩 2 分钟。

希望对你有帮助

关于ios - SpeechSynthesizer 不会在 Swift 中为句号提供自然停顿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48123485/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com