gpt4 book ai didi

java - 在Java中,有没有办法合成特定频率的音调?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:18:31 24 4
gpt4 key购买 nike

我正在使用 binaural beats 做一些工作并且正在尝试构建一个 Java 应用程序,该应用程序可以以略有不同的频率播放两种声音...大约 25-30Hz 的差异。

在一个完美的世界中,我想给 Java 两个整数输入,比如 440 和 410,让 Java 播放 440Hz 和 410Hz 的音调。

鉴于我在 javax.sound.* 类中看到的内容,Java 似乎只支持相当于钢琴音符的...A4 @ 440Hz,然后是 A-sharp-4 @ 466.164Hz,在另一个方向上,G-sharp-4 @ 415.305Hz。虽然“相邻”通常在产生双耳节拍的范围内,但我正在努力实现对音调频率的更多控制。

由于简单的音频合成只不过是频率、强度和时间长度,所以在我看来, javax.sound.* 类,当我告诉 Java 播放“A4”时,有某种查找表明是 440Hz 。问题变成了是否有办法破解该表以表明“A4.1”相当于 449Hz。

我一直在搞乱 javax.sound.midi,还没有探索 javax.sound.sampled;看来我需要对音调进行采样才能使用 sampled 类;我更喜欢合成。如果我弄错了,请引导我正确。

我见过的大多数第三方界面都是专门针对音乐制作和操作而设计的,因此,它们处理微调的能力有限。有没有人对解决方案有任何经验或建议?

最佳答案

您可以使用 javax.sound.sampled.* 中的类生成样本并将它们发送到声卡;基本上创建一个软件振荡器。

它需要一些知识,但是当你开始使用它时会非常有趣;)

当我创建这个时,我正在玩这些类:http://bobusumisu.net/testing/bobusynth-alpha1/

这是让我入门的教程:http://www.drdobbs.com/jvm/230500178

关于java - 在Java中,有没有办法合成特定频率的音调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10729455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com