Nodejs 如何实现音频自动断句
请问现在的音频自动断句有没有通用的方法?
最近在做听写 但是中间停顿的时间太短 所以想要自动断句 把停顿的时间延长 就不用一直手动回退和暂停了
谢谢
[Edit] 识别音频的内容并非必要 因为我有原文 如果不需要识别音频内容就能断句会更好
Nodejs 如何实现音频自动断句
vad 了解一下。
- vad +1 基本思路就是音频先转 pcm ,然后做 vad 切分
2. 偷懒的话可以直接调用 asr 供应商,百度/阿里之类的好像都会有点免费额度,一般返回 text 都带 timestamp 的,按照 timestamp 切就行
谢谢
谢谢 第一点有 vad 的库吗
#4 我知道有 python 的 https://pypi.org/project/webrtcvad-wheels/ ,你找找又没其它语言的,这个是 google 之前开源的 webrtcvad
https://github.com/snakers4/silero-vad
开源的里面这个比较好
可以私有部署阿里的 funasr 带 punc 的模型,有时间戳
好的 谢谢
谢谢 不过 python 我不会
谢谢 私有部署有点麻烦 相比之下我还是用商用的免费额度吧
是 onnx 的模型,多种语言都可以调用
啊 我看见了 web 版本的在这里 https://github.com/ricky0123/vad
小米的没人用吗
在 Node.js 中实现音频自动断句(即将连续的音频文件分割成多个句子或段落),通常需要使用一些音频处理库。一个常用的方法是利用 ffmpeg
或 fluent-ffmpeg
库来处理音频文件,并结合语音识别库(如 google-cloud-speech
或 watson-developer-cloud
)来识别句子的边界。
以下是一个简单的示例,展示了如何使用 fluent-ffmpeg
进行音频处理,以及如何通过伪代码描述与语音识别库的集成(由于篇幅限制,具体语音识别实现未包含):
const ffmpeg = require('fluent-ffmpeg');
const fs = require('fs');
// 假设你已经有一个音频文件 'input.wav'
const inputFile = 'input.wav';
const outputDir = './output/';
// 创建一个目录来保存分割后的音频文件
if (!fs.existsSync(outputDir)){
fs.mkdirSync(outputDir);
}
// 使用ffmpeg分割音频(这里只是一个简单的按时间分割的示例)
ffmpeg(inputFile)
.setStartTime('00:00:00')
.setDuration('10') // 例如,每10秒分割一次
.outputOptions('-c copy')
.on('end', function() {
console.log('Processing finished !');
})
.save(outputDir + 'output.wav');
// 注意:上述代码只是按时间分割,并非真正的断句。
// 真正的断句需要结合语音识别库,识别句子边界后再进行分割。
要实现真正的断句,需要在上述流程中插入语音识别步骤,识别到句子结束时再进行分割。这通常涉及复杂的音频处理和自然语言处理技术。