gpt4 book ai didi

audio - 如何让不和谐机器人在语音 channel 中说出字符串/短语。 (就像文字转语音的东西)

转载 作者:行者123 更新时间:2023-12-03 02:28:17 25 4
gpt4 key购买 nike

我认识的人告诉我,我应该使用某种发送流的 npm 包,然后使用 VoiceConnection.playStream但告诉我他不知道任何这样做的包裹。

我正在使用 discord.js。

最佳答案

您可以使用say从文本生成音频文件,将其导出,然后在语音 channel 中播放声音。

const say = require('say');
...
function tts(voiceChannel, text) {
if (!FS.existsSync('./temp')){
FS.mkdirSync('./temp');
}
const timestamp = new Date().getTime();
const soundPath = `./temp/${timestamp}.wav`;
say.export(text, null, 1, soundPath, (err) => {
if (err) {
console.error(err);
return;
}else{
voiceChannel.join().then((connection) => {
connection.playFile(soundPath).on('end', () => {
connection.disconnect();
FS.unlinkSync(soundPath);
}).on('error', (err) => {
console.error(err);
connection.disconnect();
FS.unlinkSync(soundPath);
});
}).catch((err) => {
console.error(err);
});
}
});
}

不幸的是 say.export() doesn't work on Linux .

关于audio - 如何让不和谐机器人在语音 channel 中说出字符串/短语。 (就像文字转语音的东西),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59567358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com