Open boyska opened 9 months ago
You can utilize any LADSPA-compatible software, such as Audacity or ffmpeg.
#!/bin/bash
set -euo pipefail
if [ "$#" -eq 0 ]; then
echo "Usage: $0 <input_file1> [<input_file2> ...]"
exit 1
fi
filters=( "ladspa=vlevel-ladspa:vlevel_stereo:0.30|0.78|1|10|0" ) filter=$(IFS=,; printf "%s" "${filters[*]}")
for path in "$@"; do ffmpeg -i "$path" -af "$filter" -vcodec copy "${path%.}.out.${path##.}" done
Additionally, you can incorporate other filters into your script, like the following:
filters=( "ladspa=vlevel-ladspa:vlevel_stereo:0.30|0.78|1|10|0" "ladspa=fast_lookahead_limiter_1913:fastLookaheadLimiter:0|-10|0.50" )
This works well!
While I agree this is pretty generic, and I could have come up with this on my own with some effort, I think it would be valuable to ship such a script.
I'd like to apply vlevel to a file of mine. I'm pretty sure this will be simple enough to do, but could you provide some hints?
Use case: I download podcasts from the Internet, then I put them into USB sticks which I'll then plug into my car radio. I'd like to apply vlevel to that!
I'm pretty sure this would be possible (with some
sox
-magic, maybe?) but having some doc, or even a readymade script will be great! Bonus points if that preserves metadata :)