@lobehub/tts
Version:
A high-quality & reliable TTS React Hooks library
25 lines (23 loc) • 662 B
JavaScript
import { OpenAITTS } from "../../core/OpenAITTS/index.mjs";
import { useTTS } from "../useTTS/index.mjs";
import { useState } from "react";
//#region src/react/useOpenAITTS/index.ts
const useOpenAITTS = (defaultText, init) => {
const [text, setText] = useState(defaultText);
const { options, api, ...swrConfig } = init;
const [response, setResponse] = useState();
return {
response,
setText,
...useTTS(options.voice, text, async (segmentText) => {
const res = await new OpenAITTS(api).create({
input: segmentText,
options
});
setResponse(res);
return res.arrayBuffer();
}, swrConfig)
};
};
//#endregion
export { useOpenAITTS };