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

play noise.wav repeat -

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

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