Ecasound MIDI Controller Configuration File Guide
Ecasound is a powerful command-line multitrack audio processing tool that supports real-time control of audio parameters via MIDI continuous controllers (CC). This article explains which configuration file stores persistent MIDI controller assignments in Ecasound, where to locate it on your system, and how to define persistent controller mappings for your audio workflows.
The Configuration File: ecasoundrc
In Ecasound, persistent MIDI controller assignments and overall
runtime configurations are stored in the
ecasoundrc resource file. When you assign
MIDI continuous controllers to chain operator parameters (such as
volume, panning, or filter cutoff) and want those behaviors to persist
across multiple sessions without manually passing arguments on the
command line every time, they are defined in this configuration
file.
File Locations
Ecasound searches for ecasoundrc in standard
hierarchical locations, allowing both system-wide and user-specific
configurations:
User Configuration (Recommended):
~/.ecasound/ecasoundrc(or historically~/.ecasoundrc)
This file applies to the individual user account and takes precedence over system-wide settings. It is the preferred place to store your personal MIDI hardware mappings.System-Wide Configuration:
/etc/ecasound/ecasoundrcor/usr/local/share/ecasound/ecasoundrc
This file applies to all users on the system if a local user configuration does not override it.
How Persistent MIDI Assignments Work
Ecasound enables parameter control using the -km
(controller continuous controller setup) and related MIDI configuration
options.
To make MIDI setups reusable, you can configure presets and default
behaviors directly within ~/.ecasound/ecasoundrc. This file
uses a simple line-based text format where you can declare default MIDI
device connections, controller-to-parameter bounds, and custom preset
files.
For advanced mappings, ecasoundrc specifies the path to
user preset directories (typically ~/.ecasound/presets/),
where you can store dedicated chain operator presets containing your
specific MIDI controller binding syntax:
-km:midi-controller-number,low-value,high-value,controller-type,channel
By adding these configurations to your ecasoundrc or
linking your custom preset definitions inside it, Ecasound automatically
loads your hardware mappings every time an audio processing engine is
initialized.