mirror of
https://github.com/Mintplex-Labs/anything-llm.git
synced 2024-11-14 02:20:12 +01:00
b6be43be95
* Add Speech-to-text and Text-to-speech providers * add files and update comment * update comments * patch: bad playerRef check
30 lines
685 B
JavaScript
30 lines
685 B
JavaScript
class OpenAiTTS {
|
|
constructor() {
|
|
if (!process.env.TTS_OPEN_AI_KEY)
|
|
throw new Error("No OpenAI API key was set.");
|
|
const { OpenAI: OpenAIApi } = require("openai");
|
|
this.openai = new OpenAIApi({
|
|
apiKey: process.env.TTS_OPEN_AI_KEY,
|
|
});
|
|
this.voice = process.env.TTS_OPEN_AI_VOICE_MODEL ?? "alloy";
|
|
}
|
|
|
|
async ttsBuffer(textInput) {
|
|
try {
|
|
const result = await this.openai.audio.speech.create({
|
|
model: "tts-1",
|
|
voice: this.voice,
|
|
input: textInput,
|
|
});
|
|
return Buffer.from(await result.arrayBuffer());
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
OpenAiTTS,
|
|
};
|