Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   SoX - Sound eXchange Files (http://forum.oszone.net/showthread.php?t=352976)

semiono 04-02-2023 22:14 3002431

SoX - Sound eXchange Files
 
Код:

for %%* in (c:\A\*.wav) do sox "%%~*" -t wavpcm "c:\@\%%~n*.wav" trim 0 2
Как-то примерно работает, но нельзя ли улучшить? Можно ли заменять файлы на самих себя, то есть не использовать две папки source/target? Или это от sox конкретно зависит?
Хотелось бы заменить жёсткое указание целевых папок, хотя бы одну убрать IN или OUT.
Я имею ввиду сделать "батник", положить его в папку windows и просто обращаться к нему из разных папок как к утилите. Как бы надстройка над sox.exe

Почему ".wav" надо приписывать? А если %%~f вместо %%~n

Или использовать относительные пути ..\..\

Вся проблема в перечислении файлов, если бы просто sox *.wav, но так не работает, может через dir | .. как-то? Хотя FOR тоже хорошо, но замысловато.

---

Вобще-то я сделал из папки r в папку w, вроде корректно

Код:

for %%* in (r\*.wav) do sox "%%~*" -t wavpcm "w\%%~n*.wav" pad 0 5

DJ Mogarych 04-02-2023 23:47 3002442

Какое действие над wav тут производится?

Цитата:

Цитата semiono
Можно ли заменять файлы на самих себя, то есть не использовать две папки source/target? »

Если только сделать механизм копирования/замены. Напрямую никак.

semiono 05-02-2023 00:15 3002444

Код:

for %%* in (r\*.wav) do sox "%%~*" -t wavpcm "t\%%~n*.wav" pad 0 5
for %%* in (t\*.wav) do sox "%%~*" -t wavpcm "w\%%~n*.wav" trim 0 3

А я уже столкнулся с тем что иногда аж три папки надо. Сначала добавить длину, а потом обрезать.
Дело в том что короткие файлы сами не удлиняются, чтобы их привести к одинаковой длине.
Хотя может в документации это можно совместить, не знаю.

DJ Mogarych 05-02-2023 10:07 3002460

Не понимаю смысла. Добавляется 5 секунд в конце, а потом берётся 3 секунды в начале?

Может быть, лучше перейти на ffmpeg как более универсальное, гибкое и постоянно обновляемое решение.

https://ffmpeg.org/ffmpeg-all.html#apad
https://ffmpeg.org/ffmpeg-all.html#atrim

Там можно комплексный фильтр прописать.

semiono 05-02-2023 18:18 3002519

Вначале 0 (ничего не добавляется)
Добавляется 5 в конец, а потом обрезается до 3-х, чтобы всё получились одной длины.
Если файлы короче 3-х, то они игнорируются, к тому же ошибки об этом в консоль выводятся.
Но мне нужны все одной длины, заодно выровнить. pad по русски значит append :)

semiono 05-02-2023 19:07 3002523

https://madskjeldgaard.dk/posts/sox-...it-by-silence/

Код:

sox threebursts.wav burst_num.wav silence 1 0.1 1% 1 0.1 1% : newfile : restart
Забавно, что это работает из cmd.exe напрямую, а из bat.cmd не работает правильно. Что за : newfile : restart ?

--
ffmpeg может разделить файл на несколько по.. тишине между.. звуком? ...как бы альбом на треки скажем?
Sox пока я не понял, оставляет куски тишины вроде бы при жёстких установках, хотя дело делает, режет.

DJ Mogarych 05-02-2023 21:34 3002528

Может: https://stackoverflow.com/a/36077309


Время: 15:53.

Время: 15:53.
© OSzone.net 2001-