Spaces:
Running
Running
File size: 896 Bytes
1c817fd 7b74407 1c817fd 7b74407 1c817fd 7b74407 1c817fd 7b74407 1c817fd 7b74407 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
from flask import jsonify, send_file, request
from main import *
import torch, torchaudio, uuid, io, base64
def text_to_speech_func(text, output_path="output_audio.wav"):
if tts_model is None: return {"error": "TTS model not initialized."}
input_tokens = tts_model.tokenizer(text, return_tensors="pt", padding=True).to(device)
with torch.no_grad(): audio_output = tts_model(input_tokens['input_ids'])
torchaudio.save(output_path, audio_output.cpu(), 16000); return output_path
def tts_api(text):
output_file = text_to_speech_func(text)
if isinstance(output_file, dict) and "error" in output_file: return {"error": output_file["error"]}
with open(output_file, 'rb') as f: audio_content = f.read()
audio_base64 = base64.b64encode(audio_content).decode('utf-8'); os.remove(output_file); return {"audio_base64": audio_base64, "mimetype": "audio/wav"}
|