SMINSTBUILDER(1)

NAME
sminstbuilder - program to build .smset instruments from samples

SYNOPSIS
sminstbuilder Directory...

DESCRIPTION
sminstbuilder is a script which automatically performs all steps required to build an .smset instrument (to be used with SpectMorph morph plans) from samples. It is possible to do all the steps sminstbuilder does by hand, using smenc, smwavset, smtool, imiscutter and smsampleedit, but sminstbuilder makes the process to build an instrument much more convenient. The main idea is to have one directory per instrument, and in each directory one file named "config". Everything that sminstbuilder needs to know about the instrument goes into the "config" file. The commands are documented below in the CONFIG section.

OPTIONS
sminstbuilder takes a list of one or more instrument directories as input. Each instrument needs to have a "config" file.

BUILDER CONFIG
sminstbuilder reads the file "sminstbuilder.cfg" on startup. This file contains non-instrument-specific options. These are:

cache 0/1
    While building instruments, it may be necessary to encode the same sample again and again (while changing other parameters). Since smenc is slow, this can take a long time. If cache is set to 1, sminstbuilder will use smenccache for encoding, and if the same sample was encoded previously, the result will be taken from ~/.smenccache, which is a lot faster than rerunning smenc.

jobs n_jobs
    Since encoding is expensive, distributing the encoder jobs on multi-core-cpus is usually desired. If you have a multi-core-cpu, set n_jobs to the number of cores (i.e. 1 for single-core, 2 for dual-core, ...)

output-dir directory
    After sucessfully building an instrument, sminstbuilder will copy the instrument to this directory. It should be specified using an absolute path (not relative path).

CONFIG

auto-loop <percent>
    Set a one frame loop that starts and ends at the same point (given by <percent>).

auto-tune
    Tune instrument using the (40%..60%) data to extract the actual frequency.

auto-volume <percent>
    Normalize audio volume, using the volume around <percent> as reference.

auto-volume-from-loop
    Normalize audio volume, using the volume of the looped part as reference.

cut

dir Set data directory relative to instrument directory.

sample <midi-note> <filename>
    Add sample from file <filename> to instrument. The <midi-note> should be set to the note that was recorded, as number between 0 and 127.

samples <start-midi-note> <end-midi-note>
    Add a set of samples to instrument. The sample files should be named note-<N>.wav, where <N> is the midi-note, counting from <start-midi-note> to <end-midi-note>.

set-markers
    Set markers from marker file.

tune-all-frames
    Tune each frame of the instrument. This will discard minimal changes in frequency which are normal for most instruments, so it might sound artificial.

SEE ALSO
smenc.1 <https://testbit.eu/wiki/Smenc.1>, smtool.1 <https://testbit.eu/wiki/Smtool.1>, smwavset.1 <https://testbit.eu/wiki/Smwavset.1>