Я бы использовал этот проект Normalize, это инструмент командной строки для нормализации аудиофайлов. Похоже, именно то, что вам нужно. Может выполнять пакетную обработку и не требует передискретизации в промежуточные форматы.
Он находится в репозитории пакета как normalize-audio, sudo apt-get install normalize-audio. Это сборка, поддерживаемая выше по течению от Debian, поэтому она должна быть в любом LTS или новее и построена с поддержкой mp3 (протестирована). Существует хорошая manpage man normalize-audio для изучения параметров, но по умолчанию команды по умолчанию работают хорошо. Для пакетной обработки (нормализовать объем для нескольких файлов), normalize-audio -b *.mp3 или указать отдельные имена файлов вместо использования подстановочных знаков.
Вы не можете вызывать функции Python непосредственно из оболочки Bash. Вы получаете эту конкретную ошибку, потому что bash анализирует ваши аргументы (20,3) следующим образом:
$ echo (20,3)
bash: syntax error near unexpected token `20,3'
Чтобы передать скобки в виде строки, вам необходимо их избежать:
$ echo \(20,3\) '(1,2)'
(20,3) (1,2)
Но это еще не волшебным образом запускается как код Python - вам нужно проанализировать аргументы командной строки в вашей программе Python (сохранить как x.py):
import sys
def fn(a,b):
print a+b
eval(sys.argv[1])
Затем: [!d4 ]
$ python x.py 'fn(0,13)'
13
Как я нашел в этом ответе, вы можете запустить функцию python непосредственно из bash, например:
$ python -c 'from a import stromkosten_pro_jahr; stromkosten_pro_jahr(20,3)'
Где a - имя вашего файла / модуля (a.py ).
Но главное - находиться в том же каталоге, что и ваш файл.