Смешайте и обрежьте 2 файла с помощью Sox - PullRequest
0 голосов
/ 05 февраля 2020

Мне нужна небольшая помощь, и я надеюсь найти это здесь.

Я использую sox для пометки некоторых файлов c с помощью голосовых меток на моем сервере, пока пользователь загружает файл. Это моя команда, которую я использовал. Все работает нормально.

sox -m {voice_tag_loop} {source_file} {output_file}

Теперь я хочу что-то изменить, но не знаю, как это сделать и не нашел решения. Таким образом, {voice_tag_loop} будет загружен пользователем и может иметь любую длину, например, 30 секунд, 20 секунд, 17 секунд или 1 минуту. Не знаю, что раньше.

{source_file} - это файл musi c, который также может иметь различную длину, например, 3:13 мин, 4: 20 мин

Как смешать {voice_tag_loop} с {source_file}, у которого {output_file} имеет длину {source_file}, но {voice_tag_loop} смешан и зациклен / повторен также с такой же длинной {source_file}

Я надеюсь, что смогу объяснить это, чтобы вы могли это понять.

С уважением

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

ОК. Теперь у меня есть ответ для всех, кто хочет смешать короткий звук с длинным, и короткий должен повторяться до тех пор, пока длинный звук.

В моем случае небольшое описание. Короткий файл будет изменен на 44,1 кГц и будет повторяться каждые 30 секунд. Макс 100 раз, но пока длинный файл. И, наконец, оба файла будут смешаны. Это все одна процедура.

sox {short_file} -r 44.1k -p pad 0 30 повторить 100 обрезки 0 $ (sox --i -d {long_file}) | sox - -m {long_file} {output_file}

С уважением

0 голосов
/ 05 февраля 2020

Просто повторяйте, пока исходный файл не будет исчерпан, например:

sox -m "| sox {voice_tag_loop} -p repeat -" {source_file} trim 0 $(soxi -d {source_file})

Примечание: не забывайте бит trim, в противном случае повторяющаяся часть будет генерировать бесконечный файл.

...