"Generating (speakers) and receiving (microphone) realtime audio is easy." BS Editor: In this JSoundCard software, generating (speakers) and receiving (Microphone) realtime audio is as easy as a loop that uses numbers from -1 to 1 for the amount of electricity that should be in the speaker/microphone wire at that time. There are no codecs or compression. Those things are for storing audio as files. This is much simpler.Double-click the Jar file to run a test sound which plays the microphone on the speakers. Future versions will have less delay Between them. The test automatically adjusts the microphone volume inversely proportional to how loud it hears, but that is only a demonstration of a very simple thing you can use this software for.By creating code that implements the SoundFunc interface (only 2 functions, 1 which takes a floating point array and the other specifies the size of the array), you can define any musical instruments or other sound effects that use speakers and optionally microphone.To play a sound, simply use this code: JSoundCard.play(theSoundFunc, numberOfSpeakers, numberOfMicrophones, 44100); and to stop it use this code: JSoundCard.stop(); Create your own SoundFuncs.Originally part of Audivolv, JSoundCard is the code that takes a stream of floating-point numbers (in range -1 to 1) and sends them to the computer's sound-card as bytes which are played on the speakers in realtime. Its also the code for getting a list of sound-card options, choosing them manually, and/or automatically interpreting which sound-card options are best so sound can start immediately with no setup. This code is more general than Audivolv.Most computer programmers think its hard to get Direct Access to the sound-card, or that it requires some complex framework or native C code, so they do not look into it and find it can be done much easier.