Update app.py
Browse files
app.py
CHANGED
|
@@ -70,6 +70,21 @@ async def generate(prompt: str, duration: float = 10.0):
|
|
| 70 |
|
| 71 |
audio = output.audios[0]
|
| 72 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 73 |
filename = f"{uuid.uuid4().hex}.wav"
|
| 74 |
path = os.path.join(OUTPUT_DIR, filename)
|
| 75 |
|
|
|
|
| 70 |
|
| 71 |
audio = output.audios[0]
|
| 72 |
|
| 73 |
+
# Convert torch → numpy
|
| 74 |
+
if isinstance(audio, torch.Tensor):
|
| 75 |
+
audio = audio.detach().cpu().numpy()
|
| 76 |
+
|
| 77 |
+
# If shape is (channels, samples), transpose it
|
| 78 |
+
if audio.ndim == 2 and audio.shape[0] < audio.shape[1]:
|
| 79 |
+
audio = audio.T
|
| 80 |
+
|
| 81 |
+
# Ensure float32
|
| 82 |
+
audio = audio.astype("float32")
|
| 83 |
+
|
| 84 |
+
# Clamp to valid range
|
| 85 |
+
audio = audio.clip(-1.0, 1.0)
|
| 86 |
+
|
| 87 |
+
|
| 88 |
filename = f"{uuid.uuid4().hex}.wav"
|
| 89 |
path = os.path.join(OUTPUT_DIR, filename)
|
| 90 |
|