How Ecasound Handles Cuesheets and Track Markers
Ecasound treats audio inputs as continuous audio streams and does not natively parse external cuesheets (.cue files) or embedded track markers automatically. Instead of reading track metadata to divide or navigate files out of the box, Ecasound requires users to translate cue points into internal position offsets, time limits, or transport commands. To utilize cue points with Ecasound, timestamps must be mapped directly to its command-line positioning switches or automated via scripts and interactive mode commands.
Native Format Handling and Limitations
When Ecasound opens an audio file—such as a monolithic WAV, FLAC, or
APE file accompanied by a cuesheet—it interfaces with the file through
underlying I/O libraries like libsndfile. Ecasound focuses
strictly on the raw audio stream and standard header data (such as
sample rate, bit depth, and channel count). Embedded metadata chunks,
such as RIFF cue points or ID3 track markers, are bypassed during
standard processing. Similarly, .cue text files cannot be
passed directly to the -i (input) parameter, as Ecasound
expects a playable audio stream or audio device rather than a metadata
index.
Translating Cues to Position Parameters
To process specific tracks or segments identified by a cuesheet, you
must translate the cuesheet’s index points (minutes, seconds, and
frames) into Ecasound-compatible time parameters. Ecasound accepts time
offsets using the -pos parameter to seek to a specific
start time, and duration limits using the -t parameter.
For example, if a cuesheet indicates a track begins at 03:45 and lasts for 4 minutes:
- The start index is converted into seconds (225 seconds) and applied
using
-pos:225. - The length is applied using
-t:240(or-tlto enable continuous looping over that segment).
By passing these parameters alongside the master audio file, Ecasound accesses and processes only the defined segment, effectively reproducing the behavior of a track marker.
Interactive Transport and Markers
Within Ecasound’s interactive mode (ecasound -c), track
navigation can be handled in real time. While the software still does
not read the cuesheet directly, its internal transport engine allows you
to jump to exact cues using position commands:
setpos [seconds]: Moves the playback or processing head directly to the timestamp specified by a cue index.forward [seconds]/rewind [seconds]: Shifts playback relative to the current position.
Operators frequently use this functionality to create interactive listening sessions or manual slicing workflows corresponding to a cuesheet's index list.
Automating Cue Sheet Processing
Because native cuesheet parsing is absent, standard practice involves
piping data from external parsing utilities into Ecasound. Command-line
tools such as cuetools (specifically
cuebreakpoints) extract the track boundaries from a
.cue file into seconds. A shell script then iterates over
these timestamps, invoking separate Ecasound instances using the
-pos and -t flags to extract, split, or
process each track individually from the monolithic source audio.