Skip to content

Instantly share code, notes, and snippets.

@fercomunello
Last active January 8, 2024 22:26
Show Gist options
  • Save fercomunello/789652bbf55d20b6bfc389475c94486b to your computer and use it in GitHub Desktop.
Save fercomunello/789652bbf55d20b6bfc389475c94486b to your computer and use it in GitHub Desktop.
Convert FLAC to OPUS
#!/usr/bin/env bash
set -em
cd $(dirname $0)
rm -f *.opus
for i in *.flac
do
opusenc --bitrate 160 "$i" "$(echo $i | sed "s/.flac//g")".opus
mv -v *.opus ../opus
done
########################################
# 1) chmod +x start.sh convert.sh
# 2) watch -n .1 ls songs/opus
# 3) time sh start.sh
########################################
#!/usr/bin/env bash
set -em
cd $(dirname $0)
function do_sleep() {
local -r wait_for_file=$1
while true; do
pwd > /dev/null
if [[ ! -f $wait_for_file ]]; then
break;
fi
pwd > /dev/null
done
}
rm -f *.running
rm -f *.out
clear
if [ ! -d "songs" ]; then
mkdir songs
fi
cd songs
rm -rf opus
mkdir opus
if [ ! -d "flac_1" ]; then
mkdir flac_1
fi
if [ ! -d "flac_2" ]; then
mkdir flac_2
fi
if [ ! -d "flac_3" ]; then
mkdir flac_3
fi
cp ../convert.sh flac_1/
cp ../convert.sh flac_2/
cp ../convert.sh flac_3/
echo 'Folders created. Press CTRL C to exit.'
cd flac_1
if [[ $(find . -maxdepth 1 -type f -name '*.flac' | wc -l | tr -d ' ') -lt 0 ]]; then
echo 'Please copy the FLAC songs to the flac_1 folder!'
exit 0
fi
cd ..
cd flac_2
if [[ $(find . -maxdepth 1 -type f -name '*.flac' | wc -l | tr -d ' ') -lt 0 ]]; then
echo 'Please copy the FLAC songs to the flac_2 folder!'
exit 0
fi
cd ..
cd flac_3
if [[ $(find . -maxdepth 1 -type f -name '*.flac' | wc -l | tr -d ' ') -lt 0 ]]; then
echo 'Please copy the FLAC songs to the flac_3 folder!'
exit 0
fi
cd ..
sh flac_1/convert.sh > flac_1.running && \
rm -f flac_1.running &
sh flac_2/convert.sh > flac_2.running && \
rm -f flac_2.running &
sh flac_3/convert.sh > flac_3.running && \
rm -f flac_3.running &
do_sleep 'flac_1.running' && \
do_sleep 'flac_2.running' && \
do_sleep 'flac_3.running'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment