我目前正在从事一个django项目,在该项目中,我需要录制用户的音频并将其发送到服务器进行处理。我已经使用webRTC成功地录制了音频,并使用ajax请求将其传递给视图。但是,当我尝试使用librosa加载音频文件进行处理时,会出现未知文件格式的错误
要检查录制时文件格式是否有误,请尝试librosa和webRTC都支持的不同文件格式
为了检查在服务器上接收文件时是否有问题,我确实将文件上传到了服务器上,我发现文件上传到了服务器上,可以直接在播放器上播放
我用来上传文件并检索它的代码(注意:我直接将文件路径提供给任何记录的文件只是为了检查)
def voice2(request):
if request.method=='GET':
return render(request,'record3.html')
else:
if request.method == 'POST' :
print(request.FILES)
audio=request.FILES.get("audioData")
print(audio)
file = request.FILES['audioData']
path = default_storage.save('media/somename.wav', ContentFile(file.read()))
(os.path.join(settings.MEDIA_ROOT, path))
sig, samplerate = librosa.load(r'C:\Users\KRISHNA DAVE\project\tempproject\media\media\somename.wav')
return render(request, 'record3.html')
现在,为了检查librosa无法读取该文件或该文件有问题,这次我从internet下载了一个示例音频文件,然后创建了一个新的audio.py文件,我尝试在其中加载两个文件(我上载的和我下载的)
import librosa
#downloaded from internet
a,b=librosa.load(r"C:\Users\KRISHNA DAVE\Music\samplewav.wav")
print(a,b)
#recorded file
y, sr = librosa.load(r"C:\Users\KRISHNA DAVE\project\tempproject\media\media\somename.wav")
print(y,sr)
在这里,我发现下载的文件已成功加载,但我录制的文件仍未加载(我仍然收到文件格式未知的错误)
我仍然无法理解该如何解决这个问题。我应该用其他东西替换使用webRTC,还是应该更改音频编解码器,或者需要使用不同的库(注意:我已经使用了librosa,它也间接使用了soundfile,也直接尝试了soundfile,我不能使用pyAudioAnalysis,因为我使用的是python 3.6,pyAudioAnalysis与此版本不兼容)?
目前没有回答
相关问题 更多 >
编程相关推荐