"GoogleSpeech" (服务连接)

将 Google Text-to-Speech 和 Speech-to-Text API 与 Wolfram 语言结合使用.

连接与认证

ServiceConnect["GoogleSpeech"] 创建与 Google Speech-to-Text 和 Text-to-Speech API 的连接. 如果可以找到之前保存的连接,则将使用该连接;否则,将发起新的身份认证请求.
使用此连接需要访问互联网和 Google API 帐户.

请求

ServiceExecute["GoogleSpeech","request",params] 使用参数 params 向 Google Speech-to-Text 和 Text-to-Speech API 发送请求. 下面给出了可能的请求.

根据文本合成音频

请求:

"ListVoices" 返回可用的声音风格

参数:
  • LanguageAll将查询限制为能够合成给定语言的语音
  • 请求:

    "Synthesize" 返回根据文字合成的语音

    参数:
  • "Input"(必需)要合成的文字
    "Voice"Automatic合成的声音的名称
    LanguageAutomatic合成语音的语言
    "Pitch"Automatic与母语音调的半音偏差
    "Rate"Automatic改变母语语音速度的因子
    AudioEncodingAutomatic输出音频的编码
    GeneratedAssetLocation$GeneratedAssetLocation保存合成音频的位置
    GeneratedAssetFormatAutomatic合成音频的输出格式
    "EffectsProfileID"Automatic应用于语音的后处理效果名称
  • 从音频中识别出文字

    请求:

    "Recognize" 返回从音频转录的文字

    参数:
  • "Input"(必需)要转录的音频
    Language"English"语音中包含的语种
    "ChannelRecognition"False是否单独转录每个通道
    MaxItems1最多返回多少个假设
    "ProfanityFilter"False是否尝试取代脏话
    "SpeechContexts"{}有助于转录的短语提示
    "WordTimeOffsets"True同时返回结果和字词时间偏移值( word time offset)
    "WordConfidence"False返回单词置信度值和结果
    "Punctuation"True在转录中包含标点符号
    "SpokenPunctuation"False用 ASCII 字符替换语音标点符号
    "SpokenEmojis"False用 Unicode 字符替换语音表情符号
    "SpeakerDiarization"False在结果中标记不同的说话者
    "Model"Automatic指定用于请求的模型
    MetaInformationNone描述输入音频的元数据
  • 有关参数的详细信息

    可用 "ListVoices" 请求获取 "Voice" 可取的值.
    "Rate" 可取的值为表示因子的实数(1 为自然速率).
    "Pitch" 可取的值为实数或表示半音的量( 0 为自然语调).
    "SpeakerDiarization" 接受要检测的说话者的数量,为 {max}{min,max}.
    "SpeechContexts" 可取的值包括:
  • strw给出字符串 str 的权重 w
    {str1w1,str2w2,}给出字符串 stri 的权重 wi
  • "EffectsProfileID" 可取的值的例子包括:
  • "large-automotive-class-device"针对汽车扬声器进行优化
    "small-bluetooth-speaker-class-device"针对小的家用扬声器进行优化
  • "Model" 可取的值的例子包括:
  • "latest_long"针对较长的内容进行优化
    "latest_short"针对较短的内容进行优化
    "command_and_search"针对较短的查询进行优化
  • 范例

    打开所有单元关闭所有单元

    基本范例  (1)

    连接到 Google 语音服务:

    文字到语音:

    语音到文字:

    范围  (2)

    语音合成  (1)

    根据文字合成音频:

    用不同的语言合成文本. 将 "Language" 设置为 Automatic 将从输入文本推断语言,也可以指定特定语言. 该服务将尝试选择所要求语言的语音风格:

    明确指定语言:

    列出可用的语音风格:

    用特定的声音合成语音:

    加快语速,降低音调:

    语音识别  (1)

    将音频中的语音转录为文本:

    默认情况下,返回 API 响应中的所有内容,包括与识别出的单词相关的信息:

    返回猜测的转录结果的多个版本:

    分离录音中不同的说话者:

    指定说话者的最小和最大数量:

    显示 Dataset 中带标签的单词. 目前,API 当前在第二个结果中返回说话者的标签: