|
from pydub import AudioSegment |
|
from pydub.playback import play |
|
import gradio as gr |
|
import os as neo |
|
import sys |
|
|
|
now_dir = os.getcwd() |
|
sys.path.append(now_dir) |
|
|
|
def apply_8d_effect(audio_path): |
|
audio = AudioSegment.from_file(audio_path) |
|
num_directions = 8 |
|
panned_tracks = [] |
|
|
|
for i in range(num_directions): |
|
pan_position = i / num_directions |
|
panned_audio = audio.pan(pan_position) |
|
panned_tracks.append(panned_audio) |
|
|
|
output_audio = f"{audio_path}_8d.wav" |
|
combined_audio = sum(panned_tracks) |
|
combined_audio.export(output_audio, format="wav") |
|
|
|
return output_audio |
|
|
|
|
|
|
|
with gr.Blocks() as app: |
|
audio_main = gr.Audio(label="your audio input", type="filepath") |
|
audio_output = gr.Audio(label="your audio output") |
|
|
|
convert_audio = gr.Button("Convert") |
|
convert_audio.click(fn=apply_8d_effect, inputs=[audio_main], outputs=[audio_output]) |
|
|
|
app.launch(share=True) |