using correct files now
This commit is contained in:
parent
066ea49ab8
commit
01125bcfd0
47
split_tracks
47
split_tracks
@ -16,9 +16,9 @@ function make_drum() {
|
|||||||
|
|
||||||
echo sox -v "$volume_reduction_factor" "$drum_track" "$quiet_drums"
|
echo sox -v "$volume_reduction_factor" "$drum_track" "$quiet_drums"
|
||||||
sox -v "$volume_reduction_factor" "$drum_track" "$quiet_drums"
|
sox -v "$volume_reduction_factor" "$drum_track" "$quiet_drums"
|
||||||
echo sox -m "${no_drums[@]}" "$quiet_drums" "$mixed_wav"
|
echo sox -m "${nodrums[@]}" "$quiet_drums" "$mixed_wav"
|
||||||
sox -m "${no_drums[@]}" "$quiet_drums" "$mixed_wav"
|
sox -m "${nodrums[@]}" "$quiet_drums" "$mixed_wav"
|
||||||
rm -r "$quiet_drums"
|
rm "$quiet_drums"
|
||||||
echo opusenc --comp 10 --downmix-stereo \
|
echo opusenc --comp 10 --downmix-stereo \
|
||||||
--title "'${tags[TITLE]}'" --artist "'${tags[ARTIST]}'" \
|
--title "'${tags[TITLE]}'" --artist "'${tags[ARTIST]}'" \
|
||||||
--album "'${tags[ALBUM]}'" --tracknumber "'${tags[TRACKNUMBER]}'" \
|
--album "'${tags[ALBUM]}'" --tracknumber "'${tags[TRACKNUMBER]}'" \
|
||||||
@ -30,6 +30,22 @@ function make_drum() {
|
|||||||
rm "$mixed_wav"
|
rm "$mixed_wav"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function make_drumonly() {
|
||||||
|
mkdir -p "${dest_dir['drums only']}"
|
||||||
|
echo echo dest dir: ${dest_dir['drums only']}
|
||||||
|
echo drum track: "$drum_track"
|
||||||
|
# final_opus="$(sed 's/\.wav$/.opus/' <<< "$drum_track")"
|
||||||
|
final_opus="${dest_dir['drums only']}/$(sed 's/\.flac$/.opus/' <<< "$file_name")"
|
||||||
|
echo opusenc --comp 10 --downmix-stereo \
|
||||||
|
--title "'${tags[TITLE]}'" --artist "'${tags[ARTIST]}'" \
|
||||||
|
--album "'${tags[ALBUM]}'" --tracknumber "'${tags[TRACKNUMBER]}'" \
|
||||||
|
--date "'${tags[DATE]}'" "'$drum_track'" "'$final_opus'"
|
||||||
|
opusenc --comp 10 --downmix-stereo \
|
||||||
|
--title "${tags[TITLE]}" --artist "${tags[ARTIST]}" \
|
||||||
|
--album "${tags[ALBUM]}" --tracknumber "${tags[TRACKNUMBER]}" \
|
||||||
|
--date "${tags[DATE]}" "$drum_track" "$final_opus"
|
||||||
|
}
|
||||||
|
|
||||||
function make_karaoke() {
|
function make_karaoke() {
|
||||||
mkdir -p "${dest_dir[karaoke]}"
|
mkdir -p "${dest_dir[karaoke]}"
|
||||||
quiet_vocals="${actual_work_dir}/quiet vocals.wav"
|
quiet_vocals="${actual_work_dir}/quiet vocals.wav"
|
||||||
@ -38,8 +54,9 @@ function make_karaoke() {
|
|||||||
final_opus="$(sed 's/\.wav$/.opus/' <<< "$mixed_wav")"
|
final_opus="$(sed 's/\.wav$/.opus/' <<< "$mixed_wav")"
|
||||||
echo sox -v "$volume_reduction_factor" "$vocal_track" "$quiet_vocals"
|
echo sox -v "$volume_reduction_factor" "$vocal_track" "$quiet_vocals"
|
||||||
sox -v "$volume_reduction_factor" "$vocal_track" "$quiet_vocals"
|
sox -v "$volume_reduction_factor" "$vocal_track" "$quiet_vocals"
|
||||||
sox -m "${karaoke}" "$quiet_vocals" "$mixed_wav"
|
echo sox -m "${karaoke[@]}" "$quiet_vocals" "$mixed_wav"
|
||||||
rm -r "$quiet_vocals"
|
sox -m "${karaoke[@]}" "$quiet_vocals" "$mixed_wav"
|
||||||
|
rm "$quiet_vocals"
|
||||||
echo opusenc --comp 10 --downmix-stereo \
|
echo opusenc --comp 10 --downmix-stereo \
|
||||||
--title "'${tags[TITLE]}'" --artist "'${tags[ARTIST]}'" \
|
--title "'${tags[TITLE]}'" --artist "'${tags[ARTIST]}'" \
|
||||||
--album "'${tags[ALBUM]}'" --tracknumber "'${tags[TRACKNUMBER]}'" \
|
--album "'${tags[ALBUM]}'" --tracknumber "'${tags[TRACKNUMBER]}'" \
|
||||||
@ -51,17 +68,19 @@ function make_karaoke() {
|
|||||||
rm "$mixed_wav"
|
rm "$mixed_wav"
|
||||||
}
|
}
|
||||||
|
|
||||||
volume_reduction_factor='0.3'
|
volume_reduction_factor='0.2'
|
||||||
src_library="${HOME}/flac"
|
src_library="${HOME}/flac"
|
||||||
work_dir="${HOME}/split"
|
work_dir="${HOME}/split"
|
||||||
actual_work_dir="${work_dir}/htdemucs_ft"
|
actual_work_dir="${work_dir}/htdemucs_ft"
|
||||||
|
|
||||||
type -P 'demucs' || (
|
type -P 'demucs' &>/dev/null || (
|
||||||
printf 'No demucs in path.\nInstall with `pip install demucs` or something.\n\n' >&2
|
printf 'No demucs in path.\nInstall with `pip install demucs` or something.\n\n' >&2
|
||||||
exit 1
|
exit 1
|
||||||
)
|
)
|
||||||
|
|
||||||
find "$src_library" -type f -name '*.flac' | while read -r file; do
|
find "$src_library" -type f -name '*.flac' | while read -r file; do
|
||||||
|
# if find "$work_dir" -type f &>/dev/null; then rm -rf "${work_dir}"/*; fi
|
||||||
|
file='/home/luket/flac/Red Hot Chili Peppers/1991-09-24 Blood Sugar Sex Magik/07 Mellowship Slinky In B Major.flac'
|
||||||
echo $file
|
echo $file
|
||||||
# file is full original path + filename
|
# file is full original path + filename
|
||||||
src_dir="$(dirname "$file")"
|
src_dir="$(dirname "$file")"
|
||||||
@ -70,9 +89,17 @@ find "$src_library" -type f -name '*.flac' | while read -r file; do
|
|||||||
unset dest_dir
|
unset dest_dir
|
||||||
|
|
||||||
declare -A tags
|
declare -A tags
|
||||||
|
echo tag time
|
||||||
while read -r line; do
|
while read -r line; do
|
||||||
|
echo line: $line
|
||||||
tag_type="$(cut -d= -f1 <<< "$line")"
|
tag_type="$(cut -d= -f1 <<< "$line")"
|
||||||
tag_val="$(cut -d= -f2- <<< "$line")"
|
tag_val="$(cut -d= -f2- <<< "$line")"
|
||||||
|
[[ "$tag_type" == 'ReleaseDate' ]] && tag_type='DATE'
|
||||||
|
[[ "$tag_type" == 'Year' ]] && tag_type='YEAR'
|
||||||
|
[[ "$tag_type" == 'Artist' ]] && tag_type='ARTIST'
|
||||||
|
[[ "$tag_type" == 'Title' ]] && tag_type='TITLE'
|
||||||
|
[[ "$tag_type" == 'Tracknumber' ]] && tag_type='TRACKNUMBER'
|
||||||
|
[[ "$tag_type" == 'Album' ]] && tag_type='ALBUM'
|
||||||
tags[$tag_type]="$tag_val"
|
tags[$tag_type]="$tag_val"
|
||||||
done < <(metaflac --list --block-type=VORBIS_COMMENT "$file" | grep 'comment\[' | cut -d: -f2- | sed 's/^ //')
|
done < <(metaflac --list --block-type=VORBIS_COMMENT "$file" | grep 'comment\[' | cut -d: -f2- | sed 's/^ //')
|
||||||
|
|
||||||
@ -80,7 +107,7 @@ find "$src_library" -type f -name '*.flac' | while read -r file; do
|
|||||||
ensure=( TRACKNUMBER TITLE DATE ALBUM ARTIST )
|
ensure=( TRACKNUMBER TITLE DATE ALBUM ARTIST )
|
||||||
for tag_type in "${ensure[@]}"; do
|
for tag_type in "${ensure[@]}"; do
|
||||||
if [[ -z "${tags[$tag_type]}" ]]; then
|
if [[ -z "${tags[$tag_type]}" ]]; then
|
||||||
$tags[$tag_type]="missing $tag_type"
|
tags[$tag_type]="missing $tag_type"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -99,15 +126,12 @@ find "$src_library" -type f -name '*.flac' | while read -r file; do
|
|||||||
for file in "${files[@]}"; do
|
for file in "${files[@]}"; do
|
||||||
echo file: "$file"
|
echo file: "$file"
|
||||||
if ! grep -Eq 'drums\.wav$' <<< "$file"; then
|
if ! grep -Eq 'drums\.wav$' <<< "$file"; then
|
||||||
echo no drums.wav
|
|
||||||
nodrums+=("$file")
|
nodrums+=("$file")
|
||||||
else
|
else
|
||||||
echo yes drums.wav
|
|
||||||
drum_track="$file"
|
drum_track="$file"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! grep -Eq 'vocals\.wav$' <<< "$file"; then
|
if ! grep -Eq 'vocals\.wav$' <<< "$file"; then
|
||||||
echo no vocal
|
|
||||||
karaoke+=("$file")
|
karaoke+=("$file")
|
||||||
else
|
else
|
||||||
vocal_track="$file"
|
vocal_track="$file"
|
||||||
@ -121,6 +145,7 @@ find "$src_library" -type f -name '*.flac' | while read -r file; do
|
|||||||
printf 'No drum track. Will not create a drum practice file.\n'
|
printf 'No drum track. Will not create a drum practice file.\n'
|
||||||
else
|
else
|
||||||
make_drum
|
make_drum
|
||||||
|
make_drumonly
|
||||||
fi
|
fi
|
||||||
for i in "${karaoke[@]}"; do
|
for i in "${karaoke[@]}"; do
|
||||||
printf 'Karaoke practice: %s\n' "$i"
|
printf 'Karaoke practice: %s\n' "$i"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user