Skip to content
forked from bome/tritonus

🎡 Java Sound SPI collection (gsm, vorbis, mp3, fluidsynth, etc.)

License

Notifications You must be signed in to change notification settings

umjammer/tritonus

Β 
Β 

Repository files navigation

Release Java CI CodeQL Java Parent

tritonus

tritone logo

β™ͺ This is mavenized Tritonus.

Tritonus is an implementation of the Java Sound API and several Java Sound SPI.
For original versions of these components, see: http://www.tritonus.org/

All modules are implemented in jna or pure Java.

module status spi [1] comment library
share βœ…
remaining βœ… RWC--IO-
dsp βœ…
core βœ…
gsm βœ… RWC-----
javasequencer βœ… ----D---
jorbis βœ… R-C----- pure jorbis
midishare βœ… ----D---
mp3 βœ… RWC----- jna brew:lame, jlayer
esd 🚫 ---M---- linux only libesd
alsa 🚫 ---MD--- linux only libasound
vorbis βœ…[2] RWC----- jna brew:libvorbis
pvorbis βœ… -WC----- pure jVorbisEnc
cdda 🚫 linux only libcdda_interface libcdda_paranoia
fluidsynth βœ… ----D--- jna brew:fluid-synth
src βœ… --C----- sampling rate converter
aos βœ…
saol 🚧
test 🚧
timidity 🚧 libtimidity

[1] R: reader, W: writer, C: converter, M: mixer device, D: midi driver, I: midi reader, O: midi writer, B: sound bank SPI
[2] unstable, use jorbis, pvprbis

Installation

natives

  • lame
  • fluid-synth
  • libvorbis

e.g.

$ brew install lame fluid-synth libvorbis

maven

jvm option

e.g. -Djna.native.path=/opt/homebrew/lib

License

Tritonus is distributed under the terms of the Apache License, Version 2.0. See the file LICENSE for details.

License Exceptions

  • the low level GSM code (package org.tritonus.lowlevel.gsm) is licensed under the GNU GPL
  • BladeMP3EncDLL.h for Windows is licensed under the GNU LGPL.
  • the pvorbis lib is licensed under a BSD style license

References

fluidsynth

lame

vorbis

pvorbis

TODO

  • deploy to bintray via github actions
  • timidity (lost by disk crash)
  • use jna instead of jni
    • sub modules for linux only
  • make logging use lazy evaluation