@animalabs/voice-kit (英语)
在Connectome的供词接合。 它定义了一套 STT 和 TTS
接口、适配器,以及周围的音频辅助器.
它对Discord或任何其他表面一无所知:例如消费者
@animalabs/discord-mcpl语音腿打开会话和流经这些
界面,绝不直接触碰销售商 API.
npm install @animalabs/voice-kit
里面有什么东西
| 导出 | 这是什么 |
|---|---|
SttProvider, (中文(简体) ), SttSession, (中文(简体) ), SttTranscript, (中文(简体) ), SttSessionOptions | 语音对文本接口 |
TtsProvider, (中文(简体) ), TtsStream, (中文(简体) ), TtsVoice, (中文(简体) ), TtsAlignment | 文字对语音接口 |
ScribeSttProvider | 11Labs 实时 STT |
AssemblyAiSttProvider | AssemblyAI 实时STT |
ElevenLabsTtsProvider | 11Labs 流式 TTS( 流- 输入), 有字符时间 |
EnergyVad, (中文(简体) ), dbfs | 基于能的语音活动探测器 |
downmixStereoToMono, (中文(简体) ), monoTo48kStereo | PCM 转换到Discord 48 kHz 立体声 |
loadRegistry, (中文(简体) ), resolveVoice, (中文(简体) ), VoiceRegistry, (中文(简体) ), RegistryVoice | 发言者对语音登记格式 |
每个提供者在其构建器中取取其API密钥.
合同
- 译文可以修改. 笔录事件由
utteranceId, (中文(简体) ), 和任何字段(文本、扬声器、final)可能再次到达同一身份. 将最新事件作为事实。 AssemblyAI修订案文和 scribe 发送增长部分和 然后是承诺. - 扬声器标签是可选的. 单语源, 如 Discord 的
接收器流,每个演讲者运行一个会话并离开
speaker未设. 打开 混合的饲料, 缩小的提供者填充speaker带着自己的不透明标签, 也可以修订. - PCM进入,PCM退出. 音频为PCM16LE单相. STT 会话宣布其输入
打开时的速率, TTS 提供者则声明其输出速率
(单位:千美元)
outputRateHz) (中文(简体) ). 从表面格式转换为消费者的 任务;audio.ts有帮手. - TTS时间是可选的. 当一个提供商有 字符的块,
onAlignment那块块之前的火onAudio,以毫秒计 从流起,与发送时文本相匹配的字符. 没有时机的供货商从来不放火.
发展
npm install
npm run build # tsc → dist/
npm test # bun test
从a出版的版本 v* 通过 Npm 信任的 GitHub 动作标记
出版(见 .github/workflows/publish.yml) (中文(简体) ).
许可证
麻省理工学院