High performance Java audio library.
- Realtime audio mixing to a playback device
- Rendering mixed audio to a file
- Sampled audio playback
- Pitch control
- Streaming (Pull and Push support)
- Pull: Audio data is read from an InputStream
- Push: Audio data is enqueued by the application
- Basic 3D spatial audio
- Position and orientation control
- Distance attenuation
- Audio effects
- Volume control
- Stereo panning control
- Bass Boost
- Bit Crusher
- Modulation effects
- Pitch modulation (Vibrato)
- Volume modulation (Tremolo)
- Oscillators
- Sine, Square, Triangle, Sawtooth
- Random noise
- High performance (Mixes thousands of simultaneously playing sounds in realtime)
To use AudioMixer with Gradle/Maven you can get it from Maven Central, Lenni0451's Maven or Jitpack. You can also find instructions how to implement it into your build script there.
If you just want the latest jar file you can download it from GitHub Actions or Lenni0451's Jenkins.
AudioMixer provides multiple AudioMixer implementations to choose from.
SourceDataLineAudioMixer: Easiest to use implementation for realtime audio mixing. It mixes audio in the background and sends it to a SourceDataLine.AudioMixer: Base mixer class. Intended for rendering audio to a file.
After creating an AudioMixer instance you can play Sound instances with it using the playSound method.
Examples can be found in the src/example directory.
If you encounter any issues, please report them on the
issue tracker.
If you just want to talk or need help implementing AudioMixer feel free to join my
Discord.