You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用DeepFilterNet音频降噪时遭遇文件找不到错误

解决DeepFilterNet "The system cannot find the file specified" 错误

一、API调用问题

你当前的API请求直接指定了本地路径samples/chat_with_noise.wav,但HF Space的远程服务器无法访问你的本地文件,这才导致文件找不到的错误。

修复方案

需要将本地音频文件以二进制或Base64编码的形式传入API请求,而非使用本地路径。以下是两种可行的代码修改方式:

方式1:二进制文件上传

import requests

# 读取本地音频文件
with open("samples/chat_with_noise.wav", "rb") as f:
    audio_data = f.read()

# 构造符合API要求的请求
r = requests.post(
    url='https://hf.space/embed/hshr/DeepFilterNet/+/api/predict/',
    files={
        "data": (
            "chat_with_noise.wav",
            audio_data,
            "audio/wav"
        )
    },
    data={"data": [None, None, None, 10]}
)
print(r.json())

方式2:Base64编码上传

import requests
import base64

# 将音频文件转为Base64字符串
with open("samples/chat_with_noise.wav", "rb") as f:
    audio_b64 = base64.b64encode(f.read()).decode("utf-8")

# 构造JSON请求体
r = requests.post(
    url='https://hf.space/embed/hshr/DeepFilterNet/+/api/predict/',
    json={
        "data": [
            {"data": f"data:audio/wav;base64,{audio_b64}", "name": "chat_with_noise.wav"},
            None,
            None,
            10
        ]
    }
)
print(r.json())

二、本地命令行问题

从报错栈信息来看,错误并非找不到音频文件,而是DeepFilterNet依赖的ffmpeg工具未安装或未加入系统PATH。DeepFilterNet处理音频时会调用ffmpeg做格式转换,系统找不到该工具就会抛出文件不存在的错误。

修复方案

  1. 安装ffmpeg:
    • Windows:下载ffmpeg编译包,解压后将bin目录添加到系统环境变量PATH中
    • macOS:通过Homebrew安装:brew install ffmpeg
    • Linux:通过包管理器安装(如Ubuntu:sudo apt install ffmpeg)
  2. 验证安装:打开新终端执行ffmpeg -version,能输出版本信息即为安装成功
  3. 重新运行命令:确保在音频文件所在目录执行,或使用绝对路径:
    deepFilter /完整路径/samples/chat_with_noise.wav
    

另外,warnings.warn("No audio backend is available.")的警告可通过安装soundfile解决:

pip install soundfile

内容的提问来源于stack exchange,提问作者Usama Aleem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:05:48