- warbling bird bug - test reverb - test filter - test existing midi controllers - comparison tests with sblive - test and update audio drivers (dsound, oss, alsa, audioport (win,mac,linux)) - test midi drivers (alsa, alsaseq, oss, winmidi, midishare (win,mac,linux)) - man and info pages - rpm (and db ?) package - add chorus if I can find some clean code somewhere (?) - brickwall limiter - Add ~ completion to iiwusynth load command - Bug: Loud overwhelming static heard with some instruments (filter effect?) I think that is probably the same problem affecting the warbling bird instrument (many other ones as well) - Handling of notes seems strange, issuing a note-on WITHOUT a corresponding note-off will cause a stuck note (expected behavior) but issuing a note-on and note-off for the same note again will not turn it off (unexpected behavior?). - An all notes off command for iiwusynth (noteoff with no parameters?) to get rid of pesky stuck notes - test and finish bindings (fts (linux,win), java (linux,win), xtra) DONE ------------------ - test and update audio drivers: oss, alsa, jack - test midi drivers: alsa, alsaseq, oss, midishare (linux)) ------------------ - sample rate != 44100 - chorus - update configure to handle new asound.h location - windows version - director plugin - java bindings - direct access to audio buffer - (configure) problems with readline - soft clipping, compressor, limitor, or automatic gain control - at sp creation: update params with current cc values - velocity to filter frequency modulator - default modulators (pitch bend, pan, volume) - macintosh version ------------------ Design ------ - determine and protect critical regions - check out atomic_inc and atomic_dec for flagging on/off of sp - check out lock-free lifo for synchronization - test for maximum cpu usage, and limit - watchdog - better debugging features and monitoring - MIDI events (driver status, received, errors) - Audio out (driver status, time, errors) - Debug message () - CPU, memory usage - better synth settings: iiwu_synth_attr or iiwu_synth_params o allow for optimization settings no key to filter modulator sample truncation, linear interpolation, 8 point interpolation, ... hardware acceleration o polyphony, buffer and queue size, ... - load, reload, replace, and print info about soundfonts the way creative does it - separate buffers for every channel, mix at last moment midi channel 1 goes to audio channels 1 and 2 midi channel 2 goes to audio channels 3 and 4 Drivers ------- - midishare - alsa 0.5 - OMS on macintosh DSP --- - soft clipping, compressor, limitor, or automatic gain control - add chorus - review convex and concave curves - improved float to int conversion - 96kHz/24bits Control ------- - at sp creation: update params with current cc values - velocity to filter frequency modulator - default modulators (pitch bend, pan, volume) - handle all continuous controllers - more testing on voice stealing algorithm - handles RPN and NRPN messages - handle modulators - possibility to select reverb type (concert hall, room, ...) - possibility to select chorus type - OpenSoundControl Testing ------- - create soundfont with basic wave forms [sine, square, triangle]; make test midi file; compare with SBLive output; "regression" test - compare performance with timidity Installation & Info ------------------- - web page - man page, info page - rpm package, debian package Availability ------------ - windows version - director plugin - create a libiiwusynth library that doesn't necessarily depend on OSS or ALSA. - make an fts package that links (statically?) with libiiwusynth - compile on macintosh - ladspa plugin - alsa module - csound opcode - language bindings (Java, Python, Perl, Guile, ...) - QuickTime Component - CORBA interface? (Orbit, Mico) - make netscape and ie plugin Hardware -------- - study ALSA interface, SBLive interface (OSS, win32) - hardware detection - specify hardware or software synth