tiMidity: extract tracks preserving initial silence

2

tiMidity can extract individual tracks from a standard MIDI file to audio files, using its option -o out.wav, and its option -Q 0,-n to quieten all tracks but the n'th.

However, re-mixing the resulting .wav files (sox -m *.wav ...) may not reconstitute the original (all tracks, without -Q). This is because any track whose first note-on event comes several seconds after the overall start (i.e., starts with a rest) produces an audio file that starts exactly at the first note. Noble, but misguided.

How can a single track be extracted into an audio file, preserving any silence before the first note?

(Must I edit the MIDI file to insert, into each track, a dummy zero-volume note at the start of the music? Or add a dummy track m with a zero-volume starting note, and then -Q 0,-n,-m ?)

Camille Goudeseune

Posted 2014-04-02T23:02:43.617

Reputation: 1 361

Answers

3

timidity version 2.14.0 has an option --preserve-silence which prevents it from dropping the initial rests.

Aryeh Leib Taurog

Posted 2014-04-02T23:02:43.617

Reputation: 320

Indeed, 2.14.0 from sourceforge's timidity.c includes this option. Yay! It just hasn't yet reached Ubuntu 12.04 LTS, whose timidity package is still 2.13.2. – Camille Goudeseune – 2015-02-04T20:31:15.380

Ubuntu 14.04 LTS is still stuck at timidity 2.13.2. – Camille Goudeseune – 2015-10-19T16:08:06.347

1Ubuntu 16.04.3 LTS is still stuck at timidity 2.13.2. – Camille Goudeseune – 2018-04-13T21:34:14.813

1

I’d guess that’s coming straight from debian, where there doesn’t seem to be much packaging activity. On the other hand, version 2.14.x isn’t mentioned on the timidity++ sourceforge page either.

– Aryeh Leib Taurog – 2018-04-17T15:31:53.697