代码之家  ›  专栏  ›  技术社区  ›  pdavis

最佳语音压缩算法/格式

  •  7
  • pdavis  · 技术社区  · 17 年前

    我们有一些原始语音音频需要在互联网上分发。我们需要像样的质量,但不需要音乐质量。我们主要关注的是消费者的可用性(即,他们可以在什么地方播放)和下载的大小。我的经验表明,MP3并不能为语音音频提供最佳的压缩数字,但我不知道最好的替代方案是什么。最终,我们希望自动化转换过程,以允许消费者选择他们想要的质量与尺寸级别。

    6 回复  |  直到 17 年前
        1
  •  6
  •   hochl Michael Aaron Safyan    12 年前

    你应该给 Opus 试试看。压缩命令行示例:

    ffmpeg -i x.wav -b:a 32k x.opus
    
        2
  •  5
  •   Adam Davis    17 年前

    Start here.

    正如您正确指出的,语音压缩不同于一般的音频压缩。您会发现许多专用于电话应用的编解码器,从PCM和ADPCM到后来基于分组的编码,如GSM蜂窝网络上使用的CELP。

    不过,由于所使用的媒体,VOIP语音编码与VOIP语音编码略有不同。您可以在 Speex software library .

    要获得更多帮助,请缩小问题范围。

    -亚当

        3
  •  1
  •   TheXenocide    17 年前

    实时语音音频(如VoIP电话)中最常用的压缩格式是-Law(美国使用mu-Law/u-Law)和a-Law(欧洲使用等),与未压缩的PCM不同,这两种格式不支持宽的频率范围(较小的可能值范围会忽略必要频谱之外的声音,并且需要较少的存储空间)。

    出于可用性考虑,将mpeg压缩(mp2/3/4)用于流式传输到标准媒体播放器是最容易的,因为算法很容易获得,并且通常非常快,几乎所有媒体播放器都应该支持它,但对于语音,您可能会尝试指定较低的比特率,或者首先从较低质量的文件进行转换(WAV可以有多种采样率,语音所需的采样率比音乐或效果要低得多,基本上与视频中的每秒帧数相似)。或者,您可以使用Real Media、WMA或其他专有格式,但这会限制可用性,因为用户需要特定的第三方软件进行播放,尽管WMA具有出色的压缩比以及特定于语音音频的压缩选项。

        4
  •  0
  •   Mark Heath    17 年前

    假设您的用户将运行Windows,则有一个WMA语音压缩编解码器可与Windows Media Encoder SDK一起使用。如果不能做到这一点,您可以使用ACM来使用G723/G728、ADPCM、mu-law或a-law之类的东西,其中一些是在Windows XP&上作为标准安装的;在上面这些可以打包在WAV文件中。您需要进行一些实验,以找到正确的比特率/质量(可能不必担心mu法则或a法则)。使用语音数据,您可以获得相当低的采样率-例如16000或8000,因为人类语音中的频率不超过4Khz。

        5
  •  0
  •   Vincent Buck    17 年前

    我想 AMR 是最好的语音编解码器之一。我大约在一年前使用过它,我记得质量很好,尺寸也很小。

    一个缺点,特别是在你的情况下,据我所知,它不支持广泛的媒体播放器。QuickTime和RealPlayer是我知道可以播放.amr文件的两个。

        6
  •  0
  •   sehugg    17 年前

    尝试 speex ... 不受专利限制,在尺寸和CPU方面都具有良好的性能。我在iPhone上使用它一直很幸运。

    推荐文章