/*!
\mainpage FluidSynth 1.1 Developer Documentation
\author Peter Hanappe
\author Conrad Berhörster
\author Antoine Schmitt
\author Pedro López-Cabanillas
\author Josh Green
\author David Henningsson
\author Copyright © 2003-2011 Peter Hanappe, Conrad Berhörster, Antoine Schmitt, Pedro López-Cabanillas, Josh Green, David Henningsson
\version Revision 1.1.4
\date 2011-07-22
All the source code examples in this document are in the public domain; you can use them as you please. This document is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ . The FluidSynth library is distributed under the GNU Library General Public License. A copy of the GNU Library General Public License is contained in the FluidSynth package; if not, visit http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt or write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
\section Abstract
<a href="http://www.fluidsynth.org">FluidSynth</a> is a software synthesizer based on the <a href="http://en.wikipedia.org/wiki/SoundFont">SoundFont 2</a> specifications. The synthesizer is available as a shared object that can easily be reused in any application that wants to use wave-table synthesis. This document explains the basic usage of FluidSynth. Some of the more advanced features are not yet discussed but will be added in future versions.
\section Contents Table of Contents
- \ref Disclaimer
- \ref Introduction
- \ref NewIn1_1_6
- \ref NewIn1_1_5
- \ref NewIn1_1_4
- \ref NewIn1_1_3
- \ref NewIn1_1_2
- \ref NewIn1_1_1
- \ref NewIn1_1_0
- \ref CreatingSettings
- \ref CreatingSynth
- \ref CreatingAudioDriver
- \ref UsingSynth
- \ref LoadingSoundfonts
- \ref SendingMIDI
- \ref RealtimeMIDI
- \ref MIDIPlayer
- \ref MIDIPlayerMem
- \ref MIDIRouter
- \ref Sequencer
- \ref Shell
- \ref Advanced
\section Disclaimer
This documentation, in its current version, is incomplete. As always, the source code is the final reference.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.
\section Introduction
What is FluidSynth?
- FluidSynth is a software synthesizer based on the SoundFont 2 specifications. The synthesizer is available as a shared object (a concept also named Dynamic Linking Library, or DLL) that can be easily reused in any application for wave-table synthesis. This document explains the basic usage of FluidSynth.
- FluidSynth provides a Command Line Interface program ready to be used from the console terminal, offering most of the library functionalities to end users, among them the ability of render and play Standard MIDI Files, receive real-time MIDI events from external hardware ports and other applications, perform advanced routing of such events, enabling at the same time a local shell as well as a remote server commands interface.
- FluidSynth is an API (Application Programming Interface) relieving programmers from a lot of details of reading SoundFont and MIDI events and files, and sending the digital audio output to a Sound Card. These tasks can be accomplished using a small set of functions. This document explains most of the API functions and gives short examples about them.
- FluidSynth uses instrument samples contained in standard SF2 (SoundFont 2) files, having a file structure based on the RIFF format. The specification can be obtained here: http://connect.creativelabs.com/developer/SoundFont/Forms/AllItems.aspx but most users don't need to know any details of the format.
- FluidSynth can easily be embedded in an application. It has a main header file, fluidsynth.h, and one dynamically linkable library. FluidSynth runs on Linux, Mac OS X, and the Windows platforms, and support for OS/2 and OpenSolaris is experimental. It has audio and midi drivers for all mentioned platforms but you can use it with your own drivers if your application already handles MIDI and audio input/output. This document explains the basic usage of FluidSynth and provides examples that you can reuse.
- FluidSynth is open source, in active development. For more details, take a look at http://www.fluidsynth.org
\section NewIn1_1_6 Whats new in 1.1.6?
Changes in FluidSynth 1.1.6 concerning developers:
- The player will not continue to the next song until all EOT (end of track events) have been reached.
- Enable long arguments on all platforms where getopt.h is available
- Windows: Fluidsynth.pc (pkg-config spec) is now installed.
- Mac OS X Lion: A build failure was fixed.
- For a full list of bug fixes, see
http://sourceforge.net/apps/trac/fluidsynth/wiki/ChangeLog1_1_6
\section NewIn1_1_5 Whats new in 1.1.5?
Changes in FluidSynth 1.1.5 concerning developers:
- A change in the Jack driver might require a newer Jack version compared to 1.1.4.
- For a full list of bug fixes, see
http://sourceforge.net/apps/trac/fluidsynth/wiki/ChangeLog1_1_5
\section NewIn1_1_4 Whats new in 1.1.4?
Changes in FluidSynth 1.1.4 concerning developers:
- You can now play MIDI files that reside in memory (instead of specifying a filename). See \ref MIDIPlayerMem for an example.
- A hook can be inserted for MIDI file playback, at playback time. This is done through the new fluid_player_set_playback_callback API function. You can use this to both inspect and modify MIDI events as they are being played (or add a MIDI router), just as you can for MIDI input drivers.
- Channel 10 used to be the one and only drum channel, this can now be changed using the fluid_synth_set_channel_type.
- fluid_synth_all_sounds_off and fluid_synth_all_notes_off are new public API functions. You can use them to turn notes off (i e releasing all keys, voices advance to release phase) or sounds off (more like pressing the mute button), for one channel or all channels.
- For Mac OS X users: The CoreAudio driver has been adapted to use AuHAL, and the default build style has changed to "FluidSynth.framework".
- For a full list of other enhancements and bug fixes, see
http://sourceforge.net/apps/trac/fluidsynth/wiki/ChangeLog1_1_4
\section NewIn1_1_3 Whats new in 1.1.3?
Changes in FluidSynth 1.1.3 concerning developers:
- There are no new API additions in 1.1.3, this is a pure bug-fix release.
For a list of bugs fixed, see
https://sourceforge.net/apps/trac/fluidsynth/wiki/ChangeLog1_1_3
\section NewIn1_1_2 Whats new in 1.1.2?
Changes in FluidSynth 1.1.2 concerning developers:
- Build system has switched from autotools to CMake. For more information, see
README.cmake. The autotools build system is still working, but it is
deprecated. The "winbuild" and "macbuild" directories have been dropped in
favor of CMake's ability to create project files on demand.
- Thread safety has been reworked to overcome the limitations and bugs in
version 1.1.0 and 1.1.1. There are two new settings controlling the thread
safety, synth.threadsafe-api and synth.parallel-render. More information
about these settings is in the \ref CreatingSettings section. Please look
them through and set them appropriately according to your use case.
- Voice overflow, i e what voice to kill when polyphony is exceeded, is now
configurable.
- Possibility to update polyphony and sample rate real-time. Note that
updating polyphony is not hard real-time safe, and updating sample rate will
kill all currently sounding voices.
- MIDI Bank Select handling is now configurable. See the synth.midi-bank-select
setting in the \ref CreatingSettings section for more information.
- Can use RealTimeKit (on Linux) to get real-time priority, if the original
attempt fails. Note that you'll need development headers for DBus to enable
this functionality.
- Shell commands for pitch bend and pitch bend range.
- PulseAudio driver: two new settings allows you to specify media role,
and control whether pulseaudio can adjust latency.
\section NewIn1_1_1 Whats n
没有合适的资源?快使用搜索试试~ 我知道了~
Linux Sound Programming Code
共535个文件
c:127个
h:69个
java:54个
需积分: 9 8 下载量 66 浏览量
2017-12-26
16:24:17
上传
评论
收藏 8.86MB ZIP 举报
温馨提示
Linux Sound Programming 书籍配套代码,对音频开发有很好的参考价值
资源推荐
资源详情
资源评论
收起资源包目录
Linux Sound Programming Code (535个子文件)
fluidsynth.1 16KB
configure.ac 17KB
Makefile.am 5KB
Makefile.am 916B
Makefile.am 394B
Makefile.am 376B
Makefile.am 368B
Makefile.am 153B
Makefile.am 113B
Makefile.am 113B
Makefile.am 105B
Makefile.am 98B
Makefile.am 83B
fluidsynth.anjuta 984B
AUTHORS 5KB
fluid_synth.c 157KB
fluid_defsfont.c 80KB
fluid_cmd.c 55KB
fluid_voice.c 55KB
fluid_midi.c 52KB
fluidmax.c 46KB
fluid_settings.c 42KB
fluid_ladspa.c 39KB
fluid_hash.c 37KB
fluid_ramsfont.c 35KB
fluid_midi_router.c 32KB
fluid_rvoice_mixer.c 30KB
fluid_seq.c 30KB
fluid_alsa.c 28KB
fluid_sys.c 28KB
fluidsynth.c 25KB
fluid_dsp_float.c 23KB
fluid_rvoice_dsp.c 23KB
fluid_rvoice.c 22KB
video_code.c 21KB
gtkkaraoke_player_video_pango.c 19KB
fluid_jack.c 19KB
play_ogg.c 18KB
fluid_event.c 17KB
fluid_oss.c 17KB
fluid_chorus.c 16KB
fluid_rev.c 15KB
decode_ogg.c 14KB
aconnect.c 14KB
fluid_filerenderer.c 14KB
fluid_mod.c 13KB
info.c 13KB
x_code.c 13KB
fluid_adriver.c 13KB
render.c 13KB
fluid_coreaudio.c 12KB
fluid_midishare.c 12KB
gtkkaraoke_player.c 12KB
pacat.c 12KB
fluid_dsound.c 12KB
x_code.c 11KB
fluid_iir_filter.c 11KB
fluid_winmidi.c 11KB
pacat2.c 11KB
fluid_rtkit.c 10KB
fluid_sndmgr.c 10KB
fluid_rvoice_event.c 10KB
gtk_play_video_overlay_alpha.c 10KB
fluid_seqbind.c 9KB
capture_client.c 9KB
fluid_dart.c 8KB
OpenMAX_AL_playback.c 8KB
fluid_chan.c 8KB
fluid_conv.c 8KB
gtk_play_video_overlay.c 8KB
fluid_pulse.c 8KB
fluid_mdriver.c 8KB
parec-latency.c 8KB
gtk_play_video_pango.c 8KB
delay.c 8KB
fluid_lash.c 7KB
fluid_portaudio.c 7KB
fluid_gen.c 7KB
pa-mic-2-speaker.c 7KB
delay.c 7KB
gtk_play_video_cairo.c 7KB
playback-capture.c 6KB
api-example.c 6KB
stereo_amp.c 6KB
parec.c 6KB
fluid_rvoice_handler.c 6KB
thru_client.c 6KB
gtk_play_video.c 6KB
video_code.c 6KB
fluid_coremidi.c 6KB
pamonitor_clients.c 6KB
fluidmax_fakefuns.c 5KB
simple_client.c 5KB
video_player_interface.c 5KB
my_interface.c 5KB
load.c 5KB
load.c 5KB
basic-tutorial-3.c 5KB
fluid_list.c 5KB
palist_devices_ongoing.c 5KB
共 535 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
jiangh_cn
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功