Compare commits
3 Commits
262e95e42e
...
436d8d6fa3
Author | SHA1 | Date | |
---|---|---|---|
436d8d6fa3 | |||
743a51a846 | |||
7cd05447e0 |
@ -21,3 +21,5 @@ fi
|
||||
cat append.txt | wget-titles-from-urls >> titles.txt
|
||||
cat append.txt | youtube-audio
|
||||
> append.txt
|
||||
|
||||
standardize-music
|
||||
|
@ -1,46 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Requires ffmpeg (audio splitting) and my `tag` wrapper script.
|
||||
|
||||
[ ! -f "$2" ] && printf "The first file should be the audio, the second should be the timecodes.\\n" && exit
|
||||
|
||||
echo "Enter the album/book title:"; read -r booktitle
|
||||
|
||||
echo "Enter the artist/author:"; read -r author
|
||||
|
||||
echo "Enter the publication year:"; read -r year
|
||||
|
||||
inputaudio="$1"
|
||||
|
||||
# Get a safe file name from the book.
|
||||
#escbook="$(echo "$booktitle" | iconv -cf UTF-8 -t ASCII//TRANSLIT | tr -d '[:punct:]' | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed "s/-\+/-/g;s/\(^-\|-\$\)//g")"
|
||||
escbook="$(echo "$booktitle" | tr -d '[:punct:]' | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed "s/-\+/-/g;s/\(^-\|-\$\)//g")"
|
||||
|
||||
! mkdir -p "$escbook" && echo "Do you have write access in this directory?" && exit 1
|
||||
|
||||
# As long as the extension is in the tag script, it'll work.
|
||||
ext="opus"
|
||||
#ext="${1#*.}"
|
||||
|
||||
# Get the total number of tracks from the number of lines.
|
||||
total="$(wc -l < "$2")"
|
||||
|
||||
while read -r x;
|
||||
do
|
||||
end="$(echo "$x" | cut -d' ' -f1)"
|
||||
[ -n "$start" ] &&
|
||||
echo "From $start to $end; $track $title"
|
||||
file="$escbook/$(printf "%.2d" "$track") - $author - $esctitle.$ext"
|
||||
[ -n "$start" ] && echo "Splitting \"$title\"..." && ffmpeg -nostdin -y -loglevel -8 -i "$inputaudio" -ss "$start" -to "$end" -vn "$file" &&
|
||||
echo "Tagging \"$title\"..." && tag -a "$author" -A "$booktitle" -t "$title" -n "$track" -N "$total" -d "$year" "$file"
|
||||
title="$(echo "$x" | cut -d' ' -f 2-)"
|
||||
# esctitle="$(echo "$title" | iconv -cf UTF-8 -t ASCII//TRANSLIT | tr -d '[:punct:]' | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed "s/-\+/-/g;s/\(^-\|-\$\)//g")"
|
||||
esctitle="$(echo "$title" | tr -d '[:punct:]' | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed "s/-\+/-/g;s/\(^-\|-\$\)//g")"
|
||||
track="$((track+1))"
|
||||
start="$end"
|
||||
done < "$2"
|
||||
# The last track must be done outside the loop.
|
||||
echo "From $start to the end: $title"
|
||||
file="$escbook/$track - $author - $esctitle.$ext"
|
||||
echo "Splitting \"$title\"..." && ffmpeg -nostdin -y -loglevel -8 -i "$inputaudio" -ss "$start" -vn "$file" &&
|
||||
echo "Tagging \"$title\"..." && tag -a "$author" -A "$booktitle" -t "$title" -n "$track" -N "$total" -d "$year" "$file"
|
@ -1,32 +0,0 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# rename .MKV -> .MKV
|
||||
count=`ls -1 *.JPG 2>/dev/null | wc -l`
|
||||
if [ $count != 0 ]; then
|
||||
rename MKV mkv *.MKV
|
||||
fi
|
||||
|
||||
# convert to opus
|
||||
count=`ls -1 *.mkv 2>/dev/null | wc -l`
|
||||
if [ $count != 0 ]; then
|
||||
for i in *.mkv; do
|
||||
ffmpeg -i "$i" "${i%.mkv}.opus";
|
||||
rm "$i";
|
||||
done
|
||||
fi
|
||||
|
||||
# rename .WEBM -> .webm
|
||||
count=`ls -1 *.WEBM 2>/dev/null | wc -l`
|
||||
if [ $count != 0 ]; then
|
||||
rename WEBM webm *.WEBM
|
||||
fi
|
||||
|
||||
# convert to opus
|
||||
count=`ls -1 *.webm 2>/dev/null | wc -l`
|
||||
if [ $count != 0 ]; then
|
||||
for i in *.webm; do
|
||||
ffmpeg -i "$i" "${i%.webm}.opus";
|
||||
rm "$i";
|
||||
done
|
||||
fi
|
||||
|
@ -1,5 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
for i in *.mp3; do ffmpeg -i "$i" -c:a libopus "${i%.*}.opus"; done
|
||||
trash *.mp3
|
@ -1,8 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
echo stopping pipewire...
|
||||
systemctl --user stop pipewire
|
||||
echo starting pipewire...
|
||||
systemctl --user start pipewire
|
||||
|
@ -1,12 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
set -euox pipefail
|
||||
|
||||
pkill -f blueman-manager || true
|
||||
|
||||
echo stopping bluetooth...
|
||||
sudo systemctl stop bluetooth-autoconnect
|
||||
sudo systemctl stop bluetooth
|
||||
sudo rmmod btusb
|
||||
sudo modprobe -r btusb
|
||||
|
||||
echo starting bluetooth...
|
||||
sudo modprobe btusb
|
||||
sudo systemctl start bluetooth
|
||||
sudo systemctl start bluetooth-autoconnect
|
||||
sudo rfkill unblock bluetooth
|
||||
|
@ -1,16 +0,0 @@
|
||||
#!/bin/sh
|
||||
echo "Stopping firewall and allowing everyone..."
|
||||
ipt="/usr/bin/iptables"
|
||||
## Failsafe - die if /sbin/iptables not found
|
||||
[ ! -x "$ipt" ] && { echo "$0: \"${ipt}\" command not found."; exit 1; }
|
||||
$ipt -P INPUT ACCEPT
|
||||
$ipt -P FORWARD ACCEPT
|
||||
$ipt -P OUTPUT ACCEPT
|
||||
$ipt -F
|
||||
$ipt -X
|
||||
$ipt -t nat -F
|
||||
$ipt -t nat -X
|
||||
$ipt -t mangle -F
|
||||
$ipt -t mangle -X
|
||||
$ipt iptables -t raw -F
|
||||
$ipt -t raw -X
|
@ -1,4 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
cat input.txt | awk '{ print length, $0 }' | sort -n | cut -d" " -f2-
|
41
home/default/scripts/standardize-music
Executable file
41
home/default/scripts/standardize-music
Executable file
@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env sh
|
||||
set -oux pipefail
|
||||
|
||||
# removes more modern codecs to just files that can fit on my mp3 player
|
||||
|
||||
count=`ls -1 *.M4A 2>/dev/null | wc -l`
|
||||
if [ $count != 0 ]; then
|
||||
rename M4A m4a *.M4A
|
||||
fi
|
||||
|
||||
count=`ls -1 *.m4a 2>/dev/null | wc -l`
|
||||
if [ $count != 0 ]; then
|
||||
for i in *.m4a; do
|
||||
ffmpeg -i "$i" "${i%.*}.ogg" && rm "$i"
|
||||
done
|
||||
fi
|
||||
|
||||
count=`ls -1 *.WEBM 2>/dev/null | wc -l`
|
||||
if [ $count != 0 ]; then
|
||||
rename WEBM webm *.WEBM
|
||||
fi
|
||||
|
||||
count=`ls -1 *.webm 2>/dev/null | wc -l`
|
||||
if [ $count != 0 ]; then
|
||||
for i in *.webm; do
|
||||
ffmpeg -i "$i" "${i%.*}.ogg" && rm "$i"
|
||||
done
|
||||
fi
|
||||
|
||||
count=`ls -1 *.OPUS 2>/dev/null | wc -l`
|
||||
if [ $count != 0 ]; then
|
||||
rename OPUS opus *.OPUS
|
||||
fi
|
||||
|
||||
count=`ls -1 *.opus 2>/dev/null | wc -l`
|
||||
if [ $count != 0 ]; then
|
||||
for i in *.opus; do
|
||||
ffmpeg -i "$i" "${i%.*}.ogg" && rm "$i"
|
||||
done
|
||||
fi
|
||||
|
@ -1,59 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
err() { echo "Usage:
|
||||
tag [OPTIONS] file
|
||||
Options:
|
||||
-a: artist/author
|
||||
-t: song/chapter title
|
||||
-A: album/book title
|
||||
-n: track/chapter number
|
||||
-N: total number of tracks/chapters
|
||||
-d: year of publication
|
||||
-g: genre
|
||||
-c: comment
|
||||
You will be prompted for title, artist, album and track if not given." && exit 1 ;}
|
||||
|
||||
while getopts "a:t:A:n:N:d:g:c:f:" o; do case "${o}" in
|
||||
a) artist="${OPTARG}" ;;
|
||||
t) title="${OPTARG}" ;;
|
||||
A) album="${OPTARG}" ;;
|
||||
n) track="${OPTARG}" ;;
|
||||
N) total="${OPTARG}" ;;
|
||||
d) date="${OPTARG}" ;;
|
||||
g) genre="${OPTARG}" ;;
|
||||
c) comment="${OPTARG}" ;;
|
||||
f) file="${OPTARG}" ;;
|
||||
*) printf "Invalid option: -%s\\n" "$OPTARG" && err ;;
|
||||
esac done
|
||||
|
||||
shift $((OPTIND - 1))
|
||||
|
||||
file="$1"
|
||||
|
||||
[ ! -f "$file" ] && echo "Provide file to tag." && err
|
||||
|
||||
[ -z "$title" ] && echo "Enter a title." && read -r title
|
||||
[ -z "$artist" ] && echo "Enter an artist." && read -r artist
|
||||
[ -z "$album" ] && echo "Enter an album." && read -r album
|
||||
[ -z "$track" ] && echo "Enter a track number." && read -r track
|
||||
|
||||
case "$file" in
|
||||
*.ogg) echo "Title=$title
|
||||
Artist=$artist
|
||||
Album=$album
|
||||
Track=$track
|
||||
Total=$total
|
||||
Date=$date
|
||||
Genre=$genre
|
||||
Comment=$comment" | vorbiscomment -w "$file" ;;
|
||||
*.opus) echo "Title=$title
|
||||
Artist=$artist
|
||||
Album=$album
|
||||
Track=$track
|
||||
Total=$total
|
||||
Date=$date
|
||||
Genre=$genre
|
||||
Comment=$comment" | opustags -i -S "$file" ;;
|
||||
*.mp3) eyeD3 -Q --remove-all -a "$artist" -A "$album" -t "$title" -n "$track" -N "$total" -Y "$date" "$file" ;;
|
||||
*) echo "File type not implemented yet." ;;
|
||||
esac
|
Loading…
Reference in New Issue
Block a user