google-text-to-speech - Google TTS 客户端库中文参数设置

标签 google-text-to-speech

我尝试使用 Google 云 API 进行文本转语音,这是示例代码,它适用于英语;但是当我将 language_code='en-US' 更改为 'zh-CN' 并将输入文本设置为中文单词时,显示错误: 400 没有与 TTS 请求匹配的 TTS 语音。请更正语音选择参数并重试。

import argparse
# [START tts_synthesize_text]
def synthesize_text(text):
    """Synthesizes speech from the input string of text."""
    from google.cloud import texttospeech
    client = texttospeech.TextToSpeechClient()

    input_text = texttospeech.types.SynthesisInput(text=text)

# Note: the voice can also be specified by name.
# Names of voices can be retrieved with client.list_voices().
    voice = texttospeech.types.VoiceSelectionParams(
        language_code='en-US',
        ssml_gender=texttospeech.enums.SsmlVoiceGender.FEMALE)

    audio_config = texttospeech.types.AudioConfig(
        audio_encoding=texttospeech.enums.AudioEncoding.MP3)

    response = client.synthesize_speech(input_text, voice, audio_config)

    # The response's audio_content is binary.
    with open('output.mp3', 'wb') as out:
        out.write(response.audio_content)
        print('Audio content written to file "output.mp3"')
# [END tts_synthesize_text]

请问我使用中文时如何设置参数?

最佳答案

我使用 gTTS 包来解决这个问题,它对我有用,这是代码:

def text_to_speech_gtts(res_ans):
    from gtts import gTTS
    volume=1.0
    music_file="ans01.mp3"
    tts = gTTS(text=res_ans, lang='zh-tw')
    tts.save(music_file)
    freq = 25000    # audio CD quality
    bitsize = -16    # unsigned 16 bit
    channels = 2     # 1 is mono, 2 is stereo
    buffer = 2048    # number of samples (experiment to get best sound)
    pg.mixer.init(freq, bitsize, channels, buffer)
    # volume value 0.0 to 1.0
    pg.mixer.music.set_volume(volume)
    clock = pg.time.Clock()
    try:
        pg.mixer.music.load(music_file)
    except pg.error:
        print("File {} not found! ({})".format(music_file, pg.get_error()))

    pg.mixer.music.play()
    while pg.mixer.music.get_busy():
        # check if playback has finished
        clock.tick(30) #
    pg.mixer.music.stop()
    pg.mixer.quit()  

关于google-text-to-speech - Google TTS 客户端库中文参数设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49745935/

相关文章:

android - 文字转语音不适用于 Android 设备

android - 识别监听器 : OnPartialResults vs OnResults

android - 文本转语音初始化延迟

android - 手动激活所有音频播放

java - 如何检查用户是否从应用程序管理器禁用 Google 文本转语音

android - 文字转语音 : check if it is on-line or off-line for API < 21

php - 为适用于多种浏览器的脚本添加 Google TTS

java - 文本转语音保存到音频文件,静音(长时间停顿)

c# - 安卓谷歌 TTS : Why langAvailable returns Not supported or -2?

javascript - Chrome 语音合成 api 不更改选项