我最近在我的学校为一个新的虚拟现实室编写了音频系统编程工作。我的第一个任务是为具有任意数量扬声器的音响系统提供平移算法。因此,如果有20个扬声器,它需要能够在20个扬声器的一维阵列中平移声音,其中平移旋钮的最小值将在第一个扬声器中,并且最大值将在第20个扬声器中,并且当你逐渐增加旋钮时,它应该连续地通过每个扬声器传递音频。
我让它在SuperCollider(http://doc.sccode.org/Classes/PanX.html)中工作,但他们需要音频系统在Javascript中。我应该使用任何API或npm包吗?我一直在考虑使用频道分切器和网络音频api(https ://developer.mozilla.org/en-US/docs/Web/API/ChannelSplitterNode),只是修改所有频道相对于摇杆位置的增益,但这感觉就像一个天真做法。有没有人在javascript中找到任何包或api提供工具来处理任意数量的频道?我看了但似乎找不到任何东西。我也在javascript中找到了ambisonics工具,但系统不会有球形扬声器设置,所以这不太理想。
谢谢! 肖恩