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