The Wayback Machine - https://web.archive.org/web/20230920081414/https://openjdk.org/projects/audio-engine/
Audio Synthesis Engine Project
Anencumbrance. This Project became inactive shortly after the featurewas delivered into
JDK 7. Discussionabout sound components may be found on
client-libs-dev.
Introduction
The goal of this project is to create new open source JDK softwaremidi synthesizer implementation.
The current midi synthesizer implementation is a part oflicenced library and has the following disadvantages:
- supports only proprietary, non-published soundbank file format(GM) and the editor has to be bought at beatnik.com; this format isnot widely used. It does not support the industry standards DLS(Downloadable Sounds,www.midi.org) and SoundFont (www.soundfont.com ) which are inwide use, and the file formats are available to the public;
- does not allow to assign mixer/line through which producedsamples will sound (because it uses its own render engineonly);
- mostly implemented in native code that make difficulties forsupporting and enhancing them;
- was licensed by Sun from a 3rd party and can not be released asopen source;
This project has temporary nature and will be open until allmajor objectives are acomplished. The project could be implementedincrementally (initially some basic functionality could beimplemented and then it can be enhanced with additianalfeatures).
Background
Software MIDI Synthesizer is closely related with Instrument andSoundbank. Synthesizer uses Instruments to produce sound (actuallyInstruments difine how MIDI instuments should sound), Soundbank isset of Instruments and usually represents soundbank files (allowsto load resources, in particular instruments, from soundbankfile).
Requirements and objectives
The main objective is: provide a reasonable alternative to theproprietary implementation (feature and quality wise).
Requirements for solution:
- pure-java implementation;
- uses JavaSound mixers/lines for sound output;
- supports DLS and/or SoundBank soundbank files;
Community