|
import streamlit as st |
|
import noisereduce as nr |
|
from pydub import AudioSegment |
|
|
|
|
|
st.title("Audio Processing App") |
|
|
|
|
|
uploaded_audio = st.file_uploader("Upload an audio file", type=["mp3", "wav"]) |
|
|
|
if uploaded_audio is not None: |
|
|
|
|
|
st.write("Cleaning audio...") |
|
|
|
audio = AudioSegment.from_file(uploaded_audio) |
|
|
|
audio_data = audio.get_array_of_samples() |
|
|
|
reduced_audio = nr.reduce_noise(y=audio_data, sr=audio.frame_rate) |
|
|
|
|
|
st.write("Slowing down audio...") |
|
slowed_audio = audio.speedup(playback_speed=0.7) |
|
|
|
|
|
st.write("Generating output audio...") |
|
slowed_audio.export("output_audio.wav", format="wav") |
|
|
|
|
|
st.audio("output_audio.wav") |
|
|
|
|
|
if __name__ == "__main__": |
|
st.write("Upload an audio file to get started.") |
|
|