Google TTS 项目介绍
Google TTS(文本转语音)是一个为 Node.js 开发的实用工具,旨在轻松地将文本转化为语音。这一项目通过调用 Google 的在线服务,将给定的文本生成对应的语音输出。
安装方式
要使用 Google TTS,需要在 Node.js 环境中安装 google-tts-api
包。具体的安装方式如下:
$ npm install --save google-tts-api
$ npm install -D typescript @types/node # 仅用于 TypeScript
功能方法
Google TTS 提供了几种方法来生成语音文件,每种方法都提供了一些可选参数,用户可以根据需求进行调整。
1. getAudioUrl
方法
- 作用: 返回文本的音频 URL。
- 可选参数:
lang
(语言),slow
(语速),host
(服务器地址)。 - 返回类型:
string
。
2. getAudioBase64
方法
- 作用: 返回文本的音频的 Base64 编码。
- 可选参数:
lang
,slow
,host
,timeout
(超时设置)。 - 返回类型:
Promise<string>
。
3. getAllAudioUrls
方法
- 作用: 针对超过 200 个字符的文本,返回多段音频的 URL 列表。
- 可选参数:
lang
,slow
,host
,splitPunct
(分隔标点)。 - 返回类型:
{ shortText: string; url: string; }[]
。
4. getAllAudioBase64
方法
- 作用: 针对超过 200 个字符的文本,返回多段音频的 Base64 编码列表。
- 可选参数:
lang
,slow
,host
,timeout
,splitPunct
。 - 返回类型:
Promise<{ shortText: string; base64: string; }[]>
。
选项说明
lang
: 设置语音的语言,默认为英语(en
)。用户可以在Google 文档中查看所有可用语言代码。slow
: 当设置为true
时,使用慢速语音。host
: 默认使用https://translate.google.com
,当默认服务器不能使用时可以切换到其他区域支持的服务器,如https://translate.google.com.cn
。timeout
: 仅用于getAudioBase64
和getAllAudioBase64
方法,用于设置 HTTP 请求的超时时间,默认 10000 毫秒。splitPunct
: 仅用于getAllAudioUrls
和getAllAudioBase64
,用于设置标点符号以分割长文本。
使用示例
以下是如何使用 Google TTS 项目的几个示例代码。
示例1:获取音频 URL
import * as googleTTS from 'google-tts-api'; // ES6 或 TypeScript 版本
const googleTTS = require('google-tts-api'); // CommonJS 版本
// 获取音频 URL
const url = googleTTS.getAudioUrl('Hello World', {
lang: 'en',
slow: false,
host: 'https://translate.google.com',
});
console.log(url); // https://translate.google.com/translate_tts?...
示例2:获取 Base64 编码
import * as googleTTS from 'google-tts-api';
const googleTTS = require('google-tts-api');
// 获取 Base64 文本
googleTTS
.getAudioBase64('Hello World', {
lang: 'en',
slow: false,
host: 'https://translate.google.com',
timeout: 10000,
})
.then(console.log) // Base64 文本
.catch(console.error);
示例3:获取长文本音频 URLs
import * as googleTTS from 'google-tts-api';
const googleTTS = require('google-tts-api');
const results = googleTTS.getAllAudioUrls('LONG_TEXT_...', {
lang: 'en',
slow: false,
host: 'https://translate.google.com',
splitPunct: ',.?',
});
console.log(results);
// 示例输出:[ { shortText: '...', url: '...' }, { shortText: '...', url: '...' }, ... ]
示例4:获取长文本 Base64
import * as googleTTS from 'google-tts-api';
const googleTTS = require('google-tts-api');
googleTTS
.getAllAudioBase64('LONG_TEXT_...', {
lang: 'en',
slow: false,
host: 'https://translate.google.com',
timeout: 10000,
splitPunct: ',.?',
})
.then(console.log)
// 示例输出:[ { shortText: '...', base64: '...' }, { shortText: '...', base64: '...' }, ... ]
.catch(console.error);
许可证
Google TTS 采用 MIT 许可证,详细信息可以查看项目的许可证文件。
对于开发者而言,Google TTS 提供了一种简单而强大的实现文本到语音转换的方法,其灵活的 API 和多变的选项,使其能够应用到多种不同的场景中。通过结合 Google 的语言引擎,这一工具在技术上保证了高质量的语音输出。