阿里云语音合成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 () {
  // ...
}
相关推荐
井底哇哇27 分钟前
ChatGPT是强人工智能吗?
人工智能·chatgpt
Coovally AI模型快速验证32 分钟前
MMYOLO:打破单一模式限制,多模态目标检测的革命性突破!
人工智能·算法·yolo·目标检测·机器学习·计算机视觉·目标跟踪
AI浩1 小时前
【面试总结】FFN(前馈神经网络)在Transformer模型中先升维再降维的原因
人工智能·深度学习·计算机视觉·transformer
可为测控1 小时前
图像处理基础(4):高斯滤波器详解
人工智能·算法·计算机视觉
一水鉴天2 小时前
为AI聊天工具添加一个知识系统 之63 详细设计 之4:AI操作系统 之2 智能合约
开发语言·人工智能·python
倔强的石头1062 小时前
解锁辅助驾驶新境界:基于昇腾 AI 异构计算架构 CANN 的应用探秘
人工智能·架构
佛州小李哥3 小时前
Agent群舞,在亚马逊云科技搭建数字营销多代理(Multi-Agent)(下篇)
人工智能·科技·ai·语言模型·云计算·aws·亚马逊云科技
说私域3 小时前
社群裂变+2+1链动新纪元:S2B2C小程序如何重塑企业客户管理版图?
大数据·人工智能·小程序·开源
程序猿阿伟3 小时前
《探秘鸿蒙Next:如何保障AI模型轻量化后多设备协同功能一致》
人工智能·华为·harmonyos
2401_897579653 小时前
AI赋能Flutter开发:ScriptEcho助你高效构建跨端应用
前端·人工智能·flutter