1
.TH siggen.conf 5 "07Feb99" "Release 2.3" "Linux System Manual"
3
.I siggen.conf \- the siggen configuration files
9
As from siggen version 2.3 onwards a versatile configuration file scheme has
10
been introduced. It allows parameters for the siggen programs to be
11
specified either across the board, or specifically for particular programs.
13
Three possible configuration files can be used: a LOCAL config file (usually
14
in current directory), a HOME config file in user's $HOME directory and a
17
All the programs are compiled with the names of the config files built in.
18
The filenames are set in the config.h header file and can be changed. The
19
LOCAL and GLOBAL config files are specified by the settings of:
21
#define DEF_CONF_FILENAME ".siggen.conf"
23
#define DEF_GLOBAL_CONF_FILE "/etc/siggen.conf"
25
And can be set to any file name or to NULL to disable the file. The HOME
26
config filename is created using the $HOME environment variable and the
27
DEF_CONF_FILENAME together, i.e. using the above, the HOME config file for a
28
user whose home directory is at /home/jj, would be
32
The config files do not have to exist. If they exist and are readable by the
33
program they are used, otherwise they are simply ignored.
35
The config files are always searched for configuration values in the order
36
LOCAL, HOME, GLOBAL. This allows a scheme where the sysadmin sets up default
37
config values in the GLOBAL config file, but allows a user to set some or
38
all different values in their own HOME config file, and to set yet more
39
specific values when run from a particular directory.
41
If no configuration files exist, the programs themselves provide builtin
42
default values (see config.h etc), and most of these values can be set
43
by appropriate command line switches and flags.
45
.SH CONFIGURATION\ VALUES
47
A configuration value has a name and a value, and values for all programs
48
are set by simply entering a line in the appropriate config file where the
49
first word is the name, followed by arbitrary spaces/tabs, followed by the
50
value. The value is all the rest of that line. e.g. to set the global
51
default samplerate of 44100 samples per sec, the following line would be
52
entered in the GLOBAL config file:
54
.IP SAMPLERATE\ \ \ \ \ 44100
56
Config value names are case insensitive.
58
A config value can be set for a specific program, by prefixing the config
59
value name with the program name and a ':'. e.g. to specify a samplerate of
60
only 8000 samples per sec for the tones program enter
62
.IP TONES:SAMPLERATE\ \ \ \ 8000
65
in the relevant config file. If both lines above were in the config file,
66
all programs except tones would use a samplerate of 44100, and tones would
69
You do not have to specify all configuration values in the config files.
70
If a particular value is missing, the programs will simply use their builtin
71
defaults (see config.h etc).
73
Configuration values set by command line switches or flags take precedence
74
over values in any of the config files.
77
the programs do not have their 'name' built-in, but use the name they
78
were invoked by. So if you change the name of a program, remember to change
79
the config file entries. However this does means that by using links to a
80
program, it can be made to pick up a different set of configuration values,
81
depending on the name it is invoked by.
83
.SH EXAMPLE\ CONFIGURATION\ FILE
85
A sample config file is provided in ".siggen.conf" in the distribution. This
86
may also be at /etc/siggen.conf . Any line whose first non-whitespace
87
character is a '#', is a comment line and is ignored.
89
.SH WHAT\ CONFIGURATION\ VALUES\ ARE\ THERE?
91
Not all of the siggen programs use all the values described here.
92
See the relevant man page for which values are used by which programs.
96
In all programs except tones and fsynth, channels specifies
97
the number of output channels to use, i.e. 1 for Mono and 2 for
100
For tones, channels specifies the number of 'voices' on which
101
tones can generate different waveforms before mixing them into
102
the one output channel.
104
For fsynth, channels specifies the numbers of seperately
105
configurable oscillators used to mix the single output channel.
108
The Digital to Analogue Converter (or PCM or DSP) device on
109
which to output the generated samples. This must be a real OSS
110
PCM device, otherwise the ioctls used will fail.
114
The number of Audio Buffer fragments to configure in the driver.
115
The interactive programs respond to changes made to parameters
116
from the keyboard immediately, but data will be buffered in the
117
driver in the buffer fragments. If the amount of data buffered
118
is too much then there will very noticable delays before
119
the output sound is altered. Against that, insufficient buffering
120
may mean that there is not enough data buffered for output to
121
cover the time when other processes are being run by the
122
scheduler. The programs set the buffer size to the nearest
123
power of 2 to give aprox. 100millisecs of sound. Hence if
124
FRAGMENTS is set to 3, there will be aprox. 0.3 secs worth
125
of sound buffered for output. On a lightly loaded fast
126
machine this, or 2, should be sufficient. To cover periods
127
of heavy load or on a less powerful machine use 4 or 5.
128
But remember the interactive programs will appear sluggish
129
in responding to the keyboard.
133
The number of samples per second to use. If output is to the DAC
134
then the DAC device is set to output samples at this rate.
137
not all cards can support all samplerates. SoundBlasters
138
are fairly flexible in this respect. Other cheaper cards are
139
not. Indeed some cards can only handle a very restricted set of
140
related samplerates e.g. 11025, 22050, 44100 & 8000, 16000,
141
32000, 48000. When writing to DACFILE all programs will attempt
142
to set the samplerate given, but use the actual samplerate the
143
device used. Use the verbose command line flag to check actual
146
Some common samplerates used are:
149
is the samplerate used in the phone system with 8 bit
150
samples, and is adequate for voice range frequencies.
153
is the samplerate used in audio CDs
156
is the samplerate used in DAT systems, I think,
157
and for much professional kit.
160
is also used, but I forget where, minidisc?.
162
In general, the higher the samplerate the larger the memory
163
and processing requirement, but the higher the frequency range
164
and the more accurate the signals generated.
168
Number of bits per sample. Only two values are allowed currently,
172
bit samples are unsigned, with decimal value 128 being the
176
bit samples are signed little endian values, i.e. the least
177
significant byte comes before the most significant byte either in
178
a file, or in the byte stream to an output device.
180
If samplesize if left completely unspecified, then all programs
181
will attempt to do 16 bit samples to DACFILE, and if that isn't
182
possible will do 8 bit samples. Or if writing to a file, 16 bit
183
samples will be written.
187
sets verbosity level.
193
is be a bit verbose (equiv. to -v switch)
196
is be very verbose (equiv. to -vv switch)
200
if set to a non-zero value, then the VI cursor moving keys
204
.IP sgen(1),\ swgen(1)
209
.I Copyright\ 1995-2008\ Jim\ Jackson
211
The software described by this manual is covered by the GNU General
212
Public License, Version 2, June 1991, issued by :
214
Free Software Foundation, Inc.,
218
Cambridge, MA 02139, USA
220
Permission is granted to make and distribute verbatim copies of
221
this manual provided the copyright notice and this permission notice
222
are preserved on all copies.
224
Permission is granted to copy and distribute modified versions of this
225
manual under the conditions for verbatim copying, provided that the
226
entire resulting derived work is distributed under the terms of a
227
permission notice identical to this one.
229
Permission is granted to copy and distribute translations of this
230
manual into another language, under the above conditions for modified
231
versions, except that this permission notice may be included in
232
translation instead of in the original English.
237
.I Email: jj@franjam.org.uk