Update app.py
Browse files
app.py
CHANGED
@@ -16,6 +16,7 @@ st.title("AudioSR: Versatile Audio Super-Resolution")
|
|
16 |
st.write("""
|
17 |
Upload your low-resolution audio files, and AudioSR will enhance them to high fidelity!
|
18 |
Supports all types of audio (music, speech, sound effects, etc.) with arbitrary sampling rates.
|
|
|
19 |
""")
|
20 |
|
21 |
# Upload audio file
|
@@ -49,16 +50,23 @@ if uploaded_file and st.button("Enhance Audio"):
|
|
49 |
# Create temp directory for saving files
|
50 |
with tempfile.TemporaryDirectory() as tmp_dir:
|
51 |
input_path = os.path.join(tmp_dir, "input.wav")
|
|
|
52 |
output_path = os.path.join(tmp_dir, "output.wav")
|
53 |
|
54 |
# Save uploaded file locally
|
55 |
with open(input_path, "wb") as f:
|
56 |
f.write(uploaded_file.read())
|
57 |
|
58 |
-
#
|
59 |
-
|
60 |
-
|
61 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
|
63 |
# Build and load the model
|
64 |
audiosr = build_model(model_name=model_name, device=device)
|
@@ -66,7 +74,7 @@ if uploaded_file and st.button("Enhance Audio"):
|
|
66 |
# Perform super-resolution
|
67 |
waveform = super_resolution(
|
68 |
audiosr,
|
69 |
-
|
70 |
seed=random_seed,
|
71 |
guidance_scale=guidance_scale,
|
72 |
ddim_steps=ddim_steps,
|
@@ -74,7 +82,7 @@ if uploaded_file and st.button("Enhance Audio"):
|
|
74 |
)
|
75 |
|
76 |
# Save enhanced audio
|
77 |
-
save_wave(waveform, inputpath=
|
78 |
|
79 |
# Plot output spectrogram
|
80 |
st.write("Enhanced Audio Spectrogram:")
|
@@ -82,8 +90,8 @@ if uploaded_file and st.button("Enhance Audio"):
|
|
82 |
st.pyplot(output_spectrogram)
|
83 |
|
84 |
# Display audio players and download link
|
85 |
-
st.audio(
|
86 |
-
st.write("Original Audio:")
|
87 |
|
88 |
st.audio(output_path, format="audio/wav")
|
89 |
st.write("Enhanced Audio:")
|
|
|
16 |
st.write("""
|
17 |
Upload your low-resolution audio files, and AudioSR will enhance them to high fidelity!
|
18 |
Supports all types of audio (music, speech, sound effects, etc.) with arbitrary sampling rates.
|
19 |
+
Only the first 10 seconds of the audio will be processed.
|
20 |
""")
|
21 |
|
22 |
# Upload audio file
|
|
|
50 |
# Create temp directory for saving files
|
51 |
with tempfile.TemporaryDirectory() as tmp_dir:
|
52 |
input_path = os.path.join(tmp_dir, "input.wav")
|
53 |
+
truncated_path = os.path.join(tmp_dir, "truncated.wav")
|
54 |
output_path = os.path.join(tmp_dir, "output.wav")
|
55 |
|
56 |
# Save uploaded file locally
|
57 |
with open(input_path, "wb") as f:
|
58 |
f.write(uploaded_file.read())
|
59 |
|
60 |
+
# Load and truncate the first 10 seconds
|
61 |
+
y, sr = librosa.load(input_path, sr=None)
|
62 |
+
max_samples = sr * 10 # First 10 seconds
|
63 |
+
y_truncated = y[:max_samples]
|
64 |
+
librosa.output.write_wav(truncated_path, y_truncated, sr)
|
65 |
+
|
66 |
+
# Plot truncated spectrogram
|
67 |
+
st.write("Truncated Input Audio Spectrogram (First 10 seconds):")
|
68 |
+
truncated_spectrogram = plot_spectrogram(truncated_path, title="Truncated Input Audio Spectrogram")
|
69 |
+
st.pyplot(truncated_spectrogram)
|
70 |
|
71 |
# Build and load the model
|
72 |
audiosr = build_model(model_name=model_name, device=device)
|
|
|
74 |
# Perform super-resolution
|
75 |
waveform = super_resolution(
|
76 |
audiosr,
|
77 |
+
truncated_path,
|
78 |
seed=random_seed,
|
79 |
guidance_scale=guidance_scale,
|
80 |
ddim_steps=ddim_steps,
|
|
|
82 |
)
|
83 |
|
84 |
# Save enhanced audio
|
85 |
+
save_wave(waveform, inputpath=truncated_path, savepath=tmp_dir, name="output", samplerate=48000)
|
86 |
|
87 |
# Plot output spectrogram
|
88 |
st.write("Enhanced Audio Spectrogram:")
|
|
|
90 |
st.pyplot(output_spectrogram)
|
91 |
|
92 |
# Display audio players and download link
|
93 |
+
st.audio(truncated_path, format="audio/wav")
|
94 |
+
st.write("Truncated Original Audio (First 10 seconds):")
|
95 |
|
96 |
st.audio(output_path, format="audio/wav")
|
97 |
st.write("Enhanced Audio:")
|