一款文本转语音插件,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;
}