繁体   English   中英

从录音中确定音质?

[英]Determining sound quality from an audio recording?

有没有办法通过算法确定 .wav 或 .mp3 文件的音频质量?

基本上,我有使用不同录音设置的用户(即他们来自世界各地,我无法控制他们)将音频录制到 mp3/wav 文件。 在这一点上,软件应该确定他们的设置是否正常(可悲的是,由于某种原因,他们无法仅通过听自己的录音来做出此决定,因此有时我们会收到由于以下原因而基本上无法理解的录音低音量或高噪音)。

我正在做音量检查以确保麦克风电平正常; 不幸的是,这错过了音量高但清晰度低的情况。 我想知道是否有某种标准扫描我可以做(最好是在 Python 中)来检测何时有很多背景噪音。

我意识到一种可能的解决方案是让他们录制完全静音,然后与语音录音进行比较,如果“静音”录音的音量太接近语音录音的音量,则认为音频“不好”。 但这取决于两次都从演讲者那里得到一个好的样本,这可能是也可能不是我可以依赖的东西。

所以我想知道是否只有一种方法可以扫描音频文件(这些文件时长约 10 秒)并识别声音文件是“嘈杂”还是清晰。

我正在构建一个旨在检测各种不良音频的 API。 您可以使用此 API 来计算总分,还可以向人们提供有关如何提高音质的具体建议。 看一看:
https://www.tinydrop.tech/documentation/#loudness-detection

这完全取决于您的质量问题是什么,从您的问题中并不是 100% 清楚,但这里有一些建议:

在音量高而清晰度低的情况下,我猜测问题在于用户的输入增益太高。 录制后,您可以简单地检查失真。 更好的是,您可以在录音期间使用自动增益控制 (AGC) 来首先防止这种情况发生。

在噪音太大的情况下,我假设问题是扬声器离麦克风太远。 在这种情况下,史蒂夫的建议可能会奏效,但要使其真正奏效,您需要做大量的工作来比较样本录音和开发统计数据,以了解如何区分。 在实践中,我认为这是太多的工作。 我认为更简单且更有可能起作用(虽然不一定保证)的更简单的替代方法是创建信号的包络,然后从中创建直方图,然后查看直方图与现有的好坏记录进行比较。 如果我们只讨论语音,您可以将信号分为三个频段(使用时域滤波器,而不是 FFT),让您了解噪声(高频段和低频段)有多少以及噪声有多少您关心的声音(中心带)。

不过,我还是会在录音期间使用 AGC,如果 AGC 发现它需要将输入增益设置得太高,这可能是一个糟糕的录音。

不完全是我的领域,但我怀疑如果你得到一个频谱,(可能做一个傅立叶变换),并比较“好”和“嘈杂”的录音,你会发现噪音有助于交叉频谱水平,在坏的情况下会更高录音比好。 看看 SciPy 中的信号处理部分 - 这可能会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM