如何在uniapp中使用免费的微软文本转语音,拟真人,带分词

362 阅读1分钟

一款文本转语音插件,js的,非常好用,直接拿来做转文本的小程序核心,支持大部分平台,模式多样,非常推荐大家使用,可以进行分词 生成srt字幕 标注阅读词等各种功能,nice,一次字数最大应该会是5000,返回支持Base64 可以写文件

import * as _text2voice from './text2voice.js'  //引入js

//获取语音列表  
//如果要返回的时缓存 建议自己代码筛选
let ret = await _text2voice.getVoicesList({
    isZhCn: true 
});
// 返回
// {
//  "locale": "zh-CN-liaoning",
//  "children": [{
//      "Name": "Microsoft Server Speech Text to Speech Voice (zh-CN-liaoning, XiaobeiNeural)",
//      "ShortName": "zh-CN-liaoning-XiaobeiNeural",
//      "Gender": "Female",
//      "SuggestedCodec": "audio-24khz-48kbitrate-mono-mp3",
//      "FriendlyName": "Microsoft Xiaobei Online (Natural) - Chinese (Northeastern Mandarin)",
//      "Status": "GA",
//      "VoiceTag": {
//          "ContentCategories": [
//              "Dialect"
//          ],
//          "VoicePersonalities": [
//              "Humorous"
//          ]
//      }
//  }]
// }

let params = {
    sign: index, //提供一个标识便于回调进度
    output: {
        format: 'audio-24khz-48kbitrate-mono-mp3', //支持 audio-24khz-48kbitrate-mono-mp3 / audio-24khz-96kbitrate-mono-mp3 / webm-24khz-16bit-mono-opus
        retType: 'Base64', // 支持  Base64  ArrayBuffer 
        sentence: true, //字幕输出 句子或者
        word: true //字幕输出 单词级别
    },
    text: '需要转语音的文案',
    voice: {
        anchor:'Microsoft Server Speech Text to Speech Voice (zh-CN, YunyangNeural)', //主播名称  语音列表获取
        pitch: 0, //  声调 -100 - 100
        volume:0, //  音量 -100 - 100
        rate:0 //  声速 -100 - 100
    }
}

// #ifdef APP-PLUS
let ret = await _text2voice.text2voice(params, this.text2voice_callback, true);
// #endif
// #ifndef APP-PLUS
let ret = await _text2voice.text2voice(params, this.text2voice_callback);
// #endif

ret.data; //base64的数据
ret.boundaryList; //分词列表 组合字幕用

//示例提供了播放   推荐下载查看

text2voice_callback(data) {
    console.log('收到回调进度:' + JSON.stringify(data));
    if (data.sign == 1) {
        //return true; //返回 true  则停止本任务
    }

    return false;
 }

ext.dcloud.net.cn/plugin?id=1…