我正在尝试制作一个大致执行以下操作的程序:
produceBeepSound(double loudness);
我可以用Java做这样的事情吗?我需要它非常精确。那么matlab呢?哪种语言最适合此任务。该语言必须具有GUI组件。
答案 0 :(得分:5)
您可以使用Java Media Framework生成声音,但这不是必需的,因为您可以使用javax.sound.sampled包并将其与Java Swing集成。
在python中查看pyaudio库并查看PythonInMusic它有很多各种A / V模块的集合。
另外,请查看Beeper。
这是一个只使用J2SE类的GUI程序,可以产生声音 可配置的音调和持续时间,以及(稍微调整一下) 不同的原始数量
感谢@Andrew再次纠正我。
答案 1 :(得分:1)
在MATLAB中,只需使用SOUND功能:
http://www.mathworks.com/help/techdoc/ref/sound.html
您可以指定一个代表您的信号的矢量,该矢量上的幅度将决定响度,所以它只是简单的缩放。
答案 2 :(得分:0)
你可以尝试Csound。有java的API。
您还应该查看此Wiki页面:http://en.wikipedia.org/wiki/Comparison_of_audio_synthesis_environments。
但如果你需要简单的东西,你可以尝试:
java.awt.Toolkit.beep();
或
System.out.println((char)7);
但你没有音量控制。
我最喜欢的方法可能是HTML 5音频api - https://wiki.mozilla.org/Audio_Data_API#Writing_Audio
答案 3 :(得分:0)