问题标签 [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 投票
3 回答
3081 浏览

audio - 用于打开音频文件的简单 Verilog VPI 模块

我想编写一个 VPI/PLI 接口,它将打开音频文件(即 wav、aiff 等)并将数据呈现给 Verilog 模拟器。我目前正在使用 Icarus,并希望使用 libsndfile 来处理输入文件格式和数据类型转换。

我不太确定在 C 代码中使用什么……查看了 IEEE 1364-2001,但仍然对我应该使用哪些函数感到困惑。

理想情况下,我想要一个带有数据端口(串行或并行)、时钟输入和启动/停止引脚的 verilog 模块。我想实现两个模块,一个用于从文件中回放,另一个用于记录被测过滤器的输出。

我可以在 C 中完成这一切并在我的测试平台中实例化模块,还是我必须编写一个函数(比如$read_audio_data)和包装模块来在每个时钟脉冲上调用它?

嗯,或者我可能需要创建模块然后获取它的句柄并以某种方式将值/向量传递给句柄?

我不太关心如何设置文件名,因为无论如何我可能不会从 verilog 代码中这样做。我可能会暂时坚持使用 24 位整数样本,并且 libsndfile应该很好地处理转换。也许,我现在会坚持串行(甚至可能以类似 I2S 的方式进行)并在需要时在 Verilog 中对其进行反序列化。

我还查看了 Icarus插件,它实现了一个读取 PNG 文件的摄像机,尽管图像处理还有更多方面,然后是音频。因此,该代码目前对我来说看起来有点过于复杂——我都没有设法让它运行。

0 投票
2 回答
4829 浏览

c - 如何在 ubuntu 11.04 下编译 libsndfile?

如何在 ubuntu 11.04 下编译 libsndfile?

我应该使用 g++ 还是什么?

0 投票
2 回答
2480 浏览

java - 如何在 Java 中读/写高分辨率(24 位,8 通道).wav 文件?

我正在尝试编写一个处理高分辨率 .wav 文件的 Java 应用程序。我在导入音频数据时遇到问题,即将 .wav 文件转换为双精度数组。

当我使用标准方法时,会引发异常。

这是根据 soxi 的文件格式信息:

p>

任何人都可以建议将此音频导入 Java 的最简单方法吗?

我尝试过使用一些技术。如上所述,我已经尝试过 Java AudioSystem(在 Mac 和 Windows 上)。我也尝试过使用 Andrew Greensted 的WavFile 类,但这也失败了(WavFileException:不支持压缩代码 3)。一种解决方法是使用 sox(带有 -b 16 标志)将音频转换为 16 位,但这是次优的,因为它会增加本底噪声。

顺便说一句,我注意到该文件可以由 libsndfile 读取。我最好的选择是围绕 libsndfile 编写一个 jni 包装器,还是你能提出更快的建议?

请注意,我不需要播放音频,我只需要对其进行分析、操作,然后将其写入新的 .wav 文件即可。

* 更新 *

我通过修改 Andrew Greensted 的WavFile 类解决了这个问题。他的原始版本只读取编码为整数值的文件(“格式代码 1”);我的文件被编码为浮点数(“格式代码 3”),这就是导致问题的原因。

当我有机会时,我会发布 Greensted 代码的修改版本。同时,如果有人想要,请给我发消息。

0 投票
1 回答
808 浏览

c++ - iOS 上的 libsndfile

现在,当我尝试使用libsndfileon时遇到了一个奇怪的链接问题iOS

我已经编译libsndfileMACOSX 10.6.8通过了所有检查。但是当我将它添加到 Xcode 并尝试编译它时iOS,我收到了这些链接警告和错误:

AudioReader只是一个简单的类,它使用libsndfile.

有谁知道这件事?

0 投票
3 回答
986 浏览

c - 无需查找即可写入的音频文件格式

我想将音频数据写入标准输出,最好使用 libsndfile。当我将 WAV 输出到 /dev/stdout 时,我设法编写了标题,但随后出现错误

我认为这与http://www.mega-nerd.com/libsndfile/FAQ.html#Q017有关,某些文件格式无法在没有搜索的情况下编写。但是,当我尝试输出 SF_FORMAT_AU | SF_FORMAT_PCM_16 相反,我仍然得到同样的非法搜索错误。

有没有什么音频文件格式可以完全不用搜索就可以写出来?

我正在使用 Linux。

编辑:这可能很明显,但 RAW 格式有效(无需搜索)。不幸的是,我需要一种包含采样率等元信息的格式。

0 投票
2 回答
1511 浏览

dll - 将 .dll 添加到 NetBeans 7.0 C 项目。无法查看 .dll

我正在尝试读取 .wav 文件,因此需要在我的项目中包含 libsndfile 二进制文件。我使用的是 NetBeans 7.0,工具->库->添加新库选项不起作用,因为添加库按钮被禁用。

我尝试将头文件的路径添加到 Project->Build 属性和编译的代码中。但是当我尝试通过 Project->Linker 属性以类似的方式添加 .dll 时,NetBeans 无法找到 .dll。如果我从 MyComputer->.. 导航到该文件夹​​,我可以看到 .dll/ 但是 NetBeans 不显示它。

我使用的是 Win 7 64 位机器,并且我已经设置了适当的 libsndfile 二进制文件。已经玩了一天了。将不胜感激任何帮助。

谢谢,尼拉吉

0 投票
1 回答
3379 浏览

python - ImportError:关于 sndlib / libsndfile 的 DLL 加载失败

我正在使用 Windows 7 64 位。

我有这些进口

如果可能,我安装了所有 64 位文件 - 包括 Python 2.6

我收到此错误消息

'Das angegebene Modul wurde nicht gefunden。是德语,表示“未找到指定的模块”

可能是什么原因?我用了

但没有变化。

有很多线程,但没有一个处理 sndfile。

0 投票
2 回答
1597 浏览

qt - qt中使用libsndfile实时播放声音c++

我正在使用 libsndfile 读取和操作声音文件。我正在徘徊在Qt中实时播放这些声音的最简单方法。

我曾尝试查看 QtAudioOutput,但是必须使用 QtAudioFormat,这配置起来非常麻烦。

我想要的只是 1)使用 libsndfile 读取数据 2)操作数据 3)将缓冲区发送到音频输出库。

0 投票
0 回答
512 浏览

python - 消除对安装或如何在 OSX 10.7.3 Lion 上安装 libsndfile 的困惑迷雾?

这是一篇很长的文章,所以我在顶部放了一个简短的总结。

Lion 已经推出了足够长的时间,我终于可以安装大多数 Python 库等。我需要使用二进制安装。当涉及到 libsndfile 时,我被卡住了。安装 libsndfile 的最佳方法是什么,如果它相关,其余的东西是什么?

如果您需要更多详细信息,请继续阅读...我正在开发一个使用以下内容的程序,最初在 OSX 10.7.3 下开发,并且还需要能够在 WinXp 和 Win7 上构建跨平台:

我在我的 OSX 开发机器上安装了所有这些,并且一切都在调试器下工作。当我尝试使用 pyinstaller 构建时遇到了麻烦,因为我的安装是二进制安装的历史大杂烩,从源代码构建、easy_install、pip 和 HomeBrew。从无用的 MacPorts 安装中提取了几个文件。一些库是在我运行 Lion 测试版时安装的,当时很难让某些东西在 Lion 下运行。

我的想法是,Lion 已经出现了足够长的时间,应该可以进行更清洁的安装,这应该会简化未来的工作,尤其是使用 pyinstaller。我创建了一个新的 Lion VM 并执行了以下操作:

到目前为止,一切都很好,尽管我不确定 libsamplerate 的 i386 与 x86_64 架构;我可能需要返回并为每个架构安装一次,然后创建一个通用二进制文件。

接下来是 libsndfile,这是 scikits.audiolab 所需的。这很麻烦,因为我发现了一个不断扩展的依赖网络:

Gettext 很痛苦,因为我得到的 stpncpy 错误已经发布在几个地方,但是找到真正解决问题的补丁有点乏味。

即使在显然构建了我列出的所有依赖项之后,libsndfile 仍然不会没有错误地构建并且我被卡住了。

看看我花了多少时间未能让 libsndfile 正常工作,我开始质疑基本方法。我似乎没有能力找出所有的错误并在有限的时间内做出适当的改变。

我发现自己回到了包管理器路径...easy_install 到 pip 和 HomeBrew;但有些事情似乎只有 MacPorts 可以处理,但总体而言,MacPorts 以我无法接受的方式与 Python 纠缠在一起,而且 pyinstaller 讨厌 MacPorts。如果我这样做,我可能会或可能不会让事情再次工作,但即使我这样做,我担心我不会知道实际需要哪些部分或能够随着时间的推移维护开发环境。

0 投票
1 回答
4212 浏览

c - 使用 libsndfile 和 libsamplerate 的音频采样率转换器。不确定是否正确使用函数 src_simple

我一直在使用 libsndfile 和 libsamplerate 在 c 中构建一个简单的采样率转换器。无论我尝试什么,我似乎都无法让 libsamplerate 的 src_simple 函数工作。我已经将我的代码剥离得尽可能简单,现在它只输出一个相同采样率的无声音频文件:

这真的开始让我感到压力了。该计划是一个单人项目,很快就要到期了,这让我非常焦虑,因为无论我尝试什么似乎都会导致失败。谁能帮帮我吗?