使用java声音实时处理音频和绘制波形

时间:2009-02-07 08:00:09

标签: java waveform javasound

我目前正在开发一款应用程序,帮助用户调整吉他并生成吉他效果。这是实时的。我一直在寻找能够产生吉他效果的java应用程序,例如过载和延迟,但我找不到任何东西。还需要实时创建波形的源。提前感谢你的评论会有很多帮助。

4 个答案:

答案 0 :(得分:11)

John说:

  

首先,忘记Java ......其次,你将与硬件接口...... Java不支持这种事情。

Jeez,这有点苛刻 - 你应该告诉Sun,在他们为此发布API之前,这是不可能的:http://java.sun.com/products/java-media/sound/。在Java中有很多声音,我从来没有遇到过延迟或缓冲的问题,即使在有些破旧的硬件上也是如此。

好例子@ http://www.jsresources.org/examples/index.html

良好的帮助@ http://java.sun.com/products/java-media/sound/list.html

......话虽如此,John对学习DSP& amp;波形分析在$$$上。

玩得开心 - 戴夫

答案 1 :(得分:2)

这个开源项目可能是一个很好的参考。有一个构造波形的功能 http://code.google.com/p/musicg/

答案 2 :(得分:0)

关于低延迟声音处理的可行性:看一下关于Harmonicon, a java soft-synth的这篇文章。这是一个使用Metronome GC完全在java中实现的合成器的示例,Java generating sound在<中具有较高的延迟保证。在实时操作系统上运行2 ms。

关于wave 表单生成/ dsp ,请查看此问题中的示例{{3}},这是一个非常简单的波形生成示例。

答案 3 :(得分:-6)

首先,忘记Java。 Java是一个托管运行时,可以进行垃圾回收。当发生这种情况时,你会听到模板,因为你想保持你的声音缓冲区很小,以减少延迟,

其次,你将与硬件连接,即声卡,Java不支持这种事情,所以你要么必须在JNI中编写一些硬件抽象或找到现有的解决方案,但是有一个问题至。您不太可能从Java平台获得实时性能。

你想做的是你想和C++一起使用,你会想要了解更多关于偏微分,DSP,声音合成和波形分析的知识。这是相当多的事情,但如果你开始阅读相关的研究,它应该给你一个很好的方向感......