Implement an SSE linear resampler
[openal-soft.git] / alsoftrc.sample
blobdd5ae4db6b5f488b29913d90aa5d5c904c0f8d1b
1 # OpenAL config file. Options that are not under a block or are under the
2 # [general] block are for general, non-backend-specific options. Blocks may
3 # appear multiple times, and duplicated options will take the last value
4 # specified.
5 # The system-wide settings can be put in /etc/openal/alsoft.conf and user-
6 # specific override settings in ~/.alsoftrc.
7 # For Windows, these settings should go into %AppData%\alsoft.ini
9 # Option and block names are case-insenstive. The supplied values are only
10 # hints and may not be honored (though generally it'll try to get as close as
11 # possible). Note: options that are left unset may default to app- or system-
12 # specified values. These are the current available settings:
14 ## disable-cpu-exts:
15 #  Disables use of the listed CPU extensions. Certain methods may utilize CPU
16 #  extensions when detected, and this option is useful for preventing those
17 #  extensions from being used. The available extensions are: sse, neon.
18 #  Specifying 'all' disables use of all extensions.
19 #disable-cpu-exts =
21 ## channels:
22 #  Sets the output channel configuration. If left unspecified, one will try to
23 #  be detected from the system, and defaulting to stereo. The available values
24 #  are: mono, stereo, quad, surround51, surround61, surround71
25 #channels = stereo
27 ## sample-type:
28 #  Sets the output sample type. Currently, all mixing is done with 32-bit float
29 #  and converted to the output sample type as needed. Available values are:
30 #  int8    - signed 8-bit int
31 #  uint8   - unsigned 8-bit int
32 #  int16   - signed 16-bit int
33 #  uint16  - unsigned 16-bit int
34 #  int32   - signed 32-bit int
35 #  uint32  - unsigned 32-bit int
36 #  float32 - 32-bit float
37 #sample-type = float32
39 ## hrtf:
40 #  Enables HRTF filters. These filters provide for better sound spatialization
41 #  while using headphones. The default filter will only work when output is
42 #  44100hz stereo. While HRTF is active, the cf_level option is disabled.
43 #  Default is disabled since stereo speaker output quality may suffer.
44 #hrtf = false
46 ## hrtf_tables
47 #  Specifies a comma-separated list of files containing HRTF data sets. The
48 #  listed data sets can be used in place of or in addiiton to the the built-in
49 #  set. The format of the files are described in hrtf.txt. The filenames may
50 #  contain these markers, which will be replaced as needed:
51 #  %r - Device sampling rate
52 #  %% - Percent sign (%)
53 #  So if this is set to "kemar-%r-diffuse.mhr", it will try to open
54 #  "kemar-44100-diffuse.mhr" if the device is using 44100hz output, or
55 #  "kemar-48000-diffuse.mhr" if the device is using 48000hz output, etc.
56 #hrtf_tables =
58 ## cf_level:
59 #  Sets the crossfeed level for stereo output. Valid values are:
60 #  0 - No crossfeed
61 #  1 - Low crossfeed
62 #  2 - Middle crossfeed
63 #  3 - High crossfeed (virtual speakers are closer to itself)
64 #  4 - Low easy crossfeed
65 #  5 - Middle easy crossfeed
66 #  6 - High easy crossfeed
67 #  Users of headphones may want to try various settings. Has no effect on non-
68 #  stereo modes.
69 #cf_level = 0
71 ## wide-stereo:
72 #  Specifies that stereo sources are given a width of about 120 degrees on each
73 #  channel, centering on -90 (left) and +90 (right), as opposed to being points
74 #  placed at -30 (left) and +30 (right). This can be useful for surround-sound
75 #  to give stereo sources a more encompassing sound. Note that the sound's
76 #  overall volume will be slightly reduced to account for the extra output.
77 #wide-stereo = false
79 ## frequency:
80 #  Sets the output frequency.
81 #frequency = 44100
83 ## resampler:
84 #  Selects the resampler used when mixing sources. Valid values are:
85 #  point - nearest sample, no interpolation
86 #  linear - extrapolates samples using a linear slope between samples
87 #  cubic - extrapolates samples using a Catmull-Rom spline
88 #  Specifying other values will result in using the default (linear).
89 #resampler = linear
91 ## rt-prio:
92 #  Sets real-time priority for the mixing thread. Not all drivers may use this
93 #  (eg. PortAudio) as they already control the priority of the mixing thread.
94 #  0 and negative values will disable it. Note that this may constitute a
95 #  security risk since a real-time priority thread can indefinitely block
96 #  normal-priority threads if it fails to wait. As such, the default is
97 #  disabled.
98 #rt-prio = 0
100 ## period_size:
101 #  Sets the update period size, in frames. This is the number of frames needed
102 #  for each mixing update. Acceptable values range between 64 and 8192.
103 #period_size = 1024
105 ## periods:
106 #  Sets the number of update periods. Higher values create a larger mix ahead,
107 #  which helps protect against skips when the CPU is under load, but increases
108 #  the delay between a sound getting mixed and being heard. Acceptable values
109 #  range between 2 and 16.
110 #periods = 4
112 ## sources:
113 #  Sets the maximum number of allocatable sources. Lower values may help for
114 #  systems with apps that try to play more sounds than the CPU can handle.
115 #sources = 256
117 ## drivers:
118 #  Sets the backend driver list order, comma-seperated. Unknown backends and
119 #  duplicated names are ignored. Unlisted backends won't be considered for use
120 #  unless the list is ended with a comma (eg. 'oss,' will list OSS first
121 #  followed by all other available backends, while 'oss' will list OSS only).
122 #  Backends prepended with - won't be available for use (eg. '-oss,' will allow
123 #  all available backends except OSS). An empty list means the default.
124 #drivers = pulse,alsa,core,oss,solaris,sndio,mmdevapi,dsound,winmm,port,opensl,null,wave
126 ## excludefx:
127 #  Sets which effects to exclude, preventing apps from using them. This can
128 #  help for apps that try to use effects which are too CPU intensive for the
129 #  system to handle. Available effects are: eaxreverb,reverb,echo,modulator,
130 #  dedicated
131 #excludefx =
133 ## slots:
134 #  Sets the maximum number of Auxiliary Effect Slots an app can create. A slot
135 #  can use a non-negligible amount of CPU time if an effect is set on it even
136 #  if no sources are feeding it, so this may help when apps use more than the
137 #  system can handle.
138 #slots = 4
140 ## sends:
141 #  Sets the number of auxiliary sends per source. When not specified (default),
142 #  it allows the app to request how many it wants. The maximum value currently
143 #  possible is 4.
144 #sends =
146 ## layout:
147 #  Sets the virtual speaker layout. Values are specified in degrees, where 0 is
148 #  straight in front, negative goes left, and positive goes right. Unspecified
149 #  speakers will remain at their default positions (which are dependant on the
150 #  output format). Available speakers are back-left(bl), side-left(sl), front-
151 #  left(fl), front-center(fc), front-right(fr), side-right(sr), back-right(br),
152 #  and back-center(bc).
153 #layout =
155 ## layout_*:
156 #  Channel-specific layouts may be specified to override the layout option. The
157 #  same speakers as the layout option are available, and the default settings
158 #  are shown below.
159 #layout_stereo     = fl=-90, fr=90
160 #layout_quad       = fl=-45, fr=45, bl=-135, br=135
161 #layout_surround51 = fl=-30, fr=30, fc=0, bl=-110, br=110
162 #layout_surround61 = fl=-30, fr=30, fc=0, sl=-90, sr=90, bc=180
163 #layout_surround71 = fl=-30, fr=30, fc=0, sl=-90, sr=90, bl=-150, br=150
165 ## default-reverb:
166 #  A reverb preset that applies by default to all sources on send 0
167 #  (applications that set their own slots on send 0 will override this).
168 #  Available presets are: None, Generic, PaddedCell, Room, Bathroom,
169 #  Livingroom, Stoneroom, Auditorium, ConcertHall, Cave, Arena, Hangar,
170 #  CarpetedHallway, Hallway, StoneCorridor, Alley, Forest, City, Moutains,
171 #  Quarry, Plain, ParkingLot, SewerPipe, Underwater, Drugged, Dizzy, Psychotic.
172 #default-reverb =
174 ## trap-alc-error:
175 #  Generates a SIGTRAP signal when an ALC device error is generated, on systems
176 #  that support it. This helps when debugging, while trying to find the cause
177 #  of a device error. On Windows, a breakpoint exception is generated.
178 #trap-alc-error = false
180 ## trap-al-error:
181 #  Generates a SIGTRAP signal when an AL context error is generated, on systems
182 #  that support it. This helps when debugging, while trying to find the cause
183 #  of a context error. On Windows, a breakpoint exception is generated.
184 #trap-al-error = false
187 ## Reverb effect stuff (includes EAX reverb)
189 [reverb]
191 ## boost:
192 #  A global amplification for reverb output, expressed in decibels. The value
193 #  is logarithmic, so +6 will be a scale of (approximately) 2x, +12 will be a
194 #  scale of 4x, etc. Similarly, -6 will be about half, and -12 about 1/4th. A
195 #  value of 0 means no change.
196 #boost = 0
198 ## emulate-eax:
199 #  Allows the standard reverb effect to be used in place of EAX reverb. EAX
200 #  reverb processing is a bit more CPU intensive than standard, so this option
201 #  allows a simpler effect to be used at the loss of some quality.
202 #emulate-eax = false
205 ## ALSA backend stuff
207 [alsa]
209 ## device:
210 #  Sets the device name for the default playback device.
211 #device = default
213 ## device-prefix:
214 #  Sets the prefix used by the discovered (non-default) playback devices. This
215 #  will be appended with "CARD=c,DEV=d", where c is the card id and d is the
216 #  device index for the requested device name.
217 #device-prefix = plughw:
219 ## device-prefix-*:
220 #  Card- and device-specific prefixes may be used to override the device-prefix
221 #  option. The option may specify the card id (eg, device-prefix-NVidia), or
222 #  the card id and device index (eg, device-prefix-NVidia-0). The card id is
223 #  case-sensitive.
224 #device-prefix- =
226 ## capture:
227 #  Sets the device name for the default capture device.
228 #capture = default
230 ## capture-prefix:
231 #  Sets the prefix used by the discovered (non-default) capture devices. This
232 #  will be appended with "CARD=c,DEV=d", where c is the card id and d is the
233 #  device number for the requested device name.
234 #capture-prefix = plughw:
236 ## capture-prefix-*:
237 #  Card- and device-specific prefixes may be used to override the
238 #  capture-prefix option. The option may specify the card id (eg,
239 #  capture-prefix-NVidia), or the card id and device index (eg,
240 #  capture-prefix-NVidia-0). The card id is case-sensitive.
241 #capture-prefix- =
243 ## mmap:
244 #  Sets whether to try using mmap mode (helps reduce latencies and CPU
245 #  consumption). If mmap isn't available, it will automatically fall back to
246 #  non-mmap mode. True, yes, on, and non-0 values will attempt to use mmap. 0
247 #  and anything else will force mmap off.
248 #mmap = true
251 ## OSS backend stuff
253 [oss]
255 ## device:
256 #  Sets the device name for OSS output.
257 #device = /dev/dsp
259 ## capture:
260 #  Sets the device name for OSS capture.
261 #capture = /dev/dsp
264 ## Solaris backend stuff
266 [solaris]
268 ## device:
269 #  Sets the device name for Solaris output.
270 #device = /dev/audio
273 ## MMDevApi backend stuff
275 [mmdevapi]
278 ## DirectSound backend stuff
280 [dsound]
283 ## Windows Multimedia backend stuff
285 [winmm]
288 ## PortAudio backend stuff
290 [port]
292 ## device:
293 #  Sets the device index for output. Negative values will use the default as
294 #  given by PortAudio itself.
295 #device = -1
297 ## capture:
298 #  Sets the device index for capture. Negative values will use the default as
299 #  given by PortAudio itself.
300 #capture = -1
303 ## PulseAudio backend stuff
305 [pulse]
307 ## spawn-server:
308 #  Attempts to spawn a PulseAudio server when requesting to open a PulseAudio
309 #  device. Setting autospawn to false in PulseAudio's client.conf will still
310 #  prevent autospawning even if this is set to true.
311 #spawn-server = true
313 ## allow-moves:
314 #  Allows PulseAudio to move active streams to different devices. Note that the
315 #  device specifier seen by applications will not be updated when this occurs,
316 #  and neither will the AL device configuration (sample rate, format, etc).
317 #allow-moves = false
320 ## Wave File Writer stuff
322 [wave]
324 ## file:
325 #  Sets the filename of the wave file to write to. An empty name prevents the
326 #  backend from opening, even when explicitly requested.
327 #  THIS WILL OVERWRITE EXISTING FILES WITHOUT QUESTION!
328 #file =