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

如何为应用集成Google TTS更多葡萄牙语(pt-PT)语音?

嘿,我来帮你搞定这个问题!你遇到的情况其实挺常见的——原生的TTS API往往只能拿到有限的基础语音,而Google那些丰富的pt-PT语音(包括4种标准和4种WaveNet)需要通过专门的云服务才能获取到。下面分情况给你拆解解决方案:

先搞清楚:你当前用的是哪种TTS方式?

你提到调用tts.getVoices(),大概率是用了原生Web Speech API(比如浏览器内置的SpeechSynthesis接口)。这个接口的语音列表受限于浏览器/系统的内置支持,Chrome虽然基于Google的TTS技术,但出于性能和兼容性考虑,只开放了最基础的语音变体,所以你只能拿到那一种标准女声。

要获取完整的8种pt-PT语音,你需要切换到Google Cloud Text-to-Speech服务——这是官方提供完整语音库的唯一入口。

集成Google Cloud Text-to-Speech的步骤

1. 准备Google Cloud项目和权限

首先去Google Cloud控制台创建一个项目,然后启用「Text-to-Speech API」,接着生成一个服务账号密钥(JSON格式)——这个密钥是你调用API的凭证,要妥善保管,别暴露在前端代码里。

2. 调用API获取所有pt-PT语音

不管你是用后端(Node.js、Python等)还是通过中间层调用,都可以用官方的客户端库或者直接发HTTP请求。这里给你举个Node.js的例子:

首先安装客户端库:

npm install @google-cloud/text-to-speech

然后写代码列出所有pt-PT语音:

const textToSpeech = require('@google-cloud/text-to-speech');
const client = new textToSpeech.TextToSpeechClient({
  keyFilename: './你的服务账号密钥.json'
});

async function listAllPtVoices() {
  const [result] = await client.listVoices({ languageCode: 'pt-PT' });
  const voices = result.voices;

  console.log('所有可用的葡萄牙语(pt-PT)语音:');
  voices.forEach(voice => {
    const voiceType = voice.name.includes('Wavenet') ? 'WaveNet 语音' : '标准语音';
    console.log(`- 名称:${voice.name} | 性别:${voice.ssmlGender} | 类型:${voiceType}`);
  });
}

listAllPtVoices();

运行这段代码,你就能看到完整的8种语音了——包括4个标准(比如pt-PT-Standard-A)和4个WaveNet(比如pt-PT-Wavenet-A),每个都有不同的性别和音色。

3. 生成你想要的语音音频

选好目标语音后,调用synthesizeSpeech方法生成音频文件或者音频流:

async function generatePtSpeech() {
  const request = {
    input: { text: 'Olá! Esta é uma voz WaveNet em português do Portugal.' },
    // 替换成你选的语音名称
    voice: { languageCode: 'pt-PT', name: 'pt-PT-Wavenet-B' },
    audioConfig: { audioEncoding: 'MP3' },
  };

  const [response] = await client.synthesizeSpeech(request);
  // 保存音频到本地文件
  require('fs').writeFileSync('output.mp3', response.audioContent, 'binary');
  console.log('语音音频已生成!');
}

generatePtSpeech();

关于移动端的补充

如果你是在Android/iOS应用中开发,同样需要配置使用Google Cloud TTS引擎,而不是系统默认的TTS服务,才能获取到这些丰富的语音变体。Android上可以通过Google Cloud的REST API或者客户端库来调用,iOS同理。

总结

原生Web Speech API受限于浏览器/系统,拿不到完整的Google语音库;要获取那8种pt-PT语音,必须使用Google Cloud Text-to-Speech服务,通过官方API来调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 09:11:41