.. This file is part of Audio Tuner. Copyright 2025, 2026 Jessie Blue Cassell This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . .. |triangle| unicode:: U+2023 Configuration and Saved Options =============================== .. _config_file: Configuration File ~~~~~~~~~~~~~~~~~~ The configuration file (config file for short) is ``audiotuner.conf``. It's optional and not installed automatically. If you need to change Audio Tuner's default settings, you can get started by copying and pasting the example configuration shown at the bottom of this page: :ref:`example` Where it goes ^^^^^^^^^^^^^ The default config file path varies by platform. Run .. code:: bash tuner --default-config-path to find out where it goes on your system. You can also look at the :guilabel:`About` window in the GUI (**Help** |triangle| **About Audio Tuner**) to find out the path. Once you find out where it goes, copy the example configuration there and then edit it to suit your needs. If the GUI is running, you'll need to restart it for the config file to take effect. What goes in it ^^^^^^^^^^^^^^^ The syntax is INI style. .. note:: If there's a problem parsing the file, it will cause the file to be ignored. Comments """""""" A line starting with :code:`#` is a comment. This only works if the :code:`#` is the first non-whitespace character in the line (no inline comments allowed). Sections """""""" There is one section, denoted by the following required header: .. code:: ini [DEFAULT] Options """"""" The lines following the header are either key/value pairs of the form: .. code:: ini key = value Or, for options that don't take a value, just: .. code:: ini key .. tip:: The syntax isn't strict. Whitespace mostly doesn't matter, you can use :code:`:` instead of :code:`=` if you want, and you can abbreviate things as long as it's not ambiguous. The possible options are mostly the same as the command line options (long form), but without the :code:`--` prefixes. (See the `tuner`_ and `tuner-gui`_ man pages.) .. _tuner-gui: tuner-gui.html .. _tuner: tuner.html The options that can't be set in the config file are: * :code:`config` (Because if Audio Tuner is already parsing the config file, it's too late to choose a different config file!) * :code:`default-config-path` * :code:`default-savefile-path` * :code:`savefile-header` * :code:`print-completion` * :code:`version` * :code:`help` Here are the options that *can* be set in the config file, along with some sample values for the options that take a value: .. code:: ini tuning = equal_temperament ref-note = A4 ref-freq = 440.0 low-cut = 20.0 high-cut = 15000.0 dB-range = 30.0 max-peaks = 10 size-exp = 15 start = 0 end = 100 samplerate = 44100 plot = log nopad verbose debug color .. note:: Before version 0.12.0, option names used underscores instead of dashes. Underscores are still accepted for backwards compatibility (for example, ``ref-note`` and ``ref_note`` will both work). The following can *only* be set in the config file, not on the command line or GUI :ref:`option_panel`: .. code:: ini backends = mpv_pipe Use this to specify which backends should be tried for reading media files for analysis. You can specify more that one in a comma separated list, and they will be tried in order. The backends are: * :code:`mpv_pipe` is the default backend. It uses **libmpv2** and transfers data through a named pipe. * :code:`mpv_tempfile` also uses **libmpv2**, but transfers data using a temporary file. It shouldn't ever be necessary to use this, but it's there in case your system has trouble with named pipes for some weird reason. * :code:`ffmpeg` uses **ffprobe** and **ffmpeg**. Use this if you already have those programs installed and don't want to bother installing **libmpv2**. .. attention:: The player and export functionality in the GUI are not affected by the ``backends`` setting and will not work unless **libmpv2** is installed. Also, **ffmpeg** does not have the **scaletempo2** filter, so **rubberband** will always be used with ffmpeg regardless of the correction backend setting. .. _example: Full example ^^^^^^^^^^^^ .. literalinclude:: _static/audiotuner.conf :caption: audiotuner.conf :language: ini .. _savefile: Save File ~~~~~~~~~ .. versionadded:: 0.11 The save file is ``saved_options.ini``. It's similar to the config file, but stores options associated with specific audio files instead of general default options. The CLI and GUI both read it, and the GUI can also write to it. The GUI will create it if necessary. It's in INI format like the config file. It can be manually created and/or edited, but the easiest way to get one is to let the GUI create it by using its option saving functionality. See :ref:`savingoptions`. Where it goes ^^^^^^^^^^^^^ The default save file path varies by platform. Run .. code:: bash tuner --default-savefile-path to find out where it goes on your system. You can also look at the :guilabel:`About` window in the GUI (**Help** |triangle| **About Audio Tuner**) to find out the path. What goes in it ^^^^^^^^^^^^^^^ The only difference between the save file and the config file is that the save file doesn't have a ``[DEFAULT]`` header, and instead has headers containing paths to audio files. They should be absolute paths with no symlinks, quoted, and in square brackets. Run .. code:: bash tuner --savefile-header /path/to/audio/file to convert a path into a header than can be used in the save file.