Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我使用NI数据采集模块以48ksps的“现场”捕获了几Gb的样本数据。我想从此数据创建一个WAV文件。
我以前使用MATLAB加载数据,将其规格化为16位PCM范围,然后将其写为WAV文件来完成此操作。但是MATLAB会处理文件大小,因为它会“执行”内存中的所有内容。 理想情况下,我会在C ++或C语言中执行此操作(C#是一个选项),或者如果有现有实用程序,我会使用它。是否有简单的方法(即现有库)来获取原始PCM缓冲区,指定采样率,位深度并将其打包为WAV文件? 为了处理大型数据集,它可能必须能够以块的形式追加数据,因为不一定有可能将整个数据集读取到内存中。 我知道我可以使用格式规范从头开始执行此操作,但是我不想重新发明轮子,也不想花时间修复此错误,如果可以的话。 回答: 我认为您可以为此使用libsox 。 更多&回答... |
![]() |
![]() |