@沙漠- ant- labs/ 谁
在浏览器和节点中运行的JavaScript的在线解说器的Diarization:作为讲解器用时间戳转动时,在一次传出音频时谁说话. 发言者按其先发言顺序排列,双语重排,任何长度的录音以5分钟为单位并配音. 音频留在本地.
两条共用一条 Who API : (英语)
@desert-ant-labs/who(默认):一个WebAssembly输油管 LitteRT.js (法语) 推论: 浏览器在CPU上。 (笑声) 在服务器侧渲染过程中安全导入;Who.load()只在浏览器或 Web Worker 中运行推论.@desert-ant-labs/who/native: 预建的本地核心, macOS上的核心ML和Linux上的LiteRT, for 服务器侧推论 在节点。 从服务器代码导入它 .
npm i @desert-ant-labs/who @litertjs/core # browser
npm i @desert-ant-labs/who # Node, prebuilt native core
import { Who } from "@desert-ant-labs/who";
const who = await Who.load(); // downloads the 32 MB model on first use
const result = await who.diarize(file); // a File or Blob, the bytes of an audio file, or samples
result.speakerCount; // 3
for (const turn of result.turns) {
turn.speaker; // 0, 1, 2: numbered in order of first appearance
turn.start; // 12.4, seconds from the start
turn.end; // 15.9
}
result.keepingSpeakers({ minimumShare: 0.05 }); // without the speakers under 5% of the recording
who.dispose();
diarize 取一个音频文件的字节( r)File, (中文(简体) ), Blob, (中文(简体) ), ArrayBuffer, (中文(简体) ), Uint8Array单 Float32Array 16千赫的样品,或 { samples, sampleRate } 无论如何。 在浏览器中,一个文件被用Web Audio解码出,所以任何格式的浏览器都会玩出工作. 在节点中,可移植解码器读取WAV;先解码出其他格式:
import { Who } from "@desert-ant-labs/who/native";
import fs from "node:fs/promises";
const who = await Who.load();
const result = await who.diarize(await fs.readFile("call.wav"));
JSON.stringify(result) 存储对称并 Diarization.fromJSON 复还之. 创建一个 Who 并重新使用; dispose() 释放模型。 浏览器创建运行 CPU 上的图表; 通过 accelerator: "auto" 改为 Who.load 以尝试 WebGPU .
整个指南在 谁是文件。 。 。 .
许可证
沙漠蚂蚁实验室 源头可破坏许可证。为大多数免费提供 应用软件和商务许可证必须规模化。 完整的术语在链接. 许可证发放: 许可@ desertant.com。 。 。 .
SDK的第三方通知: THIRD_PARTY_NOTICES.md。 。 。 .
权重第三方通知: THIRD_PARTY_NOTICES.md。 。 。 .