Как проверить, обрезаны ли образцы аудиофайлов без воспроизведения файла?

Если это - просто почта с текстом, никакими вложениями:

/some/path/script.sh

Содержание:

#send me an email:
cat text | mail -s "subject" your@email.com

Чтобы иметь его каждые 20 дней, путь мог состоять в том, чтобы измениться на сценарий для добавления:

#send me an email:
cat text | mail -s "subject" your@email.com
#and the script itself re-schedule itself to start again in 20 days:
echo "$0" | at now + 20 days #And remember to launch that script using its full path

Иначе мог быть должен использовать crontabs (crontab -e как пользователь Вы хотите, чтобы сценарий был выполнен с). Для запущения скрипта каждые 20 дней через crontab я позволяю Вам man crontab ^^

Если Вы нуждаетесь во вложениях в той почте, лучше устанавливаете "дурака" (или подобные программы, простые в использовании в командной строке и способные обработать вложения).

===

другой подход теперь, когда Вы precised Вы хотите использовать ежедневный крон: Вы запускаете скрипт каждый день и хотите, чтобы он сделал что-то специальное (т.е., для отправки электронного письма), если это были 20 дней?

путь состоял бы в том, чтобы иметь, это разделяет в том сценарии:

#the script

#near the beginning:
[ ! -e /some/flagfile ] && touch /some/flagfile #create /some/flagfile, ONCE.

...  #the usual script treatment, if any

#and the test: if our flagfile is >=20 days old, we mail a msg and delete the flag
sleep 10  #IMPORTANT: that way we are sure the flag done 20 days ago is at least
          #           20days+a few seconds, and thus the following test will work !
if ( find /some -mtime +20 -print | grep '/some/flagfile$' >/dev/null )
then
     # we found a /some/flagfile of at least 20 days!
    cat /some/message | mail -s "subject" your@email.com
    rm /some/flagfile  #you could add checks that the email worked...
     # so next time you run the script, it will create the new /some/flagfile.
     # But if you prefer to have the 20 days start "now" instead of when the script
     # is run next, you could uncomment the next line instead:
    #touch /some/flagfile
fi

...
2
22.08.2015, 16:53
1 ответ

sox не нужно воспроизводить файл для сбора статистики по нему. Используйте -n для подавления вывода звука. Используйте эффект stat , чтобы найти информацию о максимальных уровнях:

$ sox mytest.mp3 -n stat
...
Maximum amplitude:     0.228743
Minimum amplitude:    -0.235424
...
Volume adjustment:        4.248

В приведенном выше примере файла можно увеличить объем на 4,2 для нормализации без обрезки:

$ sox -v 4.24 mytest.mp3 norm.mp3
$ sox norm .mp3 -n stat 
...
Maximum amplitude:     0.921943
Minimum amplitude:    -0.951687
...
Volume adjustment:        1.051
5
27.01.2020, 21:56

Теги

Похожие вопросы