|
import gradio as gr |
|
import os |
|
from basic_pitch.inference import predict_and_save |
|
def predict(ina): |
|
predict_and_save( |
|
[ina], |
|
'/'.join(ina.split('/')[:-1]), |
|
True, |
|
True, |
|
False, |
|
False, |
|
) |
|
ina='.'.join(ina.split('.')[:-1]) |
|
ina=ina+'_basic_pitch' |
|
os.system(f'ffmpeg -i "{ina}.wav" -f mp3 -acodec libmp3lame -y "{ina}.mp3"') |
|
|
|
return f'{ina}.mp3',f'{ina}.mid' |
|
aud=gr.Audio(label="mp3/ogg/wav/flac/m4a 尽量不要叫容易重名的文件名",type='filepath') |
|
oa=gr.Audio(label="预览midi") |
|
pf=gr.File(label="下载midi") |
|
demo = gr.Interface(fn=predict, inputs=[aud], outputs=[oa,pf]) |
|
demo.launch() |