Update app.py
Browse files
app.py
CHANGED
@@ -1,17 +1,20 @@
|
|
1 |
import os
|
2 |
-
|
|
|
|
|
|
|
|
|
3 |
from fastapi import FastAPI
|
4 |
from pydantic import BaseModel
|
5 |
-
from transformers import AutoProcessor
|
|
|
6 |
import torch
|
|
|
7 |
from fastapi.responses import StreamingResponse
|
8 |
-
|
9 |
-
# Use /tmp for cache to avoid permission errors
|
10 |
-
os.environ["HF_HOME"] = "/tmp"
|
11 |
|
12 |
app = FastAPI()
|
13 |
|
14 |
-
# Load processor and model once on startup
|
15 |
model_name = "Somali-tts/somali_tts_model"
|
16 |
processor = AutoProcessor.from_pretrained(model_name)
|
17 |
model = VitsForConditionalGeneration.from_pretrained(model_name)
|
@@ -28,8 +31,6 @@ async def synthesize_tts(data: TextInput):
|
|
28 |
audio = model.generate(**inputs)
|
29 |
audio = audio.squeeze().cpu().numpy()
|
30 |
|
31 |
-
# Convert to WAV bytes in-memory
|
32 |
-
import soundfile as sf
|
33 |
buf = io.BytesIO()
|
34 |
sf.write(buf, audio, samplerate=22050, format="WAV")
|
35 |
buf.seek(0)
|
|
|
1 |
import os
|
2 |
+
|
3 |
+
# Fix PyTorch Inductor cache directory and HF cache permission issues on Hugging Face Spaces
|
4 |
+
os.environ["TORCHINDUCTOR_CACHE_DIR"] = "/tmp"
|
5 |
+
os.environ["HF_HOME"] = "/tmp"
|
6 |
+
|
7 |
from fastapi import FastAPI
|
8 |
from pydantic import BaseModel
|
9 |
+
from transformers import AutoProcessor
|
10 |
+
from transformers.models.vits.modeling_vits import VitsForConditionalGeneration
|
11 |
import torch
|
12 |
+
import io
|
13 |
from fastapi.responses import StreamingResponse
|
14 |
+
import soundfile as sf
|
|
|
|
|
15 |
|
16 |
app = FastAPI()
|
17 |
|
|
|
18 |
model_name = "Somali-tts/somali_tts_model"
|
19 |
processor = AutoProcessor.from_pretrained(model_name)
|
20 |
model = VitsForConditionalGeneration.from_pretrained(model_name)
|
|
|
31 |
audio = model.generate(**inputs)
|
32 |
audio = audio.squeeze().cpu().numpy()
|
33 |
|
|
|
|
|
34 |
buf = io.BytesIO()
|
35 |
sf.write(buf, audio, samplerate=22050, format="WAV")
|
36 |
buf.seek(0)
|