Es stellt sich heraus, dass dies mit SoX durchaus möglich ist, sogar mit nur einem einzigen SoX-Aufruf, Verwendung trim
und splice
Effekten. Die numerischen Argumente sind jedoch nicht einfach zu schreiben. Alle Zuschneidebereiche außer dem letzten müssen am Ende zusätzliche Zeit einschließen, die zum Überblenden verwendet wird, und Argumente für das Verbinden müssen auch die richtige Länge des ersten Bereichs angeben, einschließlich dieser zusätzlichen Zeit, 1. + 2. nach dem ersten Spleißen, 1. + 2. + 3. usw.
Ich habe ein Skript geschrieben, das dies tut (in Scala-Sprache), und ich werde es früher oder später veröffentlichen.
Es gibt einen Nachteil in Sox, der trim
Effekt scheint mit dem Fließkomma-Format nicht zu funktionieren. Am Ende werden Audiodaten in (höchstens) 24-Bit-Ganzzahlformat konvertiert. Dies kann je nach Anwendungsfall akzeptabel sein oder nicht.