最小的音频文件:MP3、Ogg还是Wav?

33

我正在寻找最小的音频文件类型,以便使一些 JavaScript 运行更加流畅。


2
大小并不是流畅度的唯一因素。 - Ignacio Vazquez-Abrams
1
一个0字节的文件是你可能找到的最小的音频文件。 - Marc B
@IgnacioVazquez-Abrams,您能详细说明一下吗?目前来看,音频大小是我对流畅JavaScript的怀疑和假设。 - Tony
我认为你应该在运行脚本之前预加载音频以提高性能。https://dev59.com/KG435IYBdhLWcg3wnBd8#13116795 - Jonathan Tonge
5个回答

30

在这三种音频格式中,Ogg 通常比 MP3 更小。两者都比未压缩的 WAV 文件要小得多。当然,对于您的网站可能会有其他因素发挥作用,例如音频质量(大多数情况下不会有明显差异)和浏览器对每种类型的支持程度。

文件大小仅影响将文件下载到用户计算机所需的时间。它不一定决定 JavaScript 执行速度。您的代码中可能存在其他导致性能下降的问题(除非您已经将其缩小到音频文件的文件大小)。


在比较两个文件后,我得出了这个结论,其中一个文件有一个大的音频文件。在删除音频之前,JavaScript 执行非常缓慢,并导致我的计算机过热。在删除后,JavaScript 运行得非常完美,没有让我的计算机过热。 - Tony

13

2019年:mp3是你的好朋友。

Type  | Compression  | Browser Support | Quality                | Size
---------------------------------------------------------------------------
MP3   | Compressed   | Great           | Depends on compression | Small
OGG   | Compressed   | Not so good     | Depends on compression | Smallest
WAV   | Uncompressed | Good            | Best                   | Large

mp3

ogg

wav

浏览器支持: mp3, ogg, wav


有人能给我最小的mp3文件吗? - Bhavin Thummar
苹果和微软不希望有竞争,所以他们没有支持开源编解码器,因此这些浏览器就不能支持HTML5的“音频”和“视频”元素。 - John

7
Wav文件可以是16位,8 kHz(即每秒128 k比特),而mp3可以压缩到每秒16 k比特。通常情况下,wav比mp3大10倍。这个比例高度取决于内容。Wav是原始格式,而mp3是音频的压缩格式。ogg更像是一个包装格式,它可以包装Speex压缩音频,Speex(www speex org)是一种基于CELP的非常有效的压缩技术。
提示-使用audacity(audacity source forge net)截断并以最小尺寸保存原始文件(如果可能,则为8 kHz 16位格式),将此输出转换为mp3。保持音频在通用格式(mp3 / wav)中是个好主意。

1
事实上,Vorbis I是一种基于修改离散余弦变换(MDCT)的前向自适应单体变换编解码器。Vorbis使用修改离散余弦变换将声音数据从时域转换为频域。得到的频域数据被分成噪声地板和残留组件,然后使用基于码本的矢量量化算法进行量化和熵编码。Xiph.Org现在认为Speex已过时;它的继任者是更现代的Opus编解码器,在所有领域的性能都超过了它。Opus数据可以封装在Ogg中。 - bandybabboon

4

WAV文件非常大,而ogg不幸地并不被全面支持,所以MP3可能是您最好的选择。如果您想确保文件下载尽可能快,应查看您正在使用的压缩选项。如果您无法访问压缩选项,请尝试下载音频编辑程序,例如Audacity。打开文件,然后将其重新导出为MP3格式。尝试使用相对较低的比特率(128k,64k甚至更少),并查看是否仍可接受播放质量。


6
不正确。.wav只是一种容器格式,实际文件大小取决于所使用的编解码器。 - Marc B
3
实际上,支持 Ogg Vorbis 音频格式的浏览器比支持 MP3 格式的要多得多:https://developer.mozilla.org/en-US/docs/HTML/Supported_media_formats - aaaaaa

0

IMHO - 48kb/s MP3

最好的答案可能是在以下三个方面取得平衡:

  1. 文件大小(对用户带宽友好)

  2. 运行成本(适用于低功率机器)

  3. 质量(用户感知)

我猜想在您的情况下,因为您担心其他代码运行,所以您想要使用消耗最少处理能力的格式。

这里有两个变量需要考虑:比特率和比特深度,但是mp3实际上并没有考虑比特深度。

以下是我了解到的真相:

  1. 最广泛使用/知名的音频格式是mp3
  2. 尽管可能的音频频谱为20-20,000Hz,但大多数人无法听到13,000Hz以上的声音
  3. 选择较低的比特率(播放)意味着计算机不必为回放(解码)而努力工作

因此,我的建议是选择mp3和较低的比特率48 kbs进行通用音频。

这并不会产生很大的影响,因为大多数网站都是通过单声道手机访问的。单声道WAV文件占用的空间比立体声少,更低的位深度也占用更少的空间。此外,Audacity是一款可以在不同音频类型之间进行转换的软件。

作为一名声音工程师,我的专业看法是,正确地掌握音频可以得到最好的结果,但这是另一个论坛中的另一个话题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接