Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - SoX - Sound eXchange Files

Ответить
Настройки темы
CMD/BAT - SoX - Sound eXchange Files

Аватара для semiono

Ветеран


Сообщения: 830
Благодарности: 33

Профиль | Отправить PM | Цитировать


Изменения
Автор: semiono
Дата: 04-02-2023
Код: Выделить весь код
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

-------
Полезное сообщение


Отправлено: 22:14, 04-02-2023

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


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

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

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:47, 04-02-2023 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для semiono

Ветеран


Сообщения: 830
Благодарности: 33

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
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
А я уже столкнулся с тем что иногда аж три папки надо. Сначала добавить длину, а потом обрезать.
Дело в том что короткие файлы сами не удлиняются, чтобы их привести к одинаковой длине.
Хотя может в документации это можно совместить, не знаю.

-------
Полезное сообщение


Отправлено: 00:15, 05-02-2023 | #3


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


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

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

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

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

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 05-02-2023 в 12:04.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:07, 05-02-2023 | #4


Аватара для semiono

Ветеран


Сообщения: 830
Благодарности: 33

Профиль | Отправить PM | Цитировать


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

-------
Полезное сообщение


Отправлено: 18:18, 05-02-2023 | #5


Аватара для semiono

Ветеран


Сообщения: 830
Благодарности: 33

Профиль | Отправить PM | Цитировать


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 пока я не понял, оставляет куски тишины вроде бы при жёстких установках, хотя дело делает, режет.

-------
Полезное сообщение


Последний раз редактировалось semiono, 05-02-2023 в 19:45.


Отправлено: 19:07, 05-02-2023 | #6


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


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

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:34, 05-02-2023 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - SoX - Sound eXchange Files

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
В системных Program Files/Files (x86)/Data появились папки различных антивирусов Quasar Лечение систем от вредоносных программ 4 04-08-2021 08:29
Разное - [решено] дублируются папки program files и program files(86) e6969938 Microsoft Windows 7 4 31-03-2014 12:25
[решено] дублируются папки program files и program files(86) e6969938 Лечение систем от вредоносных программ 2 31-03-2014 12:24
Кто нибудь может одолжит премиум на SMS-FILES или VIP-FILES? ники Флейм 2 16-05-2009 22:13
Перенос папки \Program Files\Common Files\Microsoft Shared\DW\ Vladimir_17 Microsoft Windows NT/2000/2003 2 18-06-2008 11:17




 
Переход