阿里云语音合成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 () {
  // ...
}
相关推荐
Qiuner15 分钟前
两年经验前端带你重学前端框架必会的ajax+node.js+webpack+git等技术 Day2
ajax·前端框架·node.js
光电的一只菜鸡20 分钟前
相机光学(二十五)——数字相机和模拟相机
人工智能·数码相机
Czi.43 分钟前
Build a Large Language Model (From Scratch)附录E(gpt-4o翻译版)
人工智能·语言模型·自然语言处理
DS小龙哥44 分钟前
QT+OpenCV在Android上实现人脸实时检测与目标检测
android·人工智能·qt·opencv·目标检测
我爱学Python!1 小时前
AI时代的产品经理的成长之路:可能是小宇宙最全的产品经理指南(中)
人工智能·深度学习·神经网络·大语言模型·产品经理·ai大模型·大语言大模型
Thetoicxdude1 小时前
迎接AI時代的新篇章:GPT-5 技術突破與未來展望
人工智能
聊聊网事2 小时前
【AI资讯】可以媲美GPT-SoVITS的低显存开源文本转语音模型Fish Speech
人工智能·gpt
2的n次方_2 小时前
迎接AI新时代:GPT-5即将登场的巨大变革与应用前瞻
人工智能·gpt·学习
Czi.2 小时前
Build a Large Language Model (From Scratch)附录D(gpt-4o翻译版)
人工智能·语言模型·自然语言处理
xiandong202 小时前
240707_昇思学习打卡-Day19-基于MindSpore通过GPT实现情感分类
人工智能·gpt·学习·分类