1 |
<html> |
2 |
<head> |
3 |
<meta name="author" content="Christian Schoenebeck"> |
4 |
<title>SFZ File Format</title> |
5 |
<urlpath>sfz</urlpath> |
6 |
<meta name="description" content="SFZ File Format Reference."> |
7 |
<link rel="stylesheet" href="http://doc.linuxsampler.org/css/preview.css"> |
8 |
<script type="text/javascript" src="http://doc.linuxsampler.org/js/preview.js"></script> |
9 |
</head> |
10 |
<body> |
11 |
<h1>SFZ</h1> |
12 |
<p> |
13 |
The SFZ file format is a human readable instrument definition file format |
14 |
for audio sample based virtual instruments. In contrast to many other |
15 |
sampler file formats you can open and modify such .sfz files simply with |
16 |
any text editor. |
17 |
</p> |
18 |
|
19 |
<h2>Sections</h2> |
20 |
<p> |
21 |
A sfz file is divided into sections. A section defines in which context |
22 |
the subsequent statements in the sfz file shall be interpreted as. For example |
23 |
You may want to declare a lowpass filter to be used either for the entire |
24 |
sfz instrument, or you may declare the lowpass filter to be only used for |
25 |
a certain region on the keyboard instead. A section is introduced by |
26 |
its section name, where the section name is placed in a pair of angle brackets. |
27 |
The section name is then followed by the respective sfz opcodes which shall be |
28 |
assigned to that particular section. The sections available with sfz are: |
29 |
</p> |
30 |
<table> |
31 |
<tr> |
32 |
<th>Section</th> <th>Standard</th> <th>Description</th> |
33 |
</tr> |
34 |
<tr> |
35 |
<td><code lang="sfz"><global></code></td> <td>SFZ v1</td> <td>Declarations which shall apply to the entire instrument.</td> |
36 |
</tr> |
37 |
<tr> |
38 |
<td><code lang="sfz"><group></code></td> <td>SFZ v1</td> <td>TODO ...</td> |
39 |
</tr> |
40 |
<tr> |
41 |
<td><code lang="sfz"><region></code></td> <td>SFZ v1</td> <td>TODO ...</td> |
42 |
</tr> |
43 |
<tr> |
44 |
<td><code lang="sfz"><control></code></td> <td>?</td> <td>TODO ...</td> |
45 |
</tr> |
46 |
<tr> |
47 |
<td><code lang="sfz"><curve></code></td> <td>?</td> <td>TODO ...</td> |
48 |
</tr> |
49 |
<tr> |
50 |
<td><code lang="sfz"><effect></code></td> <td>?</td> <td>TODO ...</td> |
51 |
</tr> |
52 |
</table> |
53 |
|
54 |
<h2>Opcodes</h2> |
55 |
<p> |
56 |
The actual individual statements which make up the articulation |
57 |
definition of a sfz instrument are called <i>opcodes</i>. For example there |
58 |
is an opcode for loading and assigning a sample file to be played. And |
59 |
there is an opcode for defining envelope parameters, and so on. |
60 |
The opcodes available with the SFZ file format are: |
61 |
</p> |
62 |
<table> |
63 |
<tr> |
64 |
<th>Opcode</th> <th>Standard</th> <th>Description</th> |
65 |
</tr> |
66 |
<tr> |
67 |
<td><code lang="sfz">sample</code></td> <td>SFZ v1</td> <td>Load and assign an audio sample file.</td> |
68 |
</tr> |
69 |
<tr> |
70 |
<td><code lang="sfz">script</code></td> <td>LinuxSampler Ext.</td> <td>Load an real-time instrument script for the instrument.</td> |
71 |
</tr> |
72 |
<tr> |
73 |
<td>TODO ...</td> <td></td> <td></td> |
74 |
</tr> |
75 |
</table> |
76 |
|
77 |
</body> |
78 |
</html> |