如何在Python Flask环境中处理本地音频文件
我在web开发方面没有经验,但我正在尝试使用Flask将一些python转化为web应用程序。基本思想是,我需要能够接受音频文件输入,处理音频,并报告各种结果。我能够接受用户对音频文件的输入,并将其保存到项目目录中的本地文件夹中。我想在上传文件后访问该文件夹中的文件,并对该文件调用python函数进行音频处理。当我不在Flask环境中调用我的脚本时,这工作得非常好。当我试图在flask环境中调用我的脚本时,我得到了一个很长的回溯,导致JSONdecode错误 我的问题是:既然我能够在本地保存上传的音频文件,我如何在Flask应用程序中调用本地文件上的脚本? 下面是我试图执行的处理脚本,它接收本地音频文件,删除静默,并将处理后的音频导出到另一个本地目录。我正在使用pydub和pyAudioAnalysis进行处理如何在Python Flask环境中处理本地音频文件,python,flask,audio,audio-processing,Python,Flask,Audio,Audio Processing,我在web开发方面没有经验,但我正在尝试使用Flask将一些python转化为web应用程序。基本思想是,我需要能够接受音频文件输入,处理音频,并报告各种结果。我能够接受用户对音频文件的输入,并将其保存到项目目录中的本地文件夹中。我想在上传文件后访问该文件夹中的文件,并对该文件调用python函数进行音频处理。当我不在Flask环境中调用我的脚本时,这工作得非常好。当我试图在flask环境中调用我的脚本时,我得到了一个很长的回溯,导致JSONdecode错误 我的问题是:既然我能够在本地保存上传
def remove_silence(audio_file):
audio_path = "./upload_data/" + audio_file
name = audio_file.split(".")[0]
filetype = audio_file.split(".")[-1]
audio = AudioSegment.from_file(audio_path, format=filetype)
[fs, x] = audioBasicIO.readAudioFile(audio_path)
segments = aS.silenceRemoval(x, fs, .020, .020, smoothWindow=1.0, weight=.3, plot=False)
speech_times = list(segments)
for speech in speech_times:
for i in range(2):
speech[i] *= 1000
speech_clips = [audio[speech_times[i][0]:speech_times[i][1]] for i in range(len(speech_times))]
combined = AudioSegment.empty()
for clip in speech_clips:
combined += clip
combined.export("./processed_audio/processed_" + name + ".mp3", format="mp3")
下面是is尝试在flask应用程序中调用函数的代码:
@app.route('/', methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
# check if the post request has the file part
if 'file' not in request.files:
flash('No file part')
return redirect(request.url)
file = request.files['file']
# if user does not select file, browser also
# submit an empty part without filename
if file.filename == '':
flash('No selected file')
return redirect(request.url)
if file and allowed_file(file.filename):
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
# now that the file has been saved I need to process it
remove_silence(file.filename)
return render_template('home.html')
感谢您的帮助。谢谢大家! 在哪一点上会出现JSONdecode错误?你是如何发送你的发帖请求的?我尝试了烧瓶设置的最低版本,没有得到任何错误。另外:我认为这与错误无关,但您似乎没有使用最新版本的pyAudioAnalysis(readAudioFile已被重构为read_audio_文件)。请发布错误的完整回溯,您在哪一点上得到了JSONdecode错误?你是如何发送你的发帖请求的?我尝试了烧瓶设置的最低版本,没有得到任何错误。另外:我认为这与错误无关,但您似乎没有使用最新版本的pyAudioAnalysis(readAudioFile已被重构为read_audio_文件)。请发布错误的完整回溯