| 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() |