Skip to content

🎡 Sound sandbox (JSyn synth, CoreAudio synth, opl3 synth, OPUS Java soud SPI, etc...)

Notifications You must be signed in to change notification settings

umjammer/vavi-sound-sandbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

Release Java CI CodeQL Java

vavi-sound-sandbox

🌏 play the world β™ͺ

Status

SPI Codec IN Status OUT Status SPI Status project Description Comment
midi unknown 🚫 🚫 - this MFi by unknown
midi ittake 🚫 🚫 - this MFi by ittake
sampled ilbc 🚫 🚫 - this c
sampled ldcelp 🚫 🚫 - this c
sampled mp3 🚫 - - this mp3 need to deal tags
sampled mp3 βœ… - βœ… mp3spi jlayer
sampled sse 🚫 - 🚫 this sse
sampled resampling βœ… - - this laoe
sampled resampling βœ… - - this rohm
sampled polyphase βœ… - 🚧 this sox resampling
sampled resampler βœ… - - this sox resampling
sampled perfect 🚧 - - this sox resampling
sampled monauralize βœ… - βœ… tritonus-remaining PCM2PCMConversionProvider works but not suitable for resampling
sampled alac βœ… - βœ… vavi-sound-alac graduated to vavi-sound-alac
sampled QTKit βœ… - ? this rococoa deprecated
sampled AVFoundation 🚧 - 🚧 this rococoa use AVAudioConverter how to return objc value in callback?
sampled twinvq 🚫 🚫 - this TODO use ffmpeg
midi vsq 🚧 - 🚧 this YAMAHA Vocaloid
sampled opus βœ… 🚫 βœ… this concentus
midi AudioUnit βœ… - βœ… this rococoa use AVAudioUnitMIDIInstrument/kAudioUnitSubType_DLSSynth
midi AudioUnit βœ… - 🚫 this rococoa use AVAudioUnitSampler, how to adjust sf2 patch?
midi JSyn βœ… - βœ… this JSyn looking for good drums
midi OPL3 βœ… - βœ… this adplug opl3-player
midi ? - - - this opl, ma
midi CoreMIDI βœ… ? βœ… osxmidi4j rococoa iac βœ“, network βœ“, bluetooth ?
midi CoreMIDI βœ… ? βœ… CoreMidi4J jni iac βœ“, network βœ“, bluetooth ?
sampled speex βœ… - βœ… jspeex sample rate is limited to convert
sampled flac βœ… - βœ… JustFLAC
sampled flac βœ… - βœ… jFLAC
sampled aac - - βœ… JAADec
sampled vorbis - - βœ… tritonus-jorbis
sampled atrac3 🚧 - 🚧 this jpcsp Sony MD
sampled atrac3+ 🚧 - 🚧 this jpcsp Sony MD

Features

  • ALAC Java sound SPI ... (graduated incubation)
  • OPAS Java sound SPI ... (candidate to graduate)
  • sox polyphase resampler Java sound SPI ... (candidate to graduate)
  • sox perfect resampler Java sound SPI ... (wip)
  • Mac AudioUnit synthesizer Java MIDI SPI ... (candidate to graduate)
  • JSyn synthesizer Java MIDI SPI ... (wip)
  • OPL3 synthesizer Java MIDI SPI ... (wip)
  • iTunes Library (rococoa) ... Music.app Music Database

Tech Know

  • tritonus-mp3 only supports mp3 w/o tags
  • the reason we got "javax.sound.midi.MidiUnavailableException: MIDI OUT transmitter not available" is that sound.jar of JMF is in the class path.

Install

Usage

AudioInputStream ais = AudioSystem.getAudioInputStream(Paths.get(opus).toFile());
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(new AudioFormat(44100, 16, 2, true, false), ais));
clip.loop(Clip.LOOP_CONTINUOUSLY);

References

Lesson

TODO

Library

  • midi is super heavy
  • Transcoder
  • channels
  • jsyn pink noise
  • separate alac (git subtree, split?)

codec

midi

macos coremidi

macos audiounit

others

ebml