@audio/resample-polyphase

中文文档
1.1.0发布于 2026/09/27MITTypeScriptES Module零依赖近 30 天下载 1.4万

Polyphase FIR resampling — streaming-friendly rational rate conversion (48↔16/24 kHz voice-agent path)

原始使用文档

@audio/resample-polyphase

Polyphase FIR resampling — streaming-friendly rational rate conversion (48↔16/24 kHz voice-agent path)

Polyphase FIR rational resampling — upsample L, Kaiser-windowed sinc lowpass, downsample M, computed directly from the phase decomposition (no zero stuffing). The streaming variant carries filter history across chunks: chunked output is bit-identical to batch.

import polyphase, { stream } from '@audio/resample-polyphase'

polyphase(data, { from: 44100, to: 48000 })   // → Float32Array

let s = stream({ from: 48000, to: 16000 })
s.write(chunk)   // → Float32Array
s.flush()        // → Float32Array (drains remaining history)

polyphase(data: Float32Array, opts: {from, to}) → Float32Array — sample rates in Hz.

stream(opts: {from, to}) → {write(chunk) → Float32Array, flush() → Float32Array}

Taps per phase widen with the ratio on downsample (32 at 44.1k → 48k, 64 at 2:1, 96 at 3:1), so every ratio has the same response: flat within 0.001 dB to 0.8 of the lower Nyquist (−0.34 dB at 0.9), no delay, alias floor −93 dB from 1.36× Nyquist up (swept, 44.1k → 22.05k and 48k → 16k).

Install

npm i @audio/resample-polyphase

版本与发布记录

@audio/resample-polyphase 共发布 4 个版本,首次发布于 2026/07/09;过去 12 个月发布了 4 个版本。

版本发布日期距今
1.1.0latest2026/09/271 个月前
1.0.22026/07/113 个月前
1.0.12026/07/113 个月前
1.0.02026/07/093 个月前

关于 @audio/resample-polyphase 的常见问题

@audio/resample-polyphase 是什么?

Polyphase FIR resampling — streaming-friendly rational rate conversion (48↔16/24 kHz voice-agent path)

如何安装 @audio/resample-polyphase?

在项目目录运行 npm install @audio/resample-polyphase,或使用 pnpm add / yarn add / bun add。

@audio/resample-polyphase 支持 TypeScript 吗?

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

@audio/resample-polyphase 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@audio/resample-polyphase 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@audio/resample-polyphase 可以商用吗?

@audio/resample-polyphase 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@audio/resample-polyphase 的下载量有多少?

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

@audio/resample-polyphase 还在维护吗?

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