piper.ts 472 B

123456789101112131415161718192021
  1. import { TTSBackend } from "@/types/backend";
  2. export async function piper(
  3. config: TTSBackend["piper"],
  4. message: string,
  5. ) {
  6. try {
  7. const url = new URL(config?.piper_url!);
  8. url.searchParams.append('text', message);
  9. const res = await fetch(url.toString());
  10. const data = (await res.arrayBuffer()) as any;
  11. return { audio: data };
  12. } catch (error) {
  13. console.error('Error in piper:', error);
  14. throw error;
  15. }
  16. }