音频音量标准化时的动态范围压缩[关闭]

2024-03-27

我已经问过音量标准化 https://stackoverflow.com/questions/12481524/audio-volume-normalization。在大多数方法上(例如重放增益 http://www.replaygain.org/,我最感兴趣的),我可能会得到超过 PCM 限制的峰值(也可以读作here http://en.wikipedia.org/wiki/Audio_normalization#Loudness_normalization).

简单的剪辑可能是我能做的最糟糕的事情。正如维基百科建议的那样 http://en.wikipedia.org/wiki/Audio_normalization#Loudness_normalization,我应该做某种形式的动态范围压缩 http://en.wikipedia.org/wiki/Dynamic_range_compression.

我说的是我对每个单独的 PCM 样本值应用的函数。另外一个类似的问题 https://stackoverflow.com/questions/2908104/help-with-dynamic-range-compression-function-audio, 一个答案 https://stackoverflow.com/a/2914119/133374表明这样做还不够,或者不是我应该做的事情。但是,我不太明白,因为我仍然需要处理裁剪情况。答案是否建议同时对多个样本进行范围压缩,并在每个样本上进行简单的硬裁剪?

抛开这一点,维基百科文章中讨论的功能似乎有点不是我想要的(在很多情况下,我最终仍然会遇到裁剪情况)。我正在考虑使用类似的东西tanh http://www.wolframalpha.com/input/?i=tanh%28x%29。这是一个坏主意吗?它会稍微降低音量,但保证不会出现任何削波。

我的应用程序是一个通用的音乐播放器。我正在寻找一种最适合每个人的解决方案,这样我就可以随时打开它,而用户很可能不想关闭它。


使用任何瞬时动态范围处理(例如削波或 tanh 非线性)都会引入听觉失真。将正弦波放入瞬时非线性函数中,您就不再拥有正弦波。虽然对于某些音频应用程序很有用,但听起来您不想要这些人工制品。

归一化不会影响波形的动态(就最小/最大比率而言)。归一化涉及将波形按元素乘以恒定标量值,以确保样本不会超过最大值。此过程只能离线完成,因为您需要在处理之前分析整个信号。如果您的波形包含任何强烈的瞬态,归一化也是一个坏主意。您的整个信号将按照瞬态峰值除以限幅阈值的比率进行衰减。

如果您只是想保护输出免于削波,您最好使用侧链式压缩器。其具体形式是限制器(高于阈值的无限压缩比,起音时间为零)。侧链压缩器计算信号的平滑能量包络,然后根据该函数应用变化的增益。它们不是瞬时的,因此您可以减少从您提到的功能中获得的声音失真。限制器可以进行瞬时攻击以防止削波,但您可以留出一定的释放时间,以便限制器对后续波形峰值保持衰减,后续波形只是被调低,因此不会出现失真。强烈的声音过后,限制器恢复。

如果波形中有很多高强度峰值,您可以从这种类型的处理中获得抽吸式声音。如果这成为问题,您可以进入下一个级别并在子带内进行动态处理。这样,只有频谱中的干扰部分会被衰减,而声音的其余部分不受影响。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

音频音量标准化时的动态范围压缩[关闭] 的相关文章

  • MediaRecorder:从多个麦克风录制

    我目前正在使用媒体记录器 https developer mozilla org en US docs Web API MediaRecorder用于在应用程序内录制音频的 API 有没有办法从多个输入设备 例如两个麦克风 进行录音 我可以
  • Python 中的二进制相移键控

    我目前正在编写一些代码 以使用音频转换通过激光传输消息 文件 和其他数据 我当前的代码使用 python 中 binascii 模块中的 hexlify 函数将数据转换为二进制 然后为 1 发出一个音调 为 0 发出不同的音调 这在理论上是
  • 如何通过触摸按钮在 swift 2 中播放 m4a 文件?

    当我触摸按钮时 如何播放音频文件 我在网上找不到任何东西 因为它都是 swift 1 我想要音频代码original功能 import UIKit import AVFoundation class ViewController UIVie
  • iOS 音频修剪

    我搜索了很多 找不到任何相关的东西 我正在处理 iOS 音频文件 这就是我想做的 录制音频并保存剪辑 已检查 我使用AVAudioRecorder 改变音高 已检查 是用狄拉克做的吗 修剪 我有两个标记 即开始和结束偏移 并使用此信息我想修
  • Web 浏览器中的高品质音频录制

    一行版本 什么开源软件 WAMI Recorder 网络浏览器 通过 getUserMedia 将为我提供最佳质量的录音 高质量定义为 44 1 或 48 采样率 和 16 位样本大小 更多信息 目前我的解决方案是 WAMI Recorde
  • 我会选择什么设备进行语音识别以使用来自计算机的音频?

    我正在尝试使用 Python 3 制作隐藏式字幕生成器 当我打电话时list microphone names 列出了一堆音频源 我应该为计算机发出的音频选择哪个来源 我尝试过使用pocketsphinx https pypi org pr
  • 使用 UIImage 和 caf 创建视频文件的问题

    我已经阅读了在互联网上可以找到的所有关于此功能的帖子 并且我在创建视频文件方面取得了一些成功 但我还剩下 3 个问题 而且似乎没有人提到过这一点 我有 3 个问题 视频在某些播放器上无法正常播放 quicktime window 视频只播放
  • 在python中将mp4声音转换为文本

    我想将 Facebook Messenger 中的录音转换为文本 以下是使用 Facebook 的 API 发送 mp4 文件的示例 所以这个文件只包含音频 不包含视频 我想将其转换为文本 此外 我希望尽可能快地完成此操作 因为我将在几乎实
  • .wav 文件长度/持续时间,无需读入文件

    有没有办法提取有关 wav 文件长度 持续时间的信息 而无需在 R 中读取文件 我有数千个这样的文件 如果我必须阅读每个文件才能找到其持续时间 那将需要很长时间 Windows 文件资源管理器为您提供了打开 长度 字段的选项 并且您可以查看
  • 在 Python 中使用音频流 RTMP 通过管道和 OpenCV 到 FFmpeg

    我正在尝试使用音频流式传输 FFmpeg 我将在下面展示我的代码 导入模块 import subprocess as sp 创建变量 rtmpUrl rtmp a rtmp youtube com live2 key camera path
  • C# 音频库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 AS3 中将声音放大指定的分贝数?

    几天前 这是我的问题 我找到了答案 也许这会帮助别人 A 问 题的第一部分 可以使用Flash放大声音吗 SoundTransform 的 AS3 文档这样描述了音量属性 音量 范围从 0 静音 到 1 最大音量 从表面上看 这意味着您只能
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 在网站上不间断地播放 mp3?

    客户请求在整个网站上播放单个曲目 一般来说 我建议不要这样做 但他们坚持这样做 那么 将 Flash 播放器嵌入到网站中并且当用户转到另一个页面时不会出现间隙 中断的最直接方法是什么 我认为需要一个 iframe 我正在使用具有自动恢复功能
  • 在 VB2010 Windows 窗体开始时播放 .wav/.mp3 文件?

    制作 VB2010 已经大约一年了 最近开始突破我可以将哪种媒体合并到我的表单中的界限 但我无法播放 wav 或 mp3 文件 我尝试按照微软和其他编码网站上的教程进行操作 但没有成功 任何帮助 将不胜感激 要播放波形文件 您可以简单地使用
  • 无限实时连续传输音频信号,Python

    我有一个简单的问题 在 Python 中从音频插孔流式传输音频信号时 使用 pyaudio 库如何继续流式传输音频信号 直到我选择 停止 程序 示例 我们的方式捕捉我们的网络摄像头 https docs opencv org 3 0 bet
  • AVAudioPlayer 与 MPMusicPlayerController

    我使用一个在我的应用程序中播放音乐MPMusicPlayerController using iPodMusicPlayer 也尝试过应用程序音乐播放器 当我使用播放声音时AVAudioPlayer我的音乐来自我的MPMusicPlayer
  • Xcode 8.1 beta 3 - AQDefaultDevice 消息 [重复]

    这个问题在这里已经有答案了 从 beta2 开始 在创建音频输出单元后 我每两秒就会收到一条消息 2016 10 14 11 31 21 572479 MyProduct 94063 8294923 aqme 254 AQDefaultDe
  • 如何处理 Android MediaCodec 解码器的第一个输出 ByteBuffer?

    我正在尝试使用 Android 的 MediaCodec 套件编写音频重采样器 我目前正在将 MP3 立体声音频文件输入 MediaExtractor 然后由 MediaCodec 进行解码 源音频的采样率为48000 我不明白的是我从解码
  • just_audio 无法在 ios flutter 上工作未处理的异常:(-11800)操作无法完成

    我正在尝试从它自己的存储库运行 just audio 示例项目https github com ryanheise just audio tree master just audio example https github com rya

随机推荐