【问题标题】:How to use Phonetic or Phoneme pronunciation in google text to speech?如何在谷歌文本到语音中使用语音或音素发音?
【发布时间】:2021-10-06 16:21:34
【问题描述】:

一段时间以来,我一直在尝试使用 google's text to speech 使用语音或音素发音,但未能使其始终如一地执行。

我已经设法通过使用https://tophonetics.com/ 获得有限的结果 它翻译成“牛疯了”。到“ðə kaʊ wɛnt mæd”。但是'the' 'ðə' 听不见。当我尝试“ðɪs ɪz səm fəˈnɛtɪk tɛkst ˈɪnˌpʊt”时。

是否有任何 SSML 代码来定义文本的语音块, 可以是这种格式 "D,Is Iz sVm f@n'EtIk t'Ekst 'InpUt" 可以用来代替“ðɪs ɪz səm fəˈnɛtɪk tɛkst ˈɪnˌpʊt” "

【问题讨论】:

  • 谷歌支持它吗?亚马逊确实docs.aws.amazon.com/en_us/polly/latest/dg/…
  • 是的,这也是它在 google 中的工作方式。
  • Google Cloud 上关于文本到语音使用音素的文档似乎仅限于番茄示例,但是当我测试时,语音似乎正在阅读“番茄”这个词,而不是阅读音素当我改变番茄这个词但保留音素 tom 时,出于某种原因。 Google Cloud 的平台似乎没有返回音素的声音

标签: text-to-speech google-text-to-speech


【解决方案1】:

有 SSML 标签<phoneme> 可以满足您的目的。

很遗憾,Google Cloud Text-to-speech 目前不支持此功能。可用于 Google Cloud 的 SSML 标记子集列在 documentation 中。 <phoneme> 标签不在此列表中。使用 Google Cloud 的text-to-speech-demo 进行的实验确认音素被忽略。正如@Trevor 在 cmets 中已经指出的那样,标签的内容被作为普通文本读取。

但是,Microsoft Azure Text-to-Speech 和 Amazon Polly 支持 <phoneme> 标签。在这两种情况下,可用的音素都仅限于所用语言中可用的音素(参见here for Azurehere for Polly)。 Azure 文档并未 100% 明确排除语言外音素,但对 Azure Text-to-Speech demo 的实际实验证实它们无法正常工作。在某些情况下,它们至少似乎被所用语言中最接近的可用等价物所取代。

仅限于一种语言的音素严重限制了音素标签的实用性。例如,您不能使用该功能在第二语言中嵌入正确发音的内容,因为第二语言通常会有一些第一语言中不可用的音素。每种语言都有一些在另一种语言中没有的音素的具体语言对是英语/德语、西班牙语/德语、英语/西班牙语。

【讨论】:

    【解决方案2】:

    Google Text-to-Speech 至少从 2021 年春季开始支持 <phoneme> 标签。

    但是,有很多潜在的问题需要克服:

    • demo page 在客户端到达 API 之前就过滤掉了客户端的 <phoneme> 标记。 (正如here 指出的那样,<voice> 标签的作用相同)
    • 与 Microsoft Azure 文本转语音(有关详细信息,请参阅 other answer)一样,每种语言仅支持可以使用的 limited set of phonemes(“字母”)。
    • 如果您使用不受支持的标签,则完全忽略音素标签而不会发出任何警告。因此官方示例<phoneme alphabet="ipa" ph="ˌmænɪˈtoʊbə">manitoba</phoneme> 不适用于除en-US 之外的任何英文变体,因为所有其他变体都缺少"o""oʊ" 音素。
    • 不清楚您是否需要使用v1beta1 API(我可以确认它正在工作)或者版本v1 是否也可以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-17
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      相关资源
      最近更新 更多