Update app.py
Browse files
app.py
CHANGED
@@ -248,14 +248,16 @@ def generate_music(
|
|
248 |
def convert_to_audio(codec_result, rescale):
|
249 |
with torch.no_grad():
|
250 |
decoded_waveform = codec_model.decode(
|
251 |
-
|
252 |
-
|
|
|
253 |
decoded_waveform = decoded_waveform.cpu().squeeze(0)
|
254 |
|
255 |
limit = 0.99
|
256 |
max_val = decoded_waveform.abs().max()
|
257 |
scaled_waveform = decoded_waveform * min(limit / max_val, 1) if rescale else decoded_waveform.clamp(-limit, limit)
|
258 |
-
|
|
|
259 |
|
260 |
vocal_audio = convert_to_audio(vocals, rescale)
|
261 |
instrumental_audio = convert_to_audio(instrumentals, rescale)
|
|
|
248 |
def convert_to_audio(codec_result, rescale):
|
249 |
with torch.no_grad():
|
250 |
decoded_waveform = codec_model.decode(
|
251 |
+
# Corrected line: Convert numpy array to PyTorch tensor with appropriate type
|
252 |
+
torch.as_tensor(codec_result, dtype=torch.int16).unsqueeze(0).permute(1, 0, 2).to(device)
|
253 |
+
)
|
254 |
decoded_waveform = decoded_waveform.cpu().squeeze(0)
|
255 |
|
256 |
limit = 0.99
|
257 |
max_val = decoded_waveform.abs().max()
|
258 |
scaled_waveform = decoded_waveform * min(limit / max_val, 1) if rescale else decoded_waveform.clamp(-limit, limit)
|
259 |
+
# Corrected line: Convert to numpy array before casting to int16
|
260 |
+
return (16000, (scaled_waveform * 32767).detach().cpu().numpy().astype(np.int16))
|
261 |
|
262 |
vocal_audio = convert_to_audio(vocals, rescale)
|
263 |
instrumental_audio = convert_to_audio(instrumentals, rescale)
|