Skip to content

🎵 Sound sandbox (JSyn synth, CoreAudio synth, opl3 synth, OPUS Java Sound 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 - ? vavi-sound-atrack jpcsp Sony MD
sampled atrac3+ - vavi-sound-atrack jpcsp Sony MD
sampled atrac9 - vavi-sound-atrack 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