File size: 1,017 Bytes
e1079c4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2ed5af9
 
 
 
e1079c4
 
2ed5af9
e1079c4
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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,
        normalize=False,
        text=input_text)
    #print(tts_request)
    # Collect audio chunks for TTS
    for chunk in session.tts(tts_request, backend="speech-1.6"):
        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