Manipulating sound and drawing form using java sound in real time

I am currently developing an application that helps the user tune their guitar and create guitar effects. This is happening in real time. I was looking at java applications that could give an idea of โ€‹โ€‹creating guitar effects like overdrive and delay, but I could not find them. A source is also needed to create a real-time waveform. Your comments would be very helpful, thanks in advance.

+4
source share
4 answers

John says:

First, forget Java ... Second, you will interact with hardware ... Java does not support such things.

Extremely cruel, you had to tell Sun that this was not possible before they published the API for this: http://java.sun.com/products/java-media/sound/ . There has been a lot done with sound in Java, and I've never had a problem with latency or buffers, even on a few decrepit hardware.

Good examples @ http://www.jsresources.org/examples/index.html

Good help @ http://java.sun.com/products/java-media/sound/list.html

... saying that John comments on the study of DSP and waveform analysis on $$$.

Good luck - Dave

+11
source

This open source project is probably a good reference for you. There's a function that will build a waveform http://code.google.com/p/musicg/

+2
source

Regarding the feasibility of processing with low audio latency: look at this article about Harmonicon, java soft-synth . This is a sample executed by a synthesizer, fully implemented in java using Metronome GC , which has guarantees for an upper delay of <2 ms and works in a real-time OS.

Regarding waveform generation / dsp , look at an example in this Java question generating sound , a very simple waveform example.

0
source

First off, forget Java. Java is a managed runtime that does garbage collection. When this happens, you will hear the shutter, because you want your sound buffer to be small in order to minimize latency,

Secondly, you will interact with the hardware, that is, the sound card, Java does not support this kind of thing, so you will either have to write some hardware abstraction in JNI, or find an existing solution, but there is a problem with that. It is unlikely that you Get real-time performance from the Java platform.

What you want to do is what you want to go with C++ for this, and you will want to know more about partial differentiation, DSP, sound synthesis and waveform analysis. This is quite a lot to take on, but it should give you a good direction if you start reading about relevant studies ...

-6
source

All Articles