阿里云语音合成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 () {
  // ...
}
相关推荐
程序员是干活的11 分钟前
Java EE前端技术编程脚本语言JavaScript
java·大数据·前端·数据库·人工智能
chaofan98040 分钟前
ERNIE-4.5-0.3B 实战指南:文心一言 4.5 开源模型的轻量化部署与效能跃升
人工智能·开源·文心一言
hppyhjh42 分钟前
【昇腾CANN训练营】深入cann-ops仓算子编译出包流程
人工智能
飞凌嵌入式43 分钟前
飞凌嵌入式亮相第九届瑞芯微开发者大会:AIoT模型创新重做产品
人工智能·嵌入式硬件·嵌入式·飞凌嵌入式
大模型工程师43 分钟前
TongYiLingMa插件下Qwen3-Coder
人工智能
大模型工程师1 小时前
独立开发:高效集成大模型,看这篇就够了
人工智能
倔强青铜三1 小时前
苦练Python第35天:数据结构挑战题,实战演练
人工智能·python·面试
说私域1 小时前
基于开源链动2+1模式AI智能名片S2B2C商城小程序的私域流量池用户运营研究
人工智能·小程序·开源
倔强青铜三1 小时前
苦练Python第32天:Python百宝箱,collections模块5大杀器
人工智能·python·面试