Spaces:
Running
Running
from fish_audio_sdk import Session, TTSRequest | |
import os | |
import tempfile | |
fish_api_key = os.getenv("FISH_API_KEY") | |
session = Session(fish_api_key) | |
def create_model(audio_file, title:str="test"): | |
with open(audio_file, "rb") as voice: | |
print(voice) | |
model = session.create_model( | |
title=title, | |
description=" ", | |
voices=[voice.read()] | |
) | |
return model.id | |
def tts(model_id, input_text): | |
audio_chunks = [] | |
tts_request = TTSRequest(reference_id=model_id, text=input_text) | |
#print(tts_request) | |
# Collect audio chunks for TTS | |
for chunk in session.tts(tts_request): | |
audio_chunks.append(chunk) | |
# Write audio chunks to a temporary file to serve as output | |
with tempfile.NamedTemporaryFile(delete=False, suffix=".wav") as tts_audio: | |
for chunk in audio_chunks: | |
tts_audio.write(chunk) | |
audio_path = tts_audio.name | |
return audio_path | |