问题标签 [libsndfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
13877 浏览

c++ - 如何使用 libsndfile C++ 包装器读取/写入音频文件?

libsndfile是一个用于读取和写入 WAV 文件的 C 库,它还包括一个 C++ 包装器,我想使用它。

但是,尽管 C API 文档非常详尽,但我无法弄清楚如何使用 C++ 包装器来读取音频文件(尽管网络上有关于编写的示例)。

是否有任何使用此 API 的实际文档或示例?或者我应该放弃使用这个包装器,而是直接使用 C API?

0 投票
0 回答
252 浏览

python - 删除 libsndfile 模块(Python、Mac OS X)

我想卸载 libsndfile,因为我相信我安装的是 x86_64 版本而不是 i386,按照此处发布的答案。我没有使用 MacPorts 安装 libsndfile,所以我不确定用哪种方法。

如何卸载/删除/删除 libsndfile?

0 投票
1 回答
500 浏览

cygwin - 使用 Cygwin 在 Win7 64 位上使用 CoreAudio 编译 SoX

我不太清楚如何让 SoX 在 CAF 支持下进行编译。我编译了 libsndfile 并在 gcc 查找的库文件夹中。我像这样编译libsndfile:

并且有效,我看到它生成了一个caf.lo文件,但是当我尝试编译 SoX 时,它失败了:

由于这不是我正在编译的 mac,我希望可用性为“否”,但它应该找到 CAF 的库,不是吗?

C:\cygwin64\usr\local\lib文件夹包含libsndfile.la&libsndfile.a

0 投票
1 回答
96 浏览

dll - 用源代码摆脱 DLL?

我想用LibSndFile。它为 x32 和 x64 提供了一组 dll,但我想摆脱 dll。是否可以从源代码构建 .lib 文件,然后摆脱 dll?

我不想要 .dll,因为您必须将它们复制到 Windows 文件夹中才能使程序正常工作,而且我希望只有一个包含所有内容的大文件(是的,我尝试了 ILMerger 或 IlRepack 等但没有成功)

0 投票
1 回答
52 浏览

c++ - libsndfile 和 Photoshop 插件开发问题

我正在尝试编译我的32 位插件的64 位版本,它在CS2上可以正常工作

当我在我的代码中添加任何与libsndfile相关的函数(sf_opensfinfosf_read_double)时,我发现插件不再显示在插件列表中。

如果我删除它们,插件会显示回来。

那怎么来的?

我试图在代码之前将一个布尔值设置为 false,并在使用该函数但它不起作用时修改为true 。唯一有效的是,当我在函数之间放置“if (false) {}”时。

我不明白Photoshop是如何工作的:它是否以某种方式测试插件?如果是这样,我将布尔值设置为false的代码部分应该不起作用,但应该使插件出现......

请赐教。

杰夫

0 投票
1 回答
4063 浏览

c++ - 在 C++ 中使用 libsndfile 从 WAV 文件中提取原始音频数据

我正在开发一个为某些设备提供音频输入的应用程序。设备期望以原始音频数据流(16 位,48kHz)的形式提供音频输入。因此,无论波形文件中音频数据的格式(8 位、16 位、24 位、32 位等)如何,我都想从 WAV 文件中提取原始音频数据。我计划为此目的使用libsndFile库。我修改了 libsndfile 的 C++ 示例代码,如下所示:

好吧,上面的代码可能看起来很糟糕,但我现在只是在寻找这个想法。我使用一个文件“MonoWaveFile.wav”,它是一个单声道文件,具有 32 位浮点值形式的音频数据。我使用 libsndfile 库创建了一个新文件“ConvertedFile.wav”。该文件包含 16 位 PCM 格式的音频数据。我在媒体播放器中播放此文件,我看到转换已正确完成。

然后我创建另一个文件“RawAudio.dat”来只保存音频数据,我可以用它来将音频输入提供给设备。该文件已创建,当我将其发送到设备时,音频根本不正确。这表明我做错了什么。谁能让我知道我做错了什么?我以前从来没有做过这样的事情,所以如果我得到任何帮助,我将不胜感激。

0 投票
1 回答
1581 浏览

c++ - 使用 libsndfile 处理大文件

目前,我已经基于“libsndfile”的可用示例代码编写了一个程序(在 Visual Studio C++ 中),其中我刚刚添加了一个减法函数来用另一个减去一个(一个)WAV 文件的通道。

该程序非常适用于限制为 4 个通道的文件。

问题是,一旦我上传了多达 5 个或更多频道的文件,程序就会拒绝执行该功能。这与帧大小无关,因为我设法处理了比我使用的某些 5/6 通道文件大很多倍的 4 通道文件。

有没有人遇到过这个或类似的问题?如果需要,我将提供源代码。

对于糟糕的结构,我深表歉意,在我完成整个交易之前,我不会真正优化。

代码:

0 投票
2 回答
1333 浏览

c - 将 libsamplerate 与 libsndfile 一起使用

这段代码是我试图更好地理解音频编码的一部分。这里用libsndfile打开一个文件,用libsamplerate转换成新的采样率,用libao播放结果。

当播放比特、通道和速率的各种组合时,结果如下:

测试数量、位、通道、速率、结果

  1. 8, 1, 11025, 好的
  2. 8、2、11025,音频抖动。否则音高和速度还可以。
  3. 16, 1, 11025, 好的
  4. 16、2、11025,音频抖动。否则音高和速度还可以。
  5. 8, 1, 44100, 好的
  6. 8, 2, 44100, 好的
  7. 16, 1, 44100, 好的
  8. 16, 2, 44100, 好的

为什么测试 2 和 4 失败?

0 投票
2 回答
1221 浏览

c++ - C++ libsndfile 和 mac osx

我已经看过很多这个问题,但我对 C++ 还是很陌生,我已经尝试过每个答案。我正在尝试将 libsndfile 库与 XCode 和 mac osx 小牛一起使用。然而问题在于

我在哪里得到错误'未知类型名称'__int64'我知道这是因为__int64是用于windows的,但我怎样才能为mac更改它?

0 投票
5 回答
4653 浏览

c - Fatal Error Installing libsndfile on OS X Mavericks

I'm currently trying to install libsndfile on my mac running os x 10.9.1. However, when after running the command 'make' it runs for a while and then displays the following message: sndfile-play.c:61:11: fatal error: 'Carbon.h' file not found. I haven't had much luck finding people with a similar issue. From what I found it looks like it may have to do with newer os versions not being supported. Anyone know how to resolve this issue? Thanks in advance!