16 |
to an annoying "missing Normative/Informative References" error message --> |
to an annoying "missing Normative/Informative References" error message --> |
17 |
<?rfc strict="no" ?> |
<?rfc strict="no" ?> |
18 |
|
|
19 |
<rfc category="std" ipr="full3978" docName="LSCP 1.6"> |
<rfc category="std" ipr="full3978" docName="LSCP 1.7"> |
20 |
<front> |
<front> |
21 |
<title>LinuxSampler Control Protocol</title> |
<title>LinuxSampler Control Protocol</title> |
22 |
<author initials='C.S.' surname="Schoenebeck" fullname='C. |
<author initials='C.S.' surname="Schoenebeck" fullname='C. |
36 |
<email>cuse@users.sf.net</email> |
<email>cuse@users.sf.net</email> |
37 |
</address> |
</address> |
38 |
</author> |
</author> |
39 |
<date month="January" year="2014"/> |
<date month="March" year="2019"/> |
40 |
<workgroup>LinuxSampler Developers</workgroup> |
<workgroup>LinuxSampler Developers</workgroup> |
41 |
<keyword>LSCP</keyword> |
<keyword>LSCP</keyword> |
42 |
<abstract> |
<abstract> |
3551 |
encapsulated into apostrophes and supports escape sequences as described in chapter |
encapsulated into apostrophes and supports escape sequences as described in chapter |
3552 |
"<xref target="character_set">Character Set and Escape Sequences</xref>".</t> |
"<xref target="character_set">Character Set and Escape Sequences</xref>".</t> |
3553 |
|
|
3554 |
<t>By default, that is as initial routing, the effect send's audio channels |
<t>Note: there are two possible approaches to apply audio effects with FX sends: |
3555 |
are automatically routed to the last audio channels of the sampler channel's |
you can either use a) internal effects or b) external effects. |
3556 |
audio output device, that way you can i.e. first increase the amount of audio |
By default, that is as initial routing, effect sends are automatically routed |
3557 |
channels on the audio output device for having dedicated effect send output |
directly to the sampler channel's audio output device and the effect send's |
3558 |
channels and when "CREATE FX_SEND" is called, those channels will automatically |
audio channels are by default automatically routed to the last audio channels |
3559 |
be picked. You can alter the destination channels however with |
of that audio output device (for the purpose of applying effects externally that is, |
3560 |
<xref target="SET FX_SEND AUDIO_OUTPUT_CHANNEL">"SET FX_SEND AUDIO_OUTPUT_CHANNEL"</xref>. |
e.g. by using another application), that way you can i.e. first increase the |
3561 |
|
amount of audio channels on the audio output device for having dedicated effect |
3562 |
|
send output channels and when "CREATE FX_SEND" is called, those channels will |
3563 |
|
automatically be picked. You can alter the destination channels however with |
3564 |
|
<xref target="SET FX_SEND AUDIO_OUTPUT_CHANNEL">"SET FX_SEND AUDIO_OUTPUT_CHANNEL"</xref>. |
3565 |
|
If your intention is rather to use internal effects instead of external effects, |
3566 |
|
then you first need to <xref target="effects">load those internal effects</xref> |
3567 |
|
and then assign the FX sends to the desired internal effect by sending |
3568 |
|
<xref target="SET FX_SEND EFFECT">"SET FX_SEND EFFECT"</xref>. |
3569 |
</t> |
</t> |
3570 |
|
|
3571 |
<t>Note: Create effect sends on a sampler channel only when needed, because having effect |
<t>Note: Create effect sends on a sampler channel only when needed, because having effect |
3883 |
or <xref target="LIST FX_SENDS">"LIST FX_SENDS"</xref> command, |
or <xref target="LIST FX_SENDS">"LIST FX_SENDS"</xref> command, |
3884 |
<audio-src> is the numerical ID of the effect send's audio channel |
<audio-src> is the numerical ID of the effect send's audio channel |
3885 |
which should be rerouted and <audio-dst> is the numerical ID of |
which should be rerouted and <audio-dst> is the numerical ID of |
3886 |
the audio channel of the selected audio output device where <audio-src> |
either a) the audio output channel of the sampler channel's audio output |
3887 |
should be routed to. If an internal send effect is assigned |
device (i.e. if external effect shall be applied) or b) of the audio |
3888 |
to the effect send, then this setting defines the audio |
input channel of an internal effect assigned to the FX send where |
3889 |
channel routing to that effect instance respectively.</t> |
<audio-src> should be routed to.</t> |
3890 |
|
|
3891 |
<t>Note that effect sends can only route audio to the same audio output |
<t>Note that effect sends can only route audio to the same audio output |
3892 |
device as assigned to the effect send's sampler channel. Also note that an |
device as assigned to the effect send's sampler channel. Also note that an |
3930 |
</section> |
</section> |
3931 |
|
|
3932 |
<section title="Assigning destination effect to an effect send" anchor="SET FX_SEND EFFECT" lscp_cmd="true"> |
<section title="Assigning destination effect to an effect send" anchor="SET FX_SEND EFFECT" lscp_cmd="true"> |
3933 |
<t>The front-end can (re-)assign a destination effect to an |
<t>The front-end can (re-)assign an internal destination effect to an |
3934 |
effect send by sending the following command:</t> |
effect send by sending the following command:</t> |
3935 |
<t> |
<t> |
3936 |
<list> |
<list> |
3952 |
chain position in the effect chain which hosts the actual |
chain position in the effect chain which hosts the actual |
3953 |
destination effect.</t> |
destination effect.</t> |
3954 |
|
|
3955 |
|
<t>Note: This command MUST NOT be used if you want to apply |
3956 |
|
audio effects externally! By default FX sends are routed directly |
3957 |
|
to the audio output device for that purpose. |
3958 |
|
You can also revert this command later on by sending |
3959 |
|
<xref target="REMOVE FX_SEND EFFECT">"REMOVE FX_SEND EFFECT"</xref>, |
3960 |
|
which will cause the FX send to be routed directly to the sampler channel's |
3961 |
|
audio output device instead (i.e. for using external effects instead of |
3962 |
|
internal effects). |
3963 |
|
</t> |
3964 |
|
|
3965 |
<t>Possible Answers:</t> |
<t>Possible Answers:</t> |
3966 |
<t> |
<t> |
3967 |
<list> |
<list> |
4458 |
</t> |
</t> |
4459 |
</section> |
</section> |
4460 |
|
|
4461 |
<section title="General sampler informations" anchor="GET SERVER INFO" lscp_cmd="true"> |
<section title="General sampler information" anchor="GET SERVER INFO" lscp_cmd="true"> |
4462 |
<t>The client can ask for general informations about the LinuxSampler |
<t>The client can ask for general information about the LinuxSampler |
4463 |
instance by sending the following command:</t> |
instance by sending the following command:</t> |
4464 |
<t> |
<t> |
4465 |
<list> |
<list> |
5240 |
just reflects the key of the respective map entry, |
just reflects the key of the respective map entry, |
5241 |
thus subsequent |
thus subsequent |
5242 |
<xref target="GET MIDI_INSTRUMENT INFO">"GET MIDI_INSTRUMENT INFO"</xref> |
<xref target="GET MIDI_INSTRUMENT INFO">"GET MIDI_INSTRUMENT INFO"</xref> |
5243 |
command(s) are necessary to retrieve detailed informations |
command(s) are necessary to retrieve detailed information |
5244 |
about each entry.</t> |
about each entry.</t> |
5245 |
</list> |
</list> |
5246 |
</t> |
</t> |
6784 |
</section> |
</section> |
6785 |
|
|
6786 |
<section title="Managing Files" anchor="file_management"> |
<section title="Managing Files" anchor="file_management"> |
6787 |
<t>You can query detailed informations about files located |
<t>You can query detailed information about files located |
6788 |
at the same system where the sampler instance is running on. |
at the same system where the sampler instance is running on. |
6789 |
Using this command set allows to retrieve file informations |
Using this command set allows to retrieve file information |
6790 |
even remotely from another machine.</t> |
even remotely from another machine.</t> |
6791 |
|
|
6792 |
<section title="Retrieving amount of instruments of a file" anchor="GET FILE INSTRUMENTS" lscp_cmd="true"> |
<section title="Retrieving amount of instruments of a file" anchor="GET FILE INSTRUMENTS" lscp_cmd="true"> |
6876 |
</t> |
</t> |
6877 |
</section> |
</section> |
6878 |
|
|
6879 |
<section title="Retrieving informations about one instrument in a file" anchor="GET FILE INSTRUMENT INFO" lscp_cmd="true"> |
<section title="Retrieving information about one instrument in a file" anchor="GET FILE INSTRUMENT INFO" lscp_cmd="true"> |
6880 |
<t>The front-end can retrieve detailed informations |
<t>The front-end can retrieve detailed information |
6881 |
about a specific instrument within a given instrument |
about a specific instrument within a given instrument |
6882 |
file by sending the following command:</t> |
file by sending the following command:</t> |
6883 |
<t> |
<t> |
6897 |
|
|
6898 |
<t>The sampler will try to ask all sampler engines, |
<t>The sampler will try to ask all sampler engines, |
6899 |
whether they support the given file and ask the first |
whether they support the given file and ask the first |
6900 |
engine with a positive answer for informations about the |
engine with a positive answer for information about the |
6901 |
specific instrument in the given file.</t> |
specific instrument in the given file.</t> |
6902 |
|
|
6903 |
<t>Possible Answers:</t> |
<t>Possible Answers:</t> |
6977 |
</section> |
</section> |
6978 |
</section> |
</section> |
6979 |
<section title="Managing Effects" anchor="effects"> |
<section title="Managing Effects" anchor="effects"> |
6980 |
<t>Audio effects (e.g. reverb, delay, compression) can be |
<t>There are two possible approaches to apply audio effects |
6981 |
applied to the audio signals generated by the sampler. The |
(e.g. reverb, delay, compression). |
6982 |
sampler usually provides a set of internal audio effects for |
You can either a) load and apply internal effects or you can b) route |
6983 |
this task. The exact set of effects depends on the availability |
effect sends directly to dedicated output channels of your |
6984 |
|
audio device and apply effects externally (e.g. by routing |
6985 |
|
those dedicated output channels to another application).</t> |
6986 |
|
<t>This chapter describes how to load and manage internal effects. |
6987 |
|
If your intention is rather to apply effects externally, then |
6988 |
|
you can omit this chapter. For applying effects externally, you |
6989 |
|
just need to <xref target="CREATE FX_SEND">create FX sends</xref> |
6990 |
|
on the respective sampler channel(s) |
6991 |
|
and <xref target="SET FX_SEND AUDIO_OUTPUT_CHANNEL">adjust their destination audio channels</xref> |
6992 |
|
appropriately, because by default FX sends are automatically routed |
6993 |
|
directly to the audio output device.</t> |
6994 |
|
<t>The sampler usually provides a set of internal audio effects. |
6995 |
|
The exact set of effects depends on the availability |
6996 |
of third party effect plugins installed on the system where the |
of third party effect plugins installed on the system where the |
6997 |
sampler runs on.</t> |
sampler runs on (e.g. LADSPA plugins).</t> |
6998 |
<t>At the moment only "send effects" are supported. Support for |
<t>At the moment only "send effects" are supported. Support for |
6999 |
"insert effects" and "master effects" is planned to be added at |
"insert effects" and "master effects" is planned to be added at |
7000 |
a later point.</t> |
a later point.</t> |
7001 |
<t>The following commands allow to retrieve the set of internal |
<t>The following commands allow to retrieve the set of internal |
7002 |
effects available to the sampler, detailed informations about |
effects available to the sampler, detailed information about |
7003 |
those effects and to create and destroy instances of such |
those effects and to create and destroy instances of such |
7004 |
effects. After an instance of an effect is created, the effect |
effects. After an instance of an effect is created, the effect |
7005 |
instance can be inserted into the audio signal path of the |
instance can be inserted into the audio signal path of the |
7079 |
</section> |
</section> |
7080 |
|
|
7081 |
<section title="Retrieving general information about an effect" anchor="GET EFFECT INFO" lscp_cmd="true"> |
<section title="Retrieving general information about an effect" anchor="GET EFFECT INFO" lscp_cmd="true"> |
7082 |
<t>The front-end can ask for general informations about an |
<t>The front-end can ask for general information about an |
7083 |
effect by sending the following command:</t> |
effect by sending the following command:</t> |
7084 |
<t> |
<t> |
7085 |
<list> |
<list> |
7389 |
</section> |
</section> |
7390 |
|
|
7391 |
<section title="Retrieving current information about an effect instance" anchor="GET EFFECT_INSTANCE INFO" lscp_cmd="true"> |
<section title="Retrieving current information about an effect instance" anchor="GET EFFECT_INSTANCE INFO" lscp_cmd="true"> |
7392 |
<t>The front-end can ask for the current informations about |
<t>The front-end can ask for the current information about |
7393 |
a particular effect instance by sending the following command:</t> |
a particular effect instance by sending the following command:</t> |
7394 |
<t> |
<t> |
7395 |
<list> |
<list> |
7485 |
(e.g. depth of a reverb effect, duration of a delay effect, |
(e.g. depth of a reverb effect, duration of a delay effect, |
7486 |
dry / wet signal ratio). Those controllable effect parameters |
dry / wet signal ratio). Those controllable effect parameters |
7487 |
are called "input controls". The front-end can ask for the |
are called "input controls". The front-end can ask for the |
7488 |
current informations of an effect instance's input control |
current information of an effect instance's input control |
7489 |
by sending the following command:</t> |
by sending the following command:</t> |
7490 |
<t> |
<t> |
7491 |
<list> |
<list> |
7790 |
</section> |
</section> |
7791 |
|
|
7792 |
<section title="Retrieving information about a send effect chain" anchor="GET SEND_EFFECT_CHAIN INFO" lscp_cmd="true"> |
<section title="Retrieving information about a send effect chain" anchor="GET SEND_EFFECT_CHAIN INFO" lscp_cmd="true"> |
7793 |
<t>The front-end can ask for informations of a send effect |
<t>The front-end can ask for information of a send effect |
7794 |
chain by sending the following command:</t> |
chain by sending the following command:</t> |
7795 |
<t> |
<t> |
7796 |
<list> |
<list> |