Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/raphimc/audiomixer
High performance Java audio mixing library
https://github.com/raphimc/audiomixer
audio-mixer audio-processing sound-processing
Last synced: 7 days ago
JSON representation
High performance Java audio mixing library
- Host: GitHub
- URL: https://github.com/raphimc/audiomixer
- Owner: RaphiMC
- License: lgpl-3.0
- Created: 2024-10-12T17:56:46.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-11-13T22:51:08.000Z (7 days ago)
- Last Synced: 2024-11-13T23:29:27.322Z (7 days ago)
- Topics: audio-mixer, audio-processing, sound-processing
- Language: Java
- Homepage:
- Size: 449 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# AudioMixer
High performance Java audio mixing library.## Features
- 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
- High performance (Mixes thousands of simultaneously playing sounds in realtime)## Releases
### Gradle/Maven
To use AudioMixer with Gradle/Maven you can get it from [Lenni0451's Maven](https://maven.lenni0451.net/#/releases/net/raphimc/audio-mixer) or [Jitpack](https://jitpack.io/#RaphiMC/AudioMixer).
You can also find instructions how to implement it into your build script there.### Jar File
If you just want the latest jar file you can download it from [GitHub Actions](https://github.com/RaphiMC/AudioMixer/actions/workflows/build.yml) or [Lenni0451's Jenkins](https://build.lenni0451.net/job/AudioMixer/).## Usage
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 to ``BackgroundSourceDataLineAudioMixer`` but you have to call ``mixSlice`` 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
Examples can be found in the [src/test](/src/test) directory.## Contact
If you encounter any issues, please report them on the
[issue tracker](https://github.com/RaphiMC/AudioMixer/issues).
If you just want to talk or need help implementing AudioMixer feel free to join my
[Discord](https://discord.gg/dCzT9XHEWu).