如何实现均衡器

2023-11-27

我知道 so 中有很多关于均衡器的问题,但我没有得到我想要的东西。我想做的是一个均衡器,用于以如下方式修改音频样本:

equalizer.eqAudio(audiosamples, band, gain)

我不确定这是否是我想要的确切接口,因为我对 DSP 的实现知之甚少(我使用了滤波器、限制器、压缩器,但没有制作它们)。

因此,谷歌搜索我读到我必须对样本进行 FFT,这样我就可以获得每个频率范围的数据而不是幅度,按照我想要的方式处理它,然后进行 FFT 的逆运算,这样我就能再次获得音频样本的结果。我寻找此 FFT 的实现并找到了 Java 的 JTransform。该库具有 FFT 相关算法的实现,称为离散余弦变换 (DCT)。

我的问题是:

  • 嗯,我的方式正确吗?
  • 由于 FFT 为我提供了有关频率的数据,因此我应该将一大块样本传递给 FFT 算法。这个块必须有多大?
  • 有没有关于 DSP 编程的好书解释均衡器?

Thanks!


FFT 不会是我的音频均衡的首选。我默认使用 IIR 或 FIR 滤波器构建 EQ。 FFT 对于特殊情况可能很有用。

通常推荐的参考是音频均衡器双二阶滤波器系数的食谱公式.

双二阶滤波器编程的 Java 教程。http://arachnoid.com/BiQuadDesigner/index.html

有没有关于 DSP 编程的好书解释均衡器?

了解数字信号处理是对 DSP 的很好的介绍。有关于 FIR 和 IIR 滤波器的章节。

音频应用数字滤波器简介作者:朱利叶斯·O·史密斯三世

使用高阶递归滤波器的图形均衡器设计Martin Holters 和 Udo Zolzer 撰写的一篇简短论文详细介绍了一种 EQ 滤波器设计方法。

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

如何实现均衡器 的相关文章

随机推荐

  • 创建 SQLite 数据库和表

    在 C 应用程序代码中 我想创建一个或多个 SQLite 数据库并与之交互 如何初始化一个新的 SQLite 数据库文件并打开它进行读写 数据库创建完成后 如何执行DDL语句创建表 下一个链接将为您带来一个很棒的教程 这对我帮助很大 如何在
  • Meteor.js 中的运营转型?

    Meteor js 支持操作转换吗 我正在开发一个与 Etherpad 相关的项目 我想使用 Meteor js 我认为它非常适合此类项目 如果我想使其具有可扩展性 那么运营转型对于我的项目来说非常重要 我目前的知识表明 流星不支持开箱即用
  • 黑莓推送通知实施

    如何为黑莓应用程序实现推送通知 我听说为此我需要购买一台 Blackberry Enterprise Server 每年花费 1400 美元 这是真的 实施推送通知的良好起点在哪里 我对 iPhone 推送开发有经验 但找不到黑莓的同等功能
  • 一个简单的投票系统:如何防止重复投票[重复]

    这个问题在这里已经有答案了 我正在构建一个带有投票选项的简单网络应用程序 我计划为投票最多的人提供现金奖励 所以我想要一个相对安全的系统 我有几个关于受孕的问题 我知道我的帖子与其他一些帖子类似 但似乎没有一个帖子足够具体到该平台 让我放心
  • 如何使用 ggproto 扩展 ggplot2 boxplot?

    我经常在工作中使用箱线图等ggplot2美学 但标准geom boxplot缺少对我来说重要的两件事 胡须末端和中间标签 感谢这里的信息 我编写了一个函数 gBoxplot lt function formula NULL data NUL
  • 使用箭头键,并在 Angular 中使用 keyup

    我有一个 Angular 项目 我想为箭头键实现一些功能 我尝试使用类似的东西 keyup keyCode Move itemArray UP 其中 keyCode 代表箭头键之一的代码 但是没有任何作用 这是我使用它的模板 模板 HTML
  • GMSAutocompleteViewController 仅显示 5 个结果

    我综合了GMS自动完成视图控制器在我的应用程序中 let autocompleteController GMSAutocompleteViewController autocompleteController delegate self l
  • 关于十六进制形式的 EXIF 的问题

    我试图了解 jpeg 文件 十六进制 的 EXIF 标头部分以及如何理解它 以便我可以提取数据 特别是 GPS 信息 无论好坏 我正在使用 VB Net 2008 抱歉 这是我现在能掌握的 我已将 jpg 的前 64K 提取到字节数组中 并
  • 如何使函数异步信号安全?

    我有以下内容sigaction处理函数 void signal term handler int sig printf EXIT TERM signal Received n int rc flock pid file LOCK UN LO
  • 无法安装 Commonmarker gem(jekyll 需要)macos

    我该怎么办 依赖性有问题吗 我该如何解决这些问题 我在卡特琳娜 我反复收到此错误 并且已经查找过该目录 不存在 sudo bundle update Password Fetching gem metadata from https rub
  • Linux - 串口读取返回EAGAIN

    我在从按以下方式打开的串行端口读取一些数据时遇到一些问题 我已经多次使用这个代码实例 并且一切正常 但现在 由于某种我无法弄清楚的原因 我完全无法从串行端口读取任何内容 我能够写入并且所有内容都在另一端正确接收 但从未收到回复 正确发送 不
  • 文件 stat() 与 access() 检查目录权限

    我已经成功使用了两者stat access 单独确定用户是否具有对目录的读或读 写访问权限 我的问题是 有首选方法吗 我看到很多例子使用stat 但就我的目的而言 访问似乎更轻量级并且符合目的 其中之一是否存在任何问题 例如安全 我的方法有
  • SMPP 中“data_coding”字段的含义

    是什么意思 数据编码 领域中的SMPP协议 我搜索了此内容 但找不到任何有用的资源 简而言之 数据编码包含有关 smpp 中的文本如何处理的信息 SubmitSM 即典型的 SMS 消息 消息被编码 SubmitSM 数据包 包含二进制编码
  • 单击按钮时切换字体很棒的类

    我的代码如下jsfiddle 我希望使用 JavaScript 在按钮单击时更改字体很棒的图标 但它似乎不起作用 我是 javascript 新手 所以如果这是一个愚蠢的问题 请原谅我 HTML
  • Android 从服务中打开浏览器,避免多个选项卡

    我正在尝试通过在浏览器的当前选项卡中打开的链接从我的服务打开浏览器窗口 当我使用 Intent intent new Intent Intent ACTION VIEW Uri parse http www google com inten
  • 我可以在 rcParams 中设置脊柱和刻度吗?

    我倾向于在 Matplotlib v1 3 1 图中使用以下轴选项 ax spines top set visible False ax spines bottom set visible True ax spines right set
  • Angular - 将组件方法绑定到 DOM 目标属性是错误的做法吗?

    比如说 我有一个组件 其用途如下
  • C# 中的嵌入资源字体无法正常工作

    我嵌入了一个 ttf字体文件 特别是 Amatic Bold 在我的资源中 我使用下面的代码来获取字体 我尝试了这篇文章中的代码 如何在我的 C 应用程序中嵌入字体 使用 Visual Studio 2005 这是我的实现 static p
  • HtmlAgilityPack 中的 NullReferenceException

    我正在尝试提取一个link using xpath从下面提到的网址 string url http www album cover art org search php q Ruin Live Album Version Lamb of G
  • 如何实现均衡器

    我知道 so 中有很多关于均衡器的问题 但我没有得到我想要的东西 我想做的是一个均衡器 用于以如下方式修改音频样本 equalizer eqAudio audiosamples band gain 我不确定这是否是我想要的确切接口 因为我对