gpt4 book ai didi

javascript - 在流式传输 Node js 时写入 wav 文件

转载 作者:搜寻专家 更新时间:2023-10-31 23:26:28 25 4
gpt4 key购买 nike

有没有办法强制流上的 .pipe 每隔特定时间/大小写入文件?

基本上,我使用的是套接字 io 流,从浏览器发送带有音频的缓冲区,然后使用 emit 发送:

浏览器

        c.onaudioprocess = function(o) 
{
var input = o.inputBuffer.getChannelData(0);

stream1.write( new ss.Buffer( convertFloat32ToInt16( input ) ));

}

服务器(nodejs)

var fileWriter = new wav.FileWriter('/tmp/demo.wav', {
channels: 1,
sampleRate: 44100,
bitDepth: 16
});

ss(socket).on('client-stream-request', function(stream)
{
stream.pipe(fileWriter);
}

我遇到的问题是文件 demo.wav 只会在我完成流时写入,所以当我停止麦克风时。但我希望它总是写,因为我将使用谷歌进行语音识别,有什么想法吗?如果我使用管道从谷歌调用语音识别,那么 block 太小,谷歌无法识别它。

最佳答案

查看 Node stream API看起来您应该能够向管道函数添加一个选项参数。尝试

stream.pipe(fileWriter, { end: false });

关于javascript - 在流式传输 Node js 时写入 wav 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42769560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com