Skip to content

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

Notifications You must be signed in to change notification settings

umjammer/vavi-sound

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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
  • use service provider for mfi, smaf sequencer
  • service loader instead of vavi.properties

images by melody, cellphone

About

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

Topics

Resources

Stars

Watchers

Forks

Sponsor this project

Languages