@minto-ai/microsoft-tts
v1.0.1
Published
借助“微软认知服务语音合成API”实现浏览器端“文本转语音
Downloads
33
Readme
安装
使用 pnpm 进行安装
pnpm install @minto-ai/microsoft-tts使用
引入库
import microsoftTts from '@minto-ai/microsoft-tts'初始化
microsoftTts.config({
// Azure语音服务订阅密钥
subscriptionKey: 'your-subscriptionKey',
// Azure语音服务区域(如"southeastasia")
region: 'your-region',
})创建应用实例
const ttsInstance = microsoftTts.create({
// 音色
voice_type: 'zh-CN-XiaoxiaoNeural',
})可用方法
开始转换
ttsInstance.start()发送文本
ttsInstance.send('你好呀。')结束转换
通知应用发送文本已经结束,但是不会销毁应用,剩余的文本将会继续播放。
ttsInstance.end()销毁应用
应用播放结束,应用将会被销毁。剩余的文本将会停止播放。
ttsInstance.finish()调整音量
// 静音
ttsInstance.mute()
// 恢复音量
ttsInstance.unmute()应用钩子
audioFirstStart
ttsInstance.on('audioFirstStart', () => {
console.log('音频首次播放')
})appError
ttsInstance.on('appError', (error) => {
console.log('应用错误', error)
})appFinish
ttsInstance.on('appFinish', () => {
console.log('应用已销毁')
})示例代码
import microsoftTts from '@minto-ai/microsoft-tts'
microsoftTts.config()
const ttsInstance = microsoftTts.create({
voice_type: 'zh_female_daimengchuanmei_moon_bigtts'
})
ttsInstance
.on('appFinish', () => {
console.log('appFinish')
})
.on('audioFirstStart', () => {
console.log('audioFirstStart')
})
const zzButton = document.createElement('button')
zzButton.textContent = '终止'
const jxButton = document.createElement('button')
jxButton.textContent = '继续'
let timer = null
zzButton.onclick = () => {
ttsInstance.finish()
clearTimeout(timer)
}
jxButton.onclick = () => {
clearTimeout(timer)
const arrText = [
`你要抱`,
`抱我吗?`,
`我好`,
`喜欢你呀!`,
]
let index = 0
timer = setInterval(() => {
ttsInstance.send(arrText[index])
index += 1
if (index === arrText.length) {
ttsInstance.end()
clearInterval(timer)
}
}, 100)
}
document.body.appendChild(jxButton)
document.body.appendChild(zzButton)