鸡杂的新技能——tts实现文本转语音初尝试


前言

开始文章之前,先讲一个故事吧!
鸡杂是一只小小的鸡,与其他小鸡一样,它的生活很平凡。它每天早上会和其他小鸡一起在鸡舍里啄食谷物,然后在阳光明媚的天气里在草地上奔跑嬉戏。但是,有一天,鸡杂的生活发生了一个巨大的转变。
这一天,鸡杂醒来后发现自己的身体变得异常的轻盈。它感觉自己仿佛在飞翔一样,比其他小鸡跑得更快。这让它感到十分奇怪,不知道自己到底发生了什么变化。
不久之后,鸡杂学会了一项非常奇特的技能——它可以将文本转化为语音!每当它看到一段文字时,它可以轻松地将其转化为一段悦耳动听的声音,这让其他小鸡们感到十分惊讶。
鸡杂开始利用自己的技能,给其他小鸡们朗读着各种有趣的故事和诗歌,成为了小鸡们中的一位名人。然而,鸡杂很快发现,这个技能并不仅仅是给其他小鸡们带来欢乐的工具,还可以帮助其他动物和人类。
一天,一个失明的老婆婆来到了鸡舍里寻求帮助,她希望能够听到一些有趣的故事。鸡杂很快将自己的技能发挥了出来,为老婆婆朗读了很多经典的故事和寓言。老婆婆非常感激鸡杂的帮助,也为它的技能感到十分惊奇。
从那以后,鸡杂开始了一项非常特殊的工作——为那些需要帮助的人们朗读着各种各样的内容,带给他们欢乐和启示。虽然它只是一只小小的鸡,但是它用自己独特的方式,为这个世界带来了一些美好的变化。


一、鸡杂学会的是啥技能?

TTS全称Text to Speech, 是一种文本转语音的一种技术,可以将输入的语音转换成语音的形式输出。现在,TTS被广泛地运用到很多的领域中去,也有很多平台提供了TTS技术,鸡杂这次便是通过百度云来学习了TTS文本转换成语音。

二、学习技能

1.进入百度智能云,使用文本合成语音服务

鸡杂进入了百度智能云,从里面学习了tts技能,这是鸡杂变化的开端。
在这里插入图片描述

2.创建应用,获取密钥

鸡杂完成了这一步可以获得了API Key和Secret Key,以及AppID,知道在后面的操作一定会有用处

在这里插入图片描述

3.获取Access Token

鸡杂通过获取到的API Key 和 Secret Key使用了以下的代码获取到Access Token,为后面成功学会TTS打下了扎实的基础。

const request = require('request')

async function main() {
    var options = {
        'method': 'POST',
        'url': 'https://aip.baidubce.com/oauth/2.0/token?client_id=Em0dn3Kn8rdnoEjdcoAOpLIK&client_secret=7vqnPM5o2MHF0jizZjYZpRgzIvMCEFvc&grant_type=client_credentials',
        'headers': {
            'Content-Type': 'application/json',
            'Accept': 'application/json'
        }
    };

    request(options, function (error, response) {
        if (error) throw new Error(error);
        console.log(response.body);
    });
}

main();

4.一个文字转语音函数

鸡杂学以致用,封装了一个函数,一遍每次能够完美的使用技能。

const http = require('http');
const querystring = require('querystring');
const fs = require('fs');
const path = require('path');

const getSpeak = (text) => {
    const postData = querystring.stringify({
        'tex': text,
        'tok': '24.547429524ff49de1b2f9757bd9d5e68b.2592000.1680789290.282335-31051418',
        'cuid': '123612963921649182',
        'ctp': '1',
        'lan': 'zh',
        'spd': '3',
        'per': '3'
    });

    const options = {
        "method": "GET",
        "hostname": "tts.baidu.com",
        "path": "/text2audio?" + postData
    };


    const req = http.request(options, function (res) {
        let chunks = [];
        res.on("data", function (chunk) {
            chunks.push(chunk);
        });

        res.on("end", function () {
            var body = Buffer.concat(chunks);
            var filePath = path.normalize('./mp3/yyy.mp3');
            fs.writeFileSync(filePath, body);
        });
    });

    req.end();
}

module.exports = { getSpeak }

三、使用技能

鸡杂选择使用以前就学的express,来实现了一些简单的接口,为那些需要帮助的人们朗读着各种各样的内容,带给他们欢乐和启示。虽然它只是一只小小的鸡,但是它用自己独特的方式,为这个世界带来了一些美好的变化。

const express = require("express");
const { getSpeak } = require("./utils/getSpeak");
const app = express();
const path = require('path');

app.get('/', (req, res) => {
    res.send('Hello World!')
})

app.get('/getSpeak', (req, res) => {
    const { text } = req.params
    if (!text) {
        return res.status(400).send('Bad Request');
    }
    getSpeak(text);
    res.send('Success!');
});

app.get('/showSpeak', function (req, res) {
    const file = './mp3/yyy.mp3';
    res.sendFile(path.resolve(file));
});


app.listen(7001, () => console.log(' 7001!'))


总结

不好意思让大家看了那么尬的文章,鸡杂终究是只小小的鸡/(ㄒoㄒ)/~~
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值