High performance Java audio mixing library.
- Realtime audio mixing to a playback device
- Rendering mixed audio to a file
- Sampled audio playback
- Pitch control
- Volume control
- Stereo panning control
- Basic 3D spatial audio
- Position and orientation control
- Distance attenuation
- High performance (Mix thousands of simultaneously playing sounds in realtime)
To use AudioMixer with Gradle/Maven you can get it from 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.
BackgroundSourceDataLineAudioMixer
: Easiest to use implementation for realtime audio mixing. It mixes audio in the background and sends it to a SourceDataLine.SourceDataLineAudioMixer
: Similar toBackgroundSourceDataLineAudioMixer
but you have to callmixSlice
manually. This allows you to mix audio in sync with the rest of your application.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/test 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.