阿里云语音合成TTS nodejs sdk接入示例

复制代码
npm i @alicloud/pop-core -S

实例化客户端

复制代码
// 官方文档:https://help.aliyun.com/document_detail/72153.html?spm=a2c4g.94737.0.0.2457323fp1TvWy#554cde703a4xl
const RPCClient = require('@alicloud/pop-core').RPCClient
const ttsClient = new RPCClient({
    accessKeyId: 'xxx', // 阿里云申请
    accessKeySecret: 'xxx', // 阿里云申请
    endpoint: 'http://nls-meta.cn-shanghai.aliyuncs.com/',
    apiVersion: '2019-02-28'
})

Copy

接口

复制代码
router.get('/get/tts/url', async (req, res) => {
    // 获取token
    // 官方文档:https://help.aliyun.com/document_detail/72153.html?spm=a2c4g.94737.0.0.2457323fp1TvWy#554cde703a4xl
    let token;
    if(req.cookies.tts_token) {
        token = req.cookies.tts_token
    } else {
        const result = await ttsClient.request('CreateToken')
        if(result.ErrCode) {
            console.error(result)
        } else {
            token = result.Token.Id
            res.cookie('tts_token', token, { expires: new Date(result.Token.ExpireTime * 1000) })
        }
    }
    // RESTful API
    // 官方文档:https://help.aliyun.com/document_detail/94737.html?spm=a2c4g.450255.0.0.3d044919tDgkvd
    const url = `https://nls-gateway-cn-shanghai.aliyuncs.com/stream/v1/tts?appkey=xxx&token=${token}&text=${req.query.text}&format=wav&sample_rate=16000&voice=aida`
    // 转换成音频输出
    https.get(url, (response) => {
        res.setHeader('Content-Type', 'audio/mpeg')
        response.pipe(res)
    })
})

Copy

前端调用

复制代码
const ttsAudio = new Audio()
ttsAudio.src = `http://localhost/get/tts/url?text=${encodeURI('你好,世界')}`
ttsAudio.play()
ttsAudio.onended = function () {
  // ...
}
相关推荐
咚咚王者几秒前
人工智能之数据分析 Pandas:第三章 DataFrame
人工智能·数据分析·pandas
明月(Alioo)几秒前
机器学习入门,微积分之导数概念
人工智能·机器学习
薛定e的猫咪1 分钟前
中国版 ReadmeX + 海外爆款 Zread.ai:两款 AI 工具重构开源项目探索方式,一键解析GitHub项目,生成超详细技术文档。
人工智能·重构·开源
跨境摸鱼3 分钟前
AI 赋能!亚马逊竞争情报的“重构式”升级,破解竞品迷局
人工智能·矩阵·重构·跨境电商·亚马逊·防关联
AI即插即用13 分钟前
即插即用系列 | CVPR 2024 ABC-Attention:基于双线性相关注意力的红外小目标检测
图像处理·人工智能·深度学习·目标检测·计算机视觉·cnn·视觉检测
AI即插即用14 分钟前
即插即用系列 | WACV 2025 SvANet:专为极小目标(<1%)设计的尺度变化注意力网络,医学图像分割新SOTA!
人工智能·深度学习·神经网络·目标检测·计算机视觉·cnn·视觉检测
秋邱19 分钟前
AR + 离线 AI 实战:YOLOv9+TensorFlow Lite 实现移动端垃圾分类识别
开发语言·前端·数据库·人工智能·python·html
SVIP1115929 分钟前
webpack入门 精细版
前端·webpack·node.js
Sheffi6630 分钟前
大语言模型 (LLM) 在 App 中的集成方式
人工智能·语言模型·自然语言处理
Swift社区30 分钟前
在 Swift 中使用 Image Playground 生成 AI 图像:完整实战指南
开发语言·人工智能·swift