Skip to content

Instantly share code, notes, and snippets.

@coderofsalvation
coderofsalvation / loopcrossfade
Last active June 1, 2022 05:32
bashscript which turns an wavfile into a seamless loopable wavfile (using a crossfade technique). The faderatio indicates the length of the fade used, the higher the number the shorter the fade.
# makes a audiofile to loop itself (seamless by using a crossfade trick) (needs sox audio utilities)
# @dependancy sox
# Usage: ./loopcrossfade <input.wav> <faderatio> [outputdir]
#
loopcrossfade(){
input="$1"; faderatio="$2"; outputdir="$3"; tmpinput="/tmp/$(basename "$input").loopcrossfade.wav"
[[ ! -f "$input" ]] && echo "cannot find $1" && exit 1
valid=$(echo "$faderatio > 1.99" | bc -l );
(( $valid == 0 )) && echo "faderatio should be 2.0 or bigger" && exit 1