如何构建一个使用音频滤波器的简单应用程序(例如,声级随距离衰减)[关闭]

Posted

技术标签:

【中文标题】如何构建一个使用音频滤波器的简单应用程序(例如,声级随距离衰减)[关闭]【英文标题】:How to build a simple application, that uses audio filter (eg. damping of sound level with distance) [closed] 【发布时间】:2014-01-07 15:57:59 【问题描述】:

我想构建一个非常简单的应用程序。

假设应用程序 GUI 包含 2 个按钮:“5 米”和“15 米”。 单击第一个按钮时,将播放音频文件。当点击第二个按钮时,应用会对同一音频文件应用过滤器,这样用户就可以听到 10 米外的相同声音。

首先我想知道,像这样的应用程序可以用哪种编程语言编写。我在 Java 和 C++ 方面有一些经验。

其次,我想知道,如何构建音频过滤器(例如,声级随距离衰减)以及如何将其集成到应用程序中。

我真的不知道从哪里开始......任何具有可用源代码的实际示例或类似应用程序都会有很大帮助!

【问题讨论】:

【参考方案1】:

声压降低 1/r。因此,距离加倍会导致幅度降低 6 dB。这应该很容易通过依赖于距离的放大来建模。

问题的有趣部分是空气引起的声音吸收。这种吸收取决于频率(高频更高),也取决于气压、湿度和温度。您可以在 ISO 9613-1 标准中找到详细的定量模型。

【讨论】:

【参考方案2】:

您的应用程序的平台是什么? ios、安卓、Linux、Windows ...?无论如何,我建议你看看 SFML。这是一个 C++ 库,可以帮助您完成多媒体任务

about audio in SFML

有一个音频电平随距离变化的示例。

祝你好运!

【讨论】:

谢谢! SMFL 看起来很方便,但由于我的项目的目标是学习,如何从头开始构建过滤器,所以这不是我想要的。

以上是关于如何构建一个使用音频滤波器的简单应用程序(例如,声级随距离衰减)[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

简单的音频滤波器组

在 HTML5 中构建音频混音器

SBC音频编解码算法在无线音频传输上的简单应用

华为音频编辑服务,实时分离人声伴奏和乐器声

使用 UWP 监控实时音频并检测枪声/拍手声

华为音频编辑服务,实时分离人声伴奏和乐器声