问题标签 [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.
c++ - 将 libsndfile 添加到 Qt 项目
我想在 Qt 项目中使用 libsndfile 库,然后我需要链接它,但我总是得到一个错误:
我试图将这些行添加到我的 .pro
1) INCLUDEPATH += C:/libsndfile/include LIBS += -LC:/libsndfile/lib/libsndfile-1.lib
2) INCLUDEPATH += C:/libsndfile/include/LIBS += C:/libsndfile/lib/libsndfile-1.lib
3) win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../../libsndfile/lib/ -llibsndfile-1
INCLUDEPATH += $$PWD/../../../../../../libsndfile/include DEPENDPATH += $$PWD/../../../../../ ../libsndfile/包括
win32:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../../../../../../libsndfile/lib/libsndfile-1.lib
您能帮我正确链接 sndfile 库吗?
libsndfile - 在 mac 10.6 雪豹上编译时,libsndfile 与 libvorbis 和 libogg 的链接错误
您好我正在尝试在 Mac OSX 10.6 上编译 libsndfile 1.0.25
我已经用 brew 安装了 libvorbis-1.3.4 和 libogg-1.3.1
1 - 我尝试用 brew 安装 libsndfile
2 - 我尝试使用 ./configure 和 make 手动安装 libsndfile
./configure 步骤似乎确实找到了 libvorbis 和 libogg,我已经确认这些是 x86_64 库。我希望输出中有一个提示,我不明白如何实现,并且有人可以快速发现它。感谢您的关注!
酿造错误输出:
手册产生错误输出:
c++ - 使用 libsndfile 写入 wav 文件
我无法将短缓冲区写入 HD 上的 wav 文件。我遵循了一些教程,但它们都提供了不同的方法。无论如何,这是我实现它的方式,但由于某种原因它不起作用。当我尝试打印 的结果时outfile
,我得到一个0
,并且没有任何内容写入磁盘。另外,我尝试了不同的路径,有时有文件名,有时没有文件名。
更新:当我将路径更改为仅文件名(例如hello.wav
而不是~/Documents/hello.wav
)时,打印出outfile
返回的内存位置,例如0x2194000
.
c - libsndfile中的框架和项目之间的区别?
我正在编写一个处理音频文件的软件。我正在使用 libsndfile 库来读取波形文件数据,但我遇到了他们的文档没有解决的疑问:读取项目的函数和读取帧的函数有什么区别?或者,换句话说,如果我同时交换sf_read_short
和,我会得到相同的结果sf_readf_short
吗?
我在一些问题中读到音频帧等于单个样本,所以我认为 libsndfile 调用的项目可能是同一件事。在我的测试中,它们似乎是一样的。
c - 使用 portaudio 和 libsndfile 的可分发应用程序
我使用 portaudio 和 libsndfile 编写了一个小型 C 程序,它只能在我的 PC 上运行。在其他系统中,它要求提供 libportaudio.dll 和 libsndfile.dll。我正在链接 -lportaudio 和 -lsndfile。
我想让这项工作无处不在(Windows)而不要求这样的事情?
我应该怎么做才能使这个应用程序(.exe)可分发?
(我正在使用代码块和 Mingw)
提前致谢。
linux - 修改linux目录的权限
如何在 Linux shell 中修改已创建目录的写/读/执行权限?我需要安装libsnd库,但安装时出现错误,在此过程中无法创建目录。
c - Visual Studio 2010 中的“错误 LNK2019:无法解析的外部符号”错误
我正在尝试编译和运行使用libsndfile
库进行声音文件处理的 C 代码。
我使用此路径添加了头文件:
project's Properties (in C/C++ -> General -> Additional Include Directories)
我也使用此路径链接了库:
Project Properties -> Linker -> Input -> Additional Dependencies.
但是在调试时,我收到以下错误:
1>sil.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification
1>sil.obj : error LNK2019: unresolved external symbol _sf_write_sync referenced in function _main
1>sil.obj : error LNK2019: unresolved external symbol _sf_write_double referenced in function _main
1>sil.obj : error LNK2019: unresolved external symbol _sf_close referenced in function _main
1>sil.obj : error LNK2019: unresolved external symbol _sf_read_double referenced in function _main
1>sil.obj : error LNK2019: unresolved external symbol _sf_open referenced in function _main
1>c:\users\anam\documents\visual studio 2010\Projects\silence\Debug\silence.exe : fatal error LNK1120: 5 unresolved externals
有人可以在这里找出问题吗?我是使用 Visual Studio 的新手,我真的需要帮助!
audio - libsndfile:读取 wav 跳过 JUNK 块
我一直在使用 libsndfile 库。但直到最近,我发现我的一些 wav 文件中有这个额外的 JUNK 部分,而 libsndfile 并没有将其归类为 JUNK,而只是将其作为数据读取。
我的 wav 文件的结构如下所示:
.
我想知道我应该如何跳过或忽略这个垃圾部分。请注意,fmt
现在位于偏移量 ( off=56
) 而不是off=20
,这是我的 test.wav 没有任何 JUNK 的时候。
如果解决方案是使用 libsndfile 以外的其他库,那么请提出建议,哪一个可以让我以编程方式跳过这个 JUNK 块。
sox - 使用 SoX 交换 CAF 文件的字节顺序
我们正在尝试使用 SoX 将我们的 WAV 转换为 iPhone 项目的 CAF。目前,作为办公室中唯一一台 Mac 的拥有者,我必须定期运行 afconvert 来执行此操作,但我更希望实际制作音频的人可以在 Windows 上执行此操作。
我从源代码编译 SoX 以启用 CAF 支持,将它和一个批处理文件提供给声音专家,一切看起来都很好。但是我们开始得到失真的声音,我发现原因是 SoX 生成的 CAF 中数据的字节序与 afconvert 生成的相反。
所以,我在批处理文件的命令行中添加了--endian swap,不再考虑它。但是问题仍然存在,所以我跟踪了一个 SoX 转换,发现它在编写 CAF 文件(或者实际上是 SoX 使用 libsndfile 的任何文件类型)时完全忽略了字节序标志。如果写入 WAV,SoX 会在写入时进行交换,但对于 CAF(它使用 libsndfile),什么也不做。
afconvert 将交换字节序,问题是 SoX 不会将任何字节序信息传递给 libsndfile。相关标志是 reverse_bytes(无论格式如何,反转给定数据的字节)和 reverse_endian(无论目标格式如何,反转字节序)。在设置 libsndfile 的 SF_INFO 时,这些都没有被引用,可以告诉它使用的字节顺序(通过 SF_INFO 的格式成员),但是推断使用哪个所需的信息(源数据的字节序和/或默认值) dest 文件的字节序)似乎不可用。
谁能建议我获取此信息的方法?
c++ - portaudio/libsndfile framesperbuffer 变量
谁能告诉我portaudio回调函数变量framesperbuffer是什么?如果我想通过 PA_WriteStream() 每次迭代播放 64 字节数据的音频流,那么我应该在framesperbuffer中输入什么值?
同样在lsbsndfile
库中,读取波形文件的函数需要提供具有名称框架的变量。IE
如果我输入 frames=256 那么 fptr 中总是返回 64 个样本,其余的都是垃圾,而 read 函数的返回值是 256。我已经检查了以下代码
现在数组 [0] 到数组 [63] 包含值,数组 [64] 到数组 [255] 在文件读取的每次迭代中包含空值。现在我必须将读取的数据写入 portaudio 音频播放功能,然后应该填充什么framesperbuffer 。
同样在某些情况下,我需要处理数据并将样本减少到 32(当我消耗两个样本以形成一个输出样本时)那么我应该在framesperbuffer变量中输入什么值?