You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Speech API是否支持将文本转换为语音?

关于Google Speech API的文本转语音支持及你的语音转文本代码优化

嘿,先直接回答你的第一个问题:Google Cloud的语音相关服务里,Speech-to-Text API是负责语音转文本的,而对应的文本转语音功能是由Text-to-Speech API提供的——它完全支持把文本转换成自然流畅的语音,不仅支持超多语言和方言,还有不同类型的音色(包括更逼真的神经合成音),甚至能自定义语速、语调这些细节,实用性很强。

再看你已经写好的语音转文本代码,我给你补充几个小细节,让代码更健壮好用:

  • 一定要确保GOOGLE_CLOUD_SPEECH_CREDENTIALS里填的是JSON密钥文件的完整内容,格式别错了,比如引号、大括号这些都要对应上
  • 可以加上降噪处理,适合在嘈杂环境下使用
  • 补充完整的异常处理,能帮你快速排查问题,比如网络问题、语音识别不出来的情况

完整的优化后代码如下:

import speech_recognition as sr
import os

# 初始化识别器
r = sr.Recognizer()

# 从麦克风获取音频
with sr.Microphone() as source:
    print("Say something!")
    # 自动适配环境噪音,提升识别准确率
    r.adjust_for_ambient_noise(source)
    audio = r.listen(source)

# 替换成你的Google Cloud服务账号JSON密钥内容
GOOGLE_CLOUD_SPEECH_CREDENTIALS = r"""
{
  "type": "service_account",
  "project_id": "你的项目ID",
  "private_key_id": "你的私钥ID",
  // 这里填入密钥文件的其他所有字段
}
"""

try:
    # 可以指定识别语言,比如中文zh-CN,英文en-US
    speech_output = r.recognize_google_cloud(
        audio,
        credentials_json=GOOGLE_CLOUD_SPEECH_CREDENTIALS,
        language="zh-CN"
    )
    print(f"识别结果: {speech_output}")
except sr.UnknownValueError:
    print("Google Cloud Speech 没听清你说的内容哦")
except sr.RequestError as e:
    print(f"请求Google服务失败啦: {e}")
except Exception as e:
    print(f"出了点小问题: {e}")

如果之后需要用到文本转语音功能,给你个简单的示例代码,用官方的客户端库更方便:

from google.cloud import texttospeech

# 用密钥文件初始化客户端
client = texttospeech.TextToSpeechClient.from_service_account_json("你的密钥文件路径.json")

# 设置要转换的文本
input_text = texttospeech.SynthesisInput(text="你好呀,这是用Google Text-to-Speech生成的语音~")

# 选择语音参数,这里选中文的神经合成音
voice = texttospeech.VoiceSelectionParams(
    language_code="zh-CN",
    name="cmn-CN-Wavenet-A",
    ssml_gender=texttospeech.SsmlVoiceGender.NEUTRAL
)

# 设置输出的音频格式为MP3
audio_config = texttospeech.AudioConfig(
    audio_encoding=texttospeech.AudioEncoding.MP3
)

# 生成语音
response = client.synthesize_speech(
    input=input_text, voice=voice, audio_config=audio_config
)

# 保存成MP3文件
with open("output.mp3", "wb") as out:
    out.write(response.audio_content)
    print("语音文件已经保存为output.mp3啦!")

最后提醒下,不管用哪个API,都得先在Google Cloud控制台启用对应的服务,创建好服务账号密钥,确保你的环境能正常访问这些服务哦。

内容的提问来源于stack exchange,提问作者cmb28

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:44:18