# @descript/kali 中文文档

规范地址：https://npmcn.com/package/%40descript/kali/

版本：0\.0\.7
npm 元数据更新时间：2026-08-06T18:31:16.508Z
中文译文更新时间：2026-11-12T01:01:03.200Z
软件包许可：LGPL

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40descript/kali
原文对照：https://npmcn.com/package/%40descript/kali/?lang=original
源码仓库：https://github.com/descriptinc/Kali

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：54.2 kB，16 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=6
- 运行依赖：0 个
- 首次发布：2019-10-27T23:04:59.381Z
- 最新版本发布：2021-10-04T16:28:06.776Z
- 近 30 天下载量：15064（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 0 个）

## 中文简介

Kali在Javascript中用于实时时间拉伸和投出移位. 它可以独立地改变Tempo和Pitch.

## 安装

```sh
npm install @descript/kali
```

也可以使用：`pnpm add @descript/kali`、`yarn add @descript/kali`、`bun add @descript/kali`

## README

# 卡丽

Kali在Javascript中用于实时时间拉伸和投出移位. 它可以独立地改变Tempo和Pitch.

来自维基百科:

> 时间拉伸是改变音频信号的速度或持续时间而不影响其发音的过程. 皮奇缩放或投出相变则相反:改变投出过程而不影响速度. 类似的方法可以同时以时间变化的方式改变速度,投出,或者两者兼而有之.

Kali 使用类似 WSOLA 的算法在浏览器中进行高质量的时间拉伸

## 演示

尝试演示 [这里](http://infinity.github.io/Kali/demo.html)。 。 。 .

## 开始

找卡莉来 [页 次](https://github.com/Infinity/Kali/releases)。 。 。 .

卡利将很快发布给npm.

## 基本用途

创建新实例

```
var kali = new Kali(numChannels);
```

设定时间拉伸的参数 。 设置 `useQuickSearch` 以某种质量为代价加速处理。 默认为虚构. 在许多情况下,这种区别并不明显,因此,如果需要更多的业绩,就尽量将其变为真实.

```
kali.setup(sampleRate, stretchFactor, useQuickSearch);
```

给Kali提供一些数据 并告诉它处理. `dataToInput` 应该是由相接样品组成的浮图32.

```
kali.input(dataToInput);
kali.process();
```

读取数据到目标数组 . `targetArray` 应该是一个浮图32箭头.

```
var samplesRead = kali.output(targetArray);
```

完成输入数据后,告诉卡利冲出它的缓冲并继续读取数据.

```
kali.flush();
```

就这样! 见 `Test.ts` 在示例文件夹中提供完整的使用示例.

如果你想在拉伸时改变节奏,你可以打电话 `setTempo` (带有新的拉伸因子)在输入数据时. 这将让你在节奏间顺利地改变。 见 `Test.ts` 举个例子.

## 文档

完整文件见 [https://kali.readme.io/docs. 互联网档案馆的存檔,存档日期2013-12-22](https://kali.readme.io/docs)

## 效率

通过使用TypedArrays和对TypedArrays的视图,Kali的运行非常高效. 说到这里,这是早期的发布,而且表现还没有被尽可能地优化. 拉请求是欢迎的!

## 运行示例

-   克隆或下载此仓库
-   设置一个名为 mp3 文件 `test.mp3` 输入 `build/examples` 目录
-   在目录中启动服务器
    -   `python -m SimpleHTTPServer`
-   打开浏览器并导航到测试页面
    -   譬如说. `http://localhost:8000/test.html`

开发者控制台将显示文件被拉伸的进展. 一旦拉伸完成,减速版将开始播放. 这个例子将一首歌曲减慢了4%(因此一首125 bpm的歌曲会减慢到120 bpm).

要更改此选项( 或关于示例的其他事项) , 编辑 `Test.ts` 输入 `examples` 目录和构建如下所示.

## 大楼

```
npm install

// build examples
webpack --config webpack.config.test.js

// build Kali
webpack

// build minified Kali
webpack -p
```

## 许可证

LGPL 语言

Kali是基于来自 [声音触摸](http://www.surina.net/soundtouch/) 财务报告和审定财务报表 [双曲](http://sox.sourceforge.net/)两者都是LGPL. 因此,凯利也是LGPL

## 常见问题

### @descript/kali 是什么？

Kali在Javascript中用于实时时间拉伸和投出移位\. 它可以独立地改变Tempo和Pitch\.

### 如何安装 @descript/kali？

在项目目录运行 npm install @descript/kali，或使用 pnpm add / yarn add / bun add。

### @descript/kali 支持 TypeScript 吗？

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

### @descript/kali 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @descript/kali 需要什么版本的 Node\.js？

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

### @descript/kali 可以商用吗？

@descript/kali 使用 LGPL 许可。声明的许可为 LGPL，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @descript/kali 的下载量有多少？

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

### @descript/kali 还在维护吗？

最新版本 0\.0\.7 发布于 2021/10/05（5 年前）；至今共发布 6 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/10/28。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

