-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathREADME
executable file
·46 lines (30 loc) · 1.44 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
* What is this?
sf2xrni is a Renoise tool for creating XRNI (instrument) files from a
SoundFont sf2 file.
* Usage
$ (mono) sf2xrni(.exe) sf2-files
For mono, you'll need mono 2.8 or later.
When you run the tool, a directory is created to contain a set of
XRNI files. e.g. for file "foo.sf2" it will create directory "foo".
* Conversion Basics
A soundfont file contains more than one Presets.
A Preset is mapped to an XRN Instrument.
A SF2 Preset contains more than one Instruments.
An Instrument contains more than one Zones, and each Zone contains
a SampleHeader, which is a set of information to retrieve raw sample.
BaseNote is set from OverridingRootKey, or OriginalPitch.
LoopMode is set from SampleModes.
LoopStart/LoopEnd are set from those in SampleHeader.
Resulting samples are sorted in KeyRange order and bound to SplitMap.
* Dependencies
sf2xrni uses a couple of libraries:
- NRenoiseTools, to write XRNI files.
http://www.codeplex.com/nrenoisetools
- NAudio, which contains SoundFont2 file format support.
http://naudio.codeplex.com/
- ICSharpCode.SharpZipLib. It is just NRenoiseTools dependency
http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx
The prebuilt assemblies are in the repo. Note that I didn't copy NAudio.dll
from NRenoiseTools release binaries since 0.1.3. It is because the NAudio
version in NRenoiseTools misses some required bits used by sf2xrni. I have
imported it from NAudio project itself.