@4players/voice-filter

中文文档
1.2.1发布于 2025/06/18MIT OR Apache-2.0TypeScriptCommonJS零依赖近 30 天下载 2335

A custom filter library for speech enhancement

原始使用文档
文档目录9 节
  1. Features
  2. Installation
  3. Usage
  4. API
  5. Vif.create(stereo: boolean): Promise<Vif>
  6. Properties
  7. processFrame(input: Float32Array, output: Float32Array): nu…
  8. close()
  9. License

@4players/voice-filter

A WebAssembly-based real-time voice isolation filter for mono and stereo audio. This package provides a JavaScript wrapper for a low-latency denoising filter compiled from native code.

Features

  • WebAssembly-powered denoising filter
  • Mono and stereo support
  • Adjustable attenuation and post-filter parameters
  • Efficient audio buffer management
  • Simple async API

Installation

npm install @4players/voice-filter

Usage

import { Vif } from '@4players/voice-filter';

const filter = await Vif.create(true); // `true` for stereo

// Configure parameters
filter.attenuationLimit = 90;
filter.postFilterBeta = 0.5;

// Process audio
const input = new Float32Array(...); // Fill with input samples (20ms 48kHz stereo interleaved)
const output = new Float32Array(input.length);
const lsnr = filter.processFrame(input, output);

// Clean up
filter.close();

API

Vif.create(stereo: boolean): Promise<Vif>

Creates a filter instance. stereo determines mono/stereo mode.

Properties

  • frameLength: number — Frame length required per channel
  • attenuationLimit: number — dB limit for noise attenuation
  • postFilterBeta: number — Post-filter smoothing factor
  • stereo: boolean — Indicates stereo mode

processFrame(input: Float32Array, output: Float32Array): number

Processes a frame and returns a signal-to-noise ratio estimate.

close()

Unregisters internal memory buffers and destroys the filter instance.

License

MIT or APACHE-2.0

版本与发布记录

@4players/voice-filter 共发布 5 个版本,首次发布于 2025/06/05;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.2.1latest2025/06/181.4 年前
1.2.02025/06/181.4 年前
1.1.02025/06/111.4 年前
1.0.12025/06/061.4 年前
1.0.02025/06/051.4 年前

关于 @4players/voice-filter 的常见问题

@4players/voice-filter 是什么?

A custom filter library for speech enhancement

如何安装 @4players/voice-filter?

在项目目录运行 npm install @4players/voice-filter,或使用 pnpm add / yarn add / bun add。

@4players/voice-filter 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@4players/voice-filter 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@4players/voice-filter 可以商用吗?

@4players/voice-filter 使用 MIT OR Apache-2.0 许可。可在 MIT、Apache-2.0 中任选其一遵守。选择 MIT 时,宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@4players/voice-filter 的下载量有多少?

根据 npm 官方下载统计,@4players/voice-filter 在 2026/10/05 – 2026/11/03 这 30 天内被下载 2,335 次,日均约 78 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@4players/voice-filter 还在维护吗?

最新版本 1.2.1 发布于 2025/06/18(1.4 年前);至今共发布 5 个版本,其中过去 12 个月发布了 0 个;首次发布于 2025/06/05。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。