Javascript 如何合并两个通道的原始pcm数据?

Javascript 如何合并两个通道的原始pcm数据?,javascript,audio,ffmpeg,pcm,typed-arrays,Javascript,Audio,Ffmpeg,Pcm,Typed Arrays,我有两个Float32Arrays,其中包含左右声道的原始pcm数据。是否可以创建一个组合两个通道的Float32Array?如果是的话,我会怎么做?我可以简单地连接数组吗 干杯 要将两个PCM文件(右通道和左通道)合并为一个,您需要将它们交错: (L,1),(R,1),(L,2),(R,2),…,(L,n),(R,n) 代码如下所示: const interleavedChannelData = new Float32Array(leftChannelData.length + rightCh

我有两个
Float32Array
s,其中包含左右声道的原始pcm数据。是否可以创建一个组合两个通道的
Float32Array
?如果是的话,我会怎么做?我可以简单地连接数组吗

干杯

要将两个PCM文件(右通道和左通道)合并为一个,您需要将它们交错:

(L,1),(R,1),(L,2),(R,2),…,(L,n),(R,n)

代码如下所示:

const interleavedChannelData = new Float32Array(leftChannelData.length + rightChannelData.length);

for (let i = 0; i < interleavedChannelData.length; i += 1) {
    if (i % 2 === 0) {
        interleavedChannelData[i] = leftChannelData[i / 2];
    } else {
        interleavedChannelData[i] = rightChannelData[(i - 1) / 2];
    }
}
const interleavedChannelData=new Float32Array(leftChannelData.length+righchanneldata.length);
对于(设i=0;i
您打算使用ffmpeg API还是CLI?@Gyan我正在使用节点
fluent ffmpeg
库(它只允许一个流作为输入,这就是为什么我想将pcm数据合并到一个文件中的原因)