mirror of
https://github.com/ZDoom/fluidsynth.git
synced 2024-12-11 13:21:03 +00:00
aac2354f5c
cd fluidsynth && git mv * ../
106 lines
2.9 KiB
Text
106 lines
2.9 KiB
Text
New features
|
|
------------
|
|
- 24 bit sample support
|
|
- Non-realtime MIDI file rendering
|
|
- Sample streaming, load/unload sample on demand
|
|
- Synth sample rate change after initial creation
|
|
- handle tuning sysex messages
|
|
- Audio level metering
|
|
- Active voice count monitoring
|
|
|
|
Synthesis
|
|
---------
|
|
- Improve voice stealing algorithm
|
|
- Dynamic voice killing (based on CPU usage)
|
|
- Batch voice activation (stereo synch. as per SoundFont spec)
|
|
- Pitch control on stereo samples not managed as should
|
|
- soft clipping, compressor, limitor, or automatic gain control
|
|
|
|
Drivers
|
|
-------
|
|
- libao audio output driver
|
|
- MacOS X MidiCore component
|
|
- Windows DirectMusic component
|
|
- ASIO driver
|
|
- DirectSound 3D and EAX
|
|
|
|
Bugs to mash
|
|
------------
|
|
- Fix warnings on 64 bit platforms and type-puned pointer warning
|
|
- Add byte swapping support (on synthesis or sample load?)
|
|
- Investigate why MIDI rendering causes burst of notes at start
|
|
|
|
Validation
|
|
----------
|
|
- Validation tests: create soundfont with basic wave forms [sine,
|
|
square, triangle]; make test midi file; compare with SBLive output;
|
|
"regression" test
|
|
- Validate chorus (often sounds rather crappy)
|
|
- Analyse performance
|
|
|
|
Documentation
|
|
-------------
|
|
- Write documention on tuning
|
|
- fluid_synth_program_select2() with name of soundfont instead of font_id
|
|
- fluid_synth_set_gen2()
|
|
- Add usage scenarios in the documentation
|
|
- User and system configuration file
|
|
|
|
Binaries
|
|
--------
|
|
- FluidSynth
|
|
* Linux
|
|
* Win
|
|
* MacOS X
|
|
- fluid~ (Pd/Linux, MaxMSP/MacOSX, MaxMSP/Windows)
|
|
- fluidsynth~ (MaxMSP/MacOSX, MaxMSP/Windows)
|
|
- FluidXtra
|
|
|
|
Misc
|
|
----
|
|
- Remove dependency of settings on audio driver and other (see
|
|
fluid_settings_init())
|
|
- Add "unselect" command to shell to set a MIDI channel to not sound.
|
|
- When specifying -i -s (no console and TCP server) log to TCP clients
|
|
with easier parsable messages ("warning:", "error:", etc)
|
|
- add function to get initial soundfont generator value
|
|
- Pause and resume the synthesizer/audio thread (run synthesizer as a daemon)
|
|
- set loop on/off on a sample (set_gen GEN_SAMPLEMODE?)
|
|
|
|
|
|
FluidSynth Next Generation
|
|
--------------------------------------------
|
|
|
|
Top of the list
|
|
- Use FIFOs to send events to the audio thread
|
|
- Redo sfloader api using "interface" api
|
|
- 3D audio output
|
|
|
|
Design
|
|
- turn ladspa fx unit and router in indepedent
|
|
objects, remove their dependencies from the synth object
|
|
|
|
MIDI player
|
|
- Add API to manipulate and query MIDI file list
|
|
- generalize use of fluid_event_t, remove fluid_midi_event_t
|
|
|
|
Shell & command handler
|
|
- Add "note" command that plays a note with a duration (sequencer)
|
|
- MIDI file player commands (load/play/stop)
|
|
- Relax dependency of the command handler on the synthesizer
|
|
- Allow settings to be loaded before the synthesizer is created
|
|
|
|
SoundFont Specs:
|
|
|
|
MIDI Specs
|
|
- Omni and poly modes
|
|
- sample dump
|
|
- MIDI thru
|
|
- Scalable Polyphony MIDI (SP-MIDI)
|
|
|
|
|
|
Unsorted
|
|
- include readline in project
|
|
- additional aux buses
|
|
- rewrite midi file using new sequencer
|
|
- direct access to audio buffer
|