/vavi-sound

🎵 ADPCM Java sound SPIs and SSRC sample rate converter and MFi, SMAF(old school Japanese cellphone ringtone) Java MIDI SPI

Primary LanguageJava

Release Java CI CodeQL Java

vavi-sound

logo

Provides old school Japanese cell phone sounds library as javax.sound SPI
includes many ADPCM codecs and the SSRC sampling rate converter.

Status

SPI Codec Description IN Status OUT Status SPI Status Comment
midi MFi Japanese ring tone format 🚧 ✅ ✅ DoCoMo
midi SMAF YAMAHA ring tone format 🚧 ✅ ✅ au, Softbank
sampled MFi Japanese ring tone format ✅ ✅ ✅ DoCoMo
sampled SMAF YAMAHA ring tone format ✅ ✅ ✅ au, Softbank
sampled CCITT ADPCM G711, G721, G723 ✅ ✅ ✅ G721 cellphone w/ Fuetrek chip
sampled DVI ADPCM DVI ADPCM ✅ ✅ ✅
sampled IMA ADPCM IMA ADPCM ✅ ✅ ✅ [1]
sampled MA ADPCM YAMAHA ADPCM ✅ ✅ ✅ cellphone w/ YAMAHA MA chip
sampled MS ADPCM Microsoft ADPCM ✅ ✅ ✅ [1]
sampled OKI ADPCM OKI ADPCM ✅ ✅ ✅ [1]
sampled ROHM ADPCM ROHM ADPCM ✅ ✅ ✅ cellphone w/ Rohm chip
sampled VOX ADPCM VOX ADPCM ✅ ✅ ✅ [1]
sampled YAMAHA ADPCM YAMAHA ADPCM ✅ ✅ ✅ [1]
sampled YM2068 ADPCM YAMAHA ADPCM ✅ ✅ - same as YAMAHA ADPCM
sampled ssrc resampling ✅ - ✅ need to wait for phase 1

[1] wav file readable

Install

Usage

FAQ

Q. can I use SSRC sampling converter under LGPL license?

A. yes you can, follow those steps

  • create a separated jar (ssrc.jar) file including ssrc classes. (never include those .class files into your application jar file)
    • vavi/sound/pcm/resampling/ssrc/SSRC.class
    • vavi/util/SplitRadixFft.class
    • vavi/util/I0Bessel.class
  • âš  caution:
    • your application complies with the LGPL. customers have a right to reverse engineering your application.
    • if you include ssrc.jar with a distribution, you must offer a way to get ssrc source code.
  • see also

Tech Know

  • github actions workflow on ubuntu java8 cannot deal line PCM_SIGNED 8000.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian

References

TODO

  • use Receiver instead of MetaEventListener
  • ssrc: use nio pipe for 1st pass
    • on macos m2 ultra 1st pass is in a blink of an eye
  • ima, ms adpcm: wav reader
    • tritonus:tritonus-remaining:org.tritonus.sampled.file.WaveAudioFileReader

images by melody, cellphone