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:

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.