Provides old school Japanese cell phone sounds library as javax.sound
SPI
includes many ADPCM codecs and the SSRC sampling rate converter.
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
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
- github actions workflow on ubuntu java8 cannot deal line
PCM_SIGNED 8000.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian
- use
Receiver
instead ofMetaEventListener
- ssrc: use nio pipe for 1st pass
- on macos m2 ultra 1st pass is in a blink of an eye
ima
,ms
adpcm: wav readertritonus:tritonus-remaining:org.tritonus.sampled.file.WaveAudioFileReader
- use service provider for mfi, smaf sequencer
- service loader instead of vavi.properties