ii-声学 LiveKit 额外节点
语音活动检测和LiveKit代理的音频透视,由
@ai-coustics/aic-sdk 软件包.
[大 使用官方的LiveKit插件来增强ai-coustics语音. ai-声学 LiveKit 额外 添加官方插件尚未支持的产品类别 。 这里的特征可以改变 释放之间。 用法通过AI-声学计费.
特性可用性
| 特性 | @ai-coustics/livekit-extras | @livekit/plugins-ai-coustics |
|---|---|---|
| 语音增强 | 没有 | 对 |
语音活动检测( E)VAD(中文(简体) ) | 专用模式 | 遗产 |
音频透视( Tyto) Analyzer(中文(简体) ) | 对 | 没有 |
安装
npm install @ai-coustics/livekit-extras
export AIC_SDK_LICENSE=...
在正式插件旁边使用此插件
您可以安装此软件包和官方
@livekit/plugins-ai-coustics
软件包.
npm install @livekit/plugins-ai-coustics @ai-coustics/livekit-extras
室友有一个 noiseCancellation 插槽 . FrameProcessorChain 让我们 vad.processor 财务报告和审定财务报表
analyzer.collector 分享它。 分享它。 独自安装该槽中的正式增强,因为
FrameProcessorChain 不将 LiveKit Cloud 证书传递给它的处理器.
这个软件包需要自己的AI-声学许可证,即使官方插件使用LiveKit Cloud.
设定 AIC_SDK_LICENSE 或通过 licenseKey。 。 。 .
示范条文
在部署或容器设置时下载模型 :
import { Model } from "@ai-coustics/livekit-extras";
const vadPath = await Model.download("vad-2.1-xxs-16khz", "./models");
const analysisPath = await Model.download("tyto-1.1-l-16khz", "./models");
VAD和分析模型是不同的模型类型. 将返回的路径提供给您 工人,然后在每个工人工序上装入每个型号:
const vadModel = Model.fromFile(vadPath);
const analysisModel = Model.fromFile(analysisPath);
使用量
RoomIO接受其一个帧处理器 noiseCancellation 插槽 。 安装 vad.processor 或者说
analyzer.collector 直接地,或将它们与 FrameProcessorChain 说明
组合帧处理器。 。 。 .
语音活动检测
创建一个 VAD 每个代理会话:
import { voice } from "@livekit/agents";
import { VAD } from "@ai-coustics/livekit-extras";
const vad = new VAD({ model: vadModel });
const session = new voice.AgentSession({
vad,
// ... stt, llm, tts
});
await session.start({
// ... agent, room
inputOptions: { noiseCancellation: vad.processor },
});
vad.processor 必须安装在 noiseCancellation 当使用 VAD 时, 路径。 所有 VAD 软件
流读取它附着在每个框架上的不可变元数据,所以SDK模型每运行一次
音频块.
音频透视
创建一个 Analyzer,将其收藏器安装在 RoomeIO 的音频路径上,并订阅其结果:
import { Analyzer } from "@ai-coustics/livekit-extras";
const analyzer = new Analyzer({
model: analysisModel,
analysisInterval: 5, // seconds; 5 is the default
});
analyzer.on("analysisResult", (event) => {
console.log(event.result.riskScore);
});
await session.start({
// ... agent, room
inputOptions: { noiseCancellation: analyzer.collector },
});
这个 Analyzer 接收音频通过 analyzer.collector; 构建无
安装它的收发器不会输入任何房间音频。 室友会把收藏家关了 用它
分析器,当输入流结束时.
结果不会被插件记录;在回调中日志或处理.
组合帧处理器
使用 FrameProcessorChain 运行同一 RoomIO 音频路径中的任何处理器。 对于
举例来说,这包含一个会话中的VAD推论和分析:
import { FrameProcessorChain } from "@ai-coustics/livekit-extras";
const frameProcessor = new FrameProcessorChain(vad.processor, analyzer.collector);
await session.start({
// ... agent, room
inputOptions: { noiseCancellation: frameProcessor },
});
FrameProcessorChain 运行它的处理器。 保留 vad.processor 首先,它说明
原始框架同时保留其音频 。 我们建议放置 analyzer.collector 在任何时间之前
修改音频的处理器; 测量原始输入, 使其更容易理解输入音频
质量影响到管道的其余部分.
这还是LiveKit的 noiseCancellation 作为临时整合的插槽。 客厅IO拥有
链和关闭 vad.processor收集者,分析者一起.
配置
配置 VAD 工厂上的所有 SDK VAD 参数 :
vad.setParameters({
sensitivity: 0.5,
speechHoldDuration: 0.25,
minimumSpeechDuration: 0.05,
});
SDK VAD 参数持续时间(speechHoldDuration 财务报告和审定财务报表 minimumSpeechDuration)在
秒数。 这个 VAD 构造器选项 prefixPaddingDuration 财务报告和审定财务报表 maxBufferedSpeech 指定
以毫秒计。 见
节点.js SDK 参考 财务报告和审定财务报表
VAD 指南 参数范围,
模型支持和进一步细节.
设定 AIC_SDK_LICENSE 或通过 licenseKey 给建筑师。 创建新 VAD 或者说 Analyzer 页:1
(c) RoomIO用输入流关闭其帧处理器.
必须明确规定模式。 此软件包不支持
npx livekit-agents download-files。 。 。 .