首页 > 解决方案 > 我已经在客户端录制了音频,但是尝试在 Django 视图中使用 librosa 加载时出现未知格式错误

问题描述

我需要使用用户语音在后端执行语音识别,而无需使用 api 进行转录。我正在使用 Django 并已成功在 javascript 中记录了用户的声音,但是在使用 librosa 将数据加载到视图中时,它给出了一个错误,即文件包含未知格式的数据

我的ajax请求

$.ajaxSetup({headers:{ "X-CSRFToken": token}})
            $.ajax(
                {
                    url:"{%url 'record:voice2pg'%}",
                    type:'POST',
                    contentType:false,
                    processData:false,
                    data:fd,
                    processData:false,
                    success:function(file){ 
                    alert('post successful')
                        }
                }

我的 django views.py 文件

from django.shortcuts import render
from django.http import HttpResponse
import librosa

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)
            audiodata=librosa.load(audio)
        return render(request, 'record3.html')

命令提示屏幕 显示运行时错误:打开错误:文件包含未知格式的数据

究竟是什么问题?是不是因为文件不是 wav 格式,但我尝试使用不同的音频格式,结果还是一样。我应该怎么办?

标签: pythondjangoaudio-recordingaudio-processinglibrosa

解决方案


推荐阅读