Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -5,7 +5,7 @@ import soundfile as sf
|
|
| 5 |
from huggingface_hub import login
|
| 6 |
from diffusers import StableAudioPipeline
|
| 7 |
import os
|
| 8 |
-
|
| 9 |
|
| 10 |
# Load Hugging Face token securely
|
| 11 |
HUGGINGFACE_TOKEN = os.getenv("HF_TOKEN")
|
|
@@ -22,8 +22,8 @@ pipe = StableAudioPipeline.from_pretrained("stabilityai/stable-audio-open-1.0",
|
|
| 22 |
pipe = pipe.to(device)
|
| 23 |
|
| 24 |
# Path to store generated audio files
|
| 25 |
-
OUTPUT_PATH = "./generated_audio"
|
| 26 |
-
os.makedirs(OUTPUT_PATH, exist_ok=True)
|
| 27 |
|
| 28 |
# Initialize Flask app
|
| 29 |
app = Flask(__name__)
|
|
@@ -48,17 +48,29 @@ def generate_audio():
|
|
| 48 |
num_waveforms_per_prompt=1,
|
| 49 |
generator=generator
|
| 50 |
).audios
|
| 51 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
# Convert to numpy and save to a WAV file
|
| 53 |
output_audio = audio_output[0].T.float().cpu().numpy()
|
| 54 |
output_filename = "output.wav"
|
| 55 |
-
output_path = os.path.join(OUTPUT_PATH, output_filename)
|
| 56 |
sf.write(output_path, output_audio, pipe.vae.sampling_rate)
|
| 57 |
|
| 58 |
if os.path.exists(output_path):
|
| 59 |
return send_file(output_path, as_attachment=True)
|
| 60 |
else:
|
| 61 |
return {"error": f"File not found at {output_path}"}, 404
|
|
|
|
|
|
|
| 62 |
|
| 63 |
# Return the WAV file
|
| 64 |
#return jsonify({"file_path": absolute_output_path}), 200
|
|
|
|
| 5 |
from huggingface_hub import login
|
| 6 |
from diffusers import StableAudioPipeline
|
| 7 |
import os
|
| 8 |
+
import io
|
| 9 |
|
| 10 |
# Load Hugging Face token securely
|
| 11 |
HUGGINGFACE_TOKEN = os.getenv("HF_TOKEN")
|
|
|
|
| 22 |
pipe = pipe.to(device)
|
| 23 |
|
| 24 |
# Path to store generated audio files
|
| 25 |
+
#OUTPUT_PATH = "./generated_audio"
|
| 26 |
+
#os.makedirs(OUTPUT_PATH, exist_ok=True)
|
| 27 |
|
| 28 |
# Initialize Flask app
|
| 29 |
app = Flask(__name__)
|
|
|
|
| 48 |
num_waveforms_per_prompt=1,
|
| 49 |
generator=generator
|
| 50 |
).audios
|
| 51 |
+
|
| 52 |
+
# Convert audio to BytesIO in memory
|
| 53 |
+
output_io = io.BytesIO()
|
| 54 |
+
output_audio = audio_output[0].T.float().cpu().numpy()
|
| 55 |
+
sf.write(output_io, output_audio, pipe.vae.sampling_rate) # Save as WAV or your preferred format
|
| 56 |
+
output_io.seek(0) # Reset buffer pointer to beginning
|
| 57 |
+
|
| 58 |
+
# Send the file in response as attachment for download
|
| 59 |
+
return send_file(output_io, as_attachment=True, download_name="output.wav", mimetype='audio/wav')
|
| 60 |
+
|
| 61 |
+
'''
|
| 62 |
# Convert to numpy and save to a WAV file
|
| 63 |
output_audio = audio_output[0].T.float().cpu().numpy()
|
| 64 |
output_filename = "output.wav"
|
| 65 |
+
#output_path = os.path.join(OUTPUT_PATH, output_filename)
|
| 66 |
sf.write(output_path, output_audio, pipe.vae.sampling_rate)
|
| 67 |
|
| 68 |
if os.path.exists(output_path):
|
| 69 |
return send_file(output_path, as_attachment=True)
|
| 70 |
else:
|
| 71 |
return {"error": f"File not found at {output_path}"}, 404
|
| 72 |
+
|
| 73 |
+
'''
|
| 74 |
|
| 75 |
# Return the WAV file
|
| 76 |
#return jsonify({"file_path": absolute_output_path}), 200
|