问题标签 [aiff]

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 回答
178 浏览

swift - 使用 Apple 的 AVFoundationExporter 示例代码将 AIFF 导出到 AAC 让我有些问题

我已经下载了 Apple 的示例代码 AVFoundationExporter(可从 Apple 开发网站获得)。该项目的标题是“AVFoundationExporter:导出和转码电影”,但我正在尝试使用它将 AIFF 文件更改为 AAC (M4A) 文件。

在桌面上,我有一个文件“testfile.aiff”。我用命令调用它...

(或只是 [AVFoundationExporter “/Users/rbell/Desktop/testfile.aiff” “/Users/rbell/Desktop/testfile.m4a”])

...我确实在我的桌面上得到了一个名为“testfile.m4a”的文件。我确实可以使用 Finder 的空格键预览或使用 QuickTime 来播放它。

但是,我无法使用 iTunes 打开或将其导入 iTunes。它根本不会去。我可以很好地打开 .aiff 文件,并且播放愉快。但是,当我尝试强制 .m4a 文件“在... iTunes 中打开”时,iTunes 会打开并且没有任何反应。.m4a 文件不会出现在任何地方的 iTunes 中。

我试着换行

现在它失败了

错误:操作已停止:此媒体不支持该操作。程序以退出代码结束:1

我已经摆弄了很多设置,但似乎没有任何效果。-inject-metadata 标志没有任何区别。也不使用 -preset。-fileType com.apple.m4a-audio 没有帮助。奇怪的是,我确实得到了我想要的文件。它只是无法正常工作。如果我在 QuickTime 中打开我的“testfile.m4a”文件并再次导出它,那么我最终会得到一个比特率不同的 .m4a 文件,但这个文件确实在 iTunes 中打开。

0 投票
0 回答
427 浏览

php - 使用 PHP 在浏览器中播放 AIFF 文件的正确 HTTP 标头

我正在尝试将一些 AIFF 音频文件放在 PHP 站点上的登录墙后面(即在 Web 根目录之外)。第一个挑战是并非所有浏览器都支持 AIFF,但这是意料之中的——请参阅http://www.jplayer.org/HTML5.Audio.Support/ 现在我正在使用 Safari 进行测试,因为它支持 AIFF。

我不明白为什么 Safari 会以不同的方式处理同一文件的 2 个版本。对于直接文件,它会提示播放器并且可以正常工作。对于流式文件,播放器不起作用。

正常的下载

以下是我直接下载文件时的标题(即,如果我暂时将文件放入 Web 根目录进行测试):

通过 PHP

以下是我通过 PHP 脚本(名为 source.php)流式传输文件时的标题:

标头几乎相同——我能看出的唯一区别是它们的顺序和我的本地开发盒用于 ETag 值的散列算法。

这是我用来流式传输同一文件(位于 webroot 上方)的测试 PHP 脚本(名为 source.php):

预期的行为是浏览器会将两个版本视为相同。在我的示例 HTML 页面(改编自http://www.w3schools.com/html/html5_audio.asp)中,只有直接下载有效——通过 PHP 提供的文件版本无法播放。当我直接在浏览器中点击这两个文件时,也会发生相同的行为。

同样的方法也适用于播放 mp3(但标题略有不同)。有谁知道我在这里做错了什么,或者有谁知道为什么这种方法不适用于 AIFF?我还没有尝试使用另一种服务器端语言进行相同的测试,但我怀疑这不是 PHP 问题,并且与 AIFF 相关。任何人都可以阐明这一点吗?

0 投票
1 回答
492 浏览

java - 如何在 Java 中使用 .aiff 文件?

这是我目前正在尝试的:

我想将一个键(矩形对象)绑定到一个音符(.aiff 音频文件)。但是,我不确定如何在 .getResource() 中引用文件路径。谁能给我建议如何进行?谢谢!

0 投票
0 回答
313 浏览

java - 将 80 位 Double 转换为 BigDecimal

tl;dr - 如何将 IEEE 754 80 位浮点数的二进制转换为 Java BigDecimal 或 Double?


我正在按照此处.aiff找到的规范用 Java 编写文件解析器。

我遇到了我的第一个主要障碍,该规范定义为“ extended”数据格式;

扩展:80 位 IEEE 标准 754 浮点数(标准 Apple 数字环境 [SANE] 数据类型扩展)。

它在文件中使用一次来描述声音的采样率(所以它非常重要)。

我不知道如何将这些 10 字节转换为 JavaDoubleBigInteger. Double.longBitsToDouble()只允许我使用该Long类型的 8 字节,并且BigDecimal缺少任何解释字节数组的方法。


再说一次,我假设我应该收到一个类似于 48khz 或 44.1khz 的数字。这是我的程序的一些调试输出;

我尝试使用此处的建议计算采样率(我怀疑它会起作用);

0 投票
0 回答
144 浏览

python - 无法在 Python 中编写浮点 aiff 文件

我是一名音频开发人员,想从 python 读取和写入 32 位浮点音频文件以进行测试。经过几个小时的放屁,我设法意识到我遇到的问题仅限于浮点格式。我可以从 numpy 数组中成功写入 16 位定点文件(即使 aifc 文档中没有示例)。

我还看到了其他几个库 PySoundFile 和 Audiolab,尽管它们要么真的很旧而且/或者没有正确安装。

在 python 中完成这项工作的正确方法是什么?关于用 python 编写声音文件的主题,谷歌搜索结果令人震惊。

以下代码不起作用,但基于非常相似的代码,适用于 16 位定点数据。

0 投票
0 回答
195 浏览

excel - 根据文件大小计算 aiff 音频的采样率和位深度

我在这里需要一些数学/逻辑方面的帮助。使用 aif 文件。

我写了以下内容:

ToCheck 是循环文件文件夹时的当前文件。

所以我根据文件大小以比特/通道/比特深度/采样率来查找音频的长度。这假设位深度和采样率是正确的(我需要文件为 24 位/48kHz)。

Time_Secs = 文件的长度(以秒为单位)。

FSize = 使用 Time_Secs 基于 24/48kHz 的文件大小

可能是因为 FSize 使用 Time_Secs,我不知道如何从中确定文件采样率和/或位深度是否确实正确......

假设 24/48k 应该每秒提供 144,000 字节

假设 16/48k 应该每秒提供 96,000 字节

如果我使用上面的代码检查一个 16 位/48 kHz 的文件,它会给出不正确的以秒为单位的时间(自然),但正确的文件大小......即使比特率为 1,152,000 也应该是错误的。- 似乎时间差异正在弥补比特率的差异 - 或者我看错了。

如果文件的采样率/位深度实际上是 48,000 Hz/24 位,我将如何调整我的公式,或者进行数学计算?还是有完全不同的方式?记住它们是 aif 文件,而不是 wavs。

希望这是有道理的。

提前谢谢了!

0 投票
0 回答
77 浏览

ios - 播放无噪音的背景声音 - Swift/Xcode

当我的应用程序被发送到后台或手机被发送到睡眠模式时,我想播放声音文件。为此,我们AVFoundation/AVAudioplayer与 Backgroundmode Audio 一起使用。到目前为止,这一切正常,并且可以做到。问题是,即使我的声音文件完全静音(用 Audacity 观察),当设备音量全部调高时,我仍能听到烦人的噪音(类似: https ://youtu.be/2P87NS63K94)。该文件采用.aiff 格式。有什么办法可以避免这种噪音?

0 投票
0 回答
37 浏览

c++ - 对于 AIFF 格式的数据块中的字节,二进制补码如何工作?

我知道数据块应该保存音频样本。它在规范中说它们是互补的,但我无法弄清楚它在上下文中是如何工作的。有谁知道这对 AIFF 文件是如何工作的?

0 投票
1 回答
53 浏览

c++ - 尝试读取 AIFF 文件与指针位置等有关的意外错误

我一直在尝试将 AIFF 文件读入多个变量,但在尝试读取数据块的数据部分时遇到了问题。我收到错误消息:线程 1:EXC_BAD_ACCESS(代码=2,地址=0x7ffeee1bbce8)。我知道这通常意味着指针有问题,但是我已经检查并运行了很多测试,并且指针没有到达文件末尾,所以不是这样。请有人看看我试图制作一个非常简化的版本来显示我遇到的问题。

错误出现在 fopen 行上。这也是 64 位 Mac 上 Xcode 中的 C++。

谢谢。

0 投票
1 回答
1009 浏览

python - 使用 Mutagen 编辑 .aiff 文件的标签数据,出现错误“TypeError: not a Frame instance”和“ID3NoHeaderError: doesn't start with an ID3 tag”

我正在尝试使用诱变剂将标签写入表 .aif 文件。到目前为止没有太大的成功...

从诱变剂文档中的代码我尝试:

这是我想要达到的基本水平,但是我得到以下信息:

无法理解框架实例,所以我寻找其他方法来做到这一点,例如如下 ID3 类:

不返回错误,但是 .aif 文件返回损坏。

所以我接着看直接从.aif 加载 ID3 文件——这失败了,因为不存在 ID3 标签……</p>

audio = ID3("example.aif") 给出: