@audio/spectral-pvoc

中文文档
1.1.1发布于 2026/10/13MITTypeScriptES Module零依赖近 30 天下载 3073

Phase-vocoder engine — peak-gated and peak-locked spectral bin scatter (Bernsee, Laroche-Dolson), phase locking, peak finding; powers @audio/shift-pvoc* and @audio/stretch-pvoc*

原始使用文档

@audio/spectral-pvoc

Phase-vocoder engine — the spectral scatter/lock machinery behind pitch shifting and time stretching.

Frame-level primitives over STFT magnitude/phase arrays. Pure math, no dependencies; pair with fourier-transform/stft (ana/syn hop) or @audio/stft (AMS).

import { findPeaks, scatterLocked, lockPhase, makeFrameRatio } from '@audio/spectral-pvoc'
exportrole
scatterGated(mag, phase, prevPhase, ratio, ctx, …scratch)Bernsee/SMB peak-gated bin scatter — pitch shift by ratio, RMS-preserving collisions
scatterLocked(mag, phase, prevPhase, reset, peaks, ratio, ctx, …scratch)Laroche-Dolson rigid-ROI scatter — phase-coherent shift
lockPhase(phase, propPhase, mag, half)lock non-peak bins to their peak's rotation (time-stretch coherence)
lockMap(mag, half, owner)which peak each bin locks to (−1: free): the regions lockPhase uses
lockState(half) / lockAdvance(re, im, st, reset, anaHop, synHop, freqPerBin, half)the phase-locked vocoder frame on complex bins: locked bins rotate by one complex multiply, only free bins take trig
findPeaks(mag, half) / nearestPeak(peaks, k)local-maxima peak indices + nearest lookup
makeFrameRatio(ratio)scalar or time-varying ratio → per-frame resolver
wrapPhase(p) / WIN_GAIN / PI2phase wrap, Hann OLA gain constant

Used by @audio/shift's pvoc/pvoc-lock/sms/formant/transient/hpss and @audio/stretch's pvoc-lock/transient. MIT.

版本与发布记录

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

版本发布日期距今
1.1.1latest2026/10/1326 天前
1.1.02026/09/271 个月前
1.0.12026/07/113 个月前
1.0.02026/07/103 个月前

关于 @audio/spectral-pvoc 的常见问题

@audio/spectral-pvoc 是什么?

Phase-vocoder engine — peak-gated and peak-locked spectral bin scatter (Bernsee, Laroche-Dolson), phase locking, peak finding; powers @audio/shift-pvoc* and @audio/stretch-pvoc*

如何安装 @audio/spectral-pvoc?

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

@audio/spectral-pvoc 支持 TypeScript 吗?

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

@audio/spectral-pvoc 支持 ESM 还是 CommonJS?

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

@audio/spectral-pvoc 需要什么版本的 Node.js?

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

@audio/spectral-pvoc 可以商用吗?

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

@audio/spectral-pvoc 的下载量有多少?

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

@audio/spectral-pvoc 还在维护吗?

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