SoX использование временного файла для зацикливания

192
Michael

Я пытаюсь использовать SoX для плавного зацикливания аудио файла. Эта команда, кажется, работает отлично:

play noise.wav repeat - 

Но, читая manстраницу для sox, я нахожу эту тревожную информацию:

Requires temporary file space to store the audio to be repeated. Note that repeating once yields two copies: the original audio and the repeated audio. 

У меня возникли проблемы с пониманием того, что на самом деле здесь происходит. Прежде всего, я не знаю, зачем ему нужны временные файлы, если я не выводю новый файл, он может просто читать один и тот же файл снова и снова. Во- вторых, есть две вещи, которые я не хочу, чтобы произошло (и, если они действительно случаются, и не могут быть уменьшены, то SoX не будет пригоден для такого использования):

  1. Аудиофайл читается с диска в кэш, а затем диск вращается для экономии заряда батареи. Я не хочу, чтобы диск снова вращался, потому что аудиоплеер пытается записать что-то обратно на диск!
  2. Аудио файл читается с SSD. Я не хочу, чтобы аудиоплеер записывал копию каждого цикла, создавая ненужный износ SSD!

Я попытался посмотреть на результат работы playпод, straceно есть много данных, чтобы посмотреть. Я также попытался запустить с жесткого диска, и хотя он не сразу раскручивался, когда я запускал второй цикл, он действительно раскручивался после нескольких циклов. Способ привода используется его никогда не раскручивается, как это, предполагая, play это что - то писать на диск. С другой стороны, я где-то читал, что временные файлы находятся в / tmp - но это в SSD, и я ничего не вижу там во время playработы.

Так что же на самом деле делает повтор ? Если он на самом деле пишет вещи, просто играет в цикле, это то, что другие игроки также делают, это просто не задокументировано?

0

0 ответов на вопрос