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 |
<note> |
19 |
This SFZ documentation is yet under construction. In the meantime you may want to |
20 |
have a look at the old and currently still separate list of <a href="http://linuxsampler.org/sfz/">opcodes supported by LinuxSampler</a>. |
21 |
You want to help filling up the missing information about the SFZ file format on this site? Great! |
22 |
Check out the <a href="http://svn.linuxsampler.org/cgi-bin/viewvc.cgi/doc/docbase/sfz/">source files of this SFZ documentation</a> |
23 |
on our Subversion server and <a href="http://linuxsampler.org/developers.html">get in touch with us</a>! |
24 |
There is also a short guide for getting started on <a href="../writing_docs/01_writing_docs.html">writing articles for this site</a>. |
25 |
</note> |
26 |
|
27 |
<h2>Sections</h2> |
28 |
<p> |
29 |
A sfz file is divided into sections. A section defines in which context |
30 |
the subsequent statements in the sfz file shall be interpreted as. For example |
31 |
You may want to declare a lowpass filter to be used either for the entire |
32 |
sfz instrument, or you may declare the lowpass filter to be only used for |
33 |
a certain region on the keyboard instead. A section is introduced by |
34 |
its section name, where the section name is placed in a pair of angle brackets. |
35 |
The section name is then followed by the respective sfz opcodes which shall be |
36 |
assigned to that particular section. The sections available with sfz are: |
37 |
</p> |
38 |
<table> |
39 |
<tr> |
40 |
<th>Section</th> <th>Standard</th> <th>Description</th> |
41 |
</tr> |
42 |
<tr> |
43 |
<td><code lang="sfz"><global></code></td> <td>SFZ v1</td> <td>Declarations which shall apply to the entire instrument.</td> |
44 |
</tr> |
45 |
<tr> |
46 |
<td><code lang="sfz"><group></code></td> <td>SFZ v1</td> <td>TODO ...</td> |
47 |
</tr> |
48 |
<tr> |
49 |
<td><code lang="sfz"><region></code></td> <td>SFZ v1</td> <td>TODO ...</td> |
50 |
</tr> |
51 |
<tr> |
52 |
<td><code lang="sfz"><control></code></td> <td>?</td> <td>TODO ...</td> |
53 |
</tr> |
54 |
<tr> |
55 |
<td><code lang="sfz"><curve></code></td> <td>?</td> <td>TODO ...</td> |
56 |
</tr> |
57 |
<tr> |
58 |
<td><code lang="sfz"><effect></code></td> <td>?</td> <td>TODO ...</td> |
59 |
</tr> |
60 |
</table> |
61 |
|
62 |
<h2>Opcodes</h2> |
63 |
<p> |
64 |
The actual individual statements which make up the articulation |
65 |
definition of a sfz instrument are called <i>opcodes</i>. For example there |
66 |
is an opcode for loading and assigning a sample file to be played. And |
67 |
there is an opcode for defining envelope parameters, and so on. |
68 |
The opcodes available with the SFZ file format are: |
69 |
</p> |
70 |
<table> |
71 |
<tr> |
72 |
<th>Opcode</th> <th>Standard</th> <th>Description</th> |
73 |
</tr> |
74 |
<tr> |
75 |
<td><code lang="sfz">sample</code></td> <td>SFZ v1</td> <td>Load and assign an audio sample file.</td> |
76 |
</tr> |
77 |
<tr> |
78 |
<td><code lang="sfz">script</code></td> <td>LinuxSampler Ext.</td> <td>Load an real-time instrument script for the instrument.</td> |
79 |
</tr> |
80 |
<tr> |
81 |
<td><code>set_ccN</code></td> <td>SFZ v2</td> <td>Assign initial value to MIDI controller.</td> |
82 |
</tr> |
83 |
<tr> |
84 |
<td>TODO ...</td> <td></td> <td></td> |
85 |
</tr> |
86 |
</table> |
87 |
|
88 |
</body> |
89 |
</html> |