I am submitting this fastrack on behalf of Milan Cermak. Binding is patch. the timer is set for 03/25/2009
Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI This information is Copyright 2009 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: TiMidity++ 1.2. Name of Document Author/Supplier: Author: Milan Cermak 1.3 Date of This Document: 18 March, 2009 4. Technical Description Proposal: Integrate TiMidity++ into OpenSolaris Detail: TiMidity++[1] is software synthetizer which reads MIDI files and renders output sound either to file or to sound device. Aside of MIDI files, TiMidity++ can process Amiga module files (MOD) and other similar formats (SMF, MFi). TiMidity++ supports Sun Audio and Open Sound System interfaces. TiMidity++ is currently available in version 2.13.2 released on Oct 3rd, 2004. There are no news about new versions but community is still active and improves the software. In OpenSolaris, Sun Audio drivers do not provide interface to hardware synthetizer. Furthermore, many integrated sound chips available nowadays do not have hardware synthetizer leaving sound rendering to software. On the other hand, synthetized music is still in use, mainly in games. To render a sound from MIDI file, TiMidity++ requires a sound bank (a sound collection of different music instruments). Such sound bank is not part of TiMidity++. Sound banks are usually supplied with sound cards, but are limited in available sounds and instruments. Furthermore, they are delivered under proprietary license. To allow full functionality of TiMidity++ from start, OpenSolaris should provide a sound bank on its own. Two sound banks which are delivered in Debian GNU/Linux were evaluated; one from FreePats project[2] and one from FluidSynth project[3]. There are other sound banks available for free on the internet but it's hard or impossible to find their license. FluidSynth sound bank was chosen because it provides complete General Midi instrument set. The bank has standard format and can be also used by other software (or hardware synthetizer). However, it is quite large (about 150 MB). It will be installed to /usr/share/sounds/sf2 directory. Because of usability by other software, the sound bank will be packaged separately. Package will provide necessary configuration files for TiMidity++ to allow usage of the sound bank. FluidSynth[3] is another project providing software synthetizer. In advance, it can use external devices (keyboard) for input. However, it doesn't support other input file than MIDI and does not support Sun Audio interface. Exported Interfaces: SUNWtimidity Uncommitted Package name SUNWfluid-soundfont-gm Uncommitted Package name /usr/bin/timidity Committed Executable location timidity Volatile Commandline syntax Documentation Impact: New man pages timidity(1) and timidity_cfg(5). References: [1] http://timidity.sourceforge.net [2] http://freepats.opensrc.org [3] http://fluidsynth.resonance.org/trac [4] 6670236 TiMiDiTy++ 2.13.2 to be integrated into SFW consolidation 6. Resources and Schedule 6.4. Steering Committee requested information 6.4.1. Consolidation C-team Name: sfw 6.5. ARC review type: FastTrack 6.6. ARC Exposure: open