G
YouTube TikTok Games
Skip to content

About

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

Topics

Resources

Stars

29 stars

Watchers

3 watching

Forks

Latest commit

 

History

369 Commits

Folders and files

Repository files navigation

Release Java CI CodeQL Java

vavi-sound

logo

Provides old school Japanese cell phone sounds library as javax.sound(.midi) 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, w/ vavi-apps-mfiplayer perfect reproducibility
midi SMAF YAMAHA ring tone format (着パロ) βœ… βœ… βœ… au, Softbank, w/ vavi-apps-mfiplayer perfect reproducibility
sampled MFi Japanese ring tone format (η€γ†γŸ) βœ… βœ… βœ… DoCoMo
sampled SMAF YAMAHA ring tone format (η€γ†γŸ) βœ… βœ… βœ… au, Softbank
sampled CCITT ADPCM G711, G721, G723, G726 βœ… βœ… βœ… cellphone w/ Fuetrek chip, G726
sampled DVI ADPCM DVI ADPCM βœ… βœ… βœ… same as IMA
sampled IMA ADPCM IMA ADPCM βœ… βœ… βœ… [2]
sampled MA ADPCM [1] YAMAHA ADPCM-MA βœ… βœ… βœ… cellphone w/ YAMAHA MA chip, YMU762, YMU765
sampled MS ADPCM Microsoft ADPCM βœ… βœ… βœ… [2]
sampled OKI ADPCM OKI ADPCM βœ… βœ… βœ… [2] x68000, MSM6258
sampled ROHM ADPCM [1] ROHM ADPCM βœ… βœ… βœ… cellphone w/ Rohm chip, BU8788KN
sampled VOX ADPCM Dialogic ADPCM (VOX) βœ… βœ… βœ… [2] MSM7580
sampled YM2068 ADPCM YAMAHA ADPCM-A βœ… βœ… - YM2608 etc.
sampled YAMAHA ADPCM YAMAHA ADPCM-A βœ… βœ… βœ… [2] same as YM2608 ADPCM
sampled PSX ADPCM SONY ADPCM βœ… - βœ… .mi[bh], .mic
sampled SShd SONY Audio Stream (ADS) βœ… - βœ… .ads, .ss2, psx/pcm16/ima
sampled ssrc resampling βœ… - βœ… need to wait for phase 1
midi PMD au, Qualcomm CMX βœ… - βœ… TODO synthesizer
midi DXM Feelsound, PHS βœ… - βœ… TODO oki synthesizer
midi SMD J-Phone J-SKY melody βœ… - βœ… TODO synthesizer
midi MFM FueTrek MFMP βœ… - βœ… TODO rohm? synthesizer

[1] implemented in another library
[2] wav file readable

Install

Usage

system properties

  • vavi.sound.sampled.spi.ssrc ... ssrc sampling rate conversion provider on/off, default false

sample

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 bundle 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
  • [midi volume] avoiding noise, SoundUtil#volume should be called before Sequencer#setSequence

References

TODO

  • use Receiver and sysex 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
  • midi -> smaf
  • https://github.com/but80/smaf825 (patch dump) -> https://github.com/umjammer/vavi-sound-ma
  • psx adpcm spi
  • sshd (.ss2) spi
  • adpcm playback timing precisely
  • smaf, mfi midi synthesizer are really needed? just receiver seems to be ok
    • those are needed when eliminating audio engine source data line
  • eliminate *MessageStore -> w/ data sysex
  • AudioDataChunk seems Ξ” is 0, there is the case that those pronounce at same timing ?
  • remaining japanese, world ringtone format

image designed by @umjammer, drawn by nano banana

About

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

Topics

Resources

Stars

29 stars

Watchers

3 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages