1
0
Fork 0
mirror of https://github.com/notwa/rc synced 2024-04-27 09:53:24 -07:00
rc/home/streamcrap

115 lines
4.4 KiB
Bash

#!/bin/zsh
# awful things
MPV_STREAM_FLAGS="--quiet --autofit=1280x720 --loop-playlist=no --no-resume-playback --no-sub \
--no-initial-audio-sync --mc=0.02 --autosync=30"
#--cache-secs=10 --cache-initial=1024 --cache-pause --cache-backbuffer=0 --cache-seek-min=2048"
_M_PRE_EMPH='equalizer=f=50:g=-10:width_type=o:w=4,equalizer=f=5000:g=+5:width_type=o:w=4'
_M_POST_EMPH='equalizer=f=50:g=+10:width_type=o:w=4,equalizer=f=5000:g=-5:width_type=o:w=4'
_M_COMPRESS="acompressor=threshold=0.0032:ratio=1.414:attack=17:release=640:makeup=5.5:knee=8:mix=0.8"
_M_KILL="$_M_PRE_EMPH,$_M_COMPRESS,$_M_POST_EMPH"
_M_MULTI="volume=10,mcompand=0.256\,2.56 9 -90/-90\,-44/-44\,0/-26.4\,20/0 80 0 -44 0 | 0.128\,1.28 9 -90/-90\,-36/-36\,0/-18\,20/0 160 0 -36 0 | 0.064\,0.64 9 -90/-90\,-37/-37\,0/-18.5\,20/0 320 0 -37 0 | 0.032\,0.32 9 -90/-90\,-38/-38\,0/-19\,20/0 640 0 -38 0 | 0.016\,0.16 9 -90/-90\,-40/-40\,0/-20\,20/0 1280 0 -40 0 | 0.008\,0.08 9 -90/-90\,-41/-41\,0/-20.5\,20/0 2560 0 -41 0 | 0.004\,0.04 9 -90/-90\,-44/-44\,0/-22\,20/0 5120 0 -44 0 | 0.002\,0.02 9 -90/-90\,-52/-52\,0/-26\,20/0 10240 0 -52 0 | 0.001\,0.01 9 -90/-90\,-60/-60\,0/-36\,20/0 20480 0 -60 0"
_M_MULTI2="volume=10,mcompand=0.256\,5.12 9 -90/-90\,-46/-46\,0/-18.9\,20/0 62.9 0 -46 0 | 0.128\,2.56 9 -90/-90\,-34/-34\,0/-9.7\,20/0 141.1 0 -34 0 | 0.064\,1.28 9 -90/-90\,-37/-37\,0/-10.6\,20/0 316.8 0 -37 0 | 0.032\,0.64 9 -90/-90\,-39/-39\,0/-11.1\,20/0 711.2 0 -39 0 | 0.016\,0.32 9 -90/-90\,-41/-41\,0/-11.7\,20/0 1596 0 -41 0 | 0.008\,0.16 9 -90/-90\,-46/-46\,0/-13.1\,20/0 3584 0 -46 0 | 0.004\,0.08 9 -90/-90\,-49/-49\,0/-14\,20/0 8046 0 -49 0 | 0.002\,0.04 9 -90/-90\,-58/-58\,0/-23.9\,20/0 18062 0 -58 0"
_M_INSANE="$_M_PRE_EMPH,acompressor=threshold=0.001:ratio=2:attack=1000:release=9000:makeup=3:knee=6:mix=0.5,acompressor=threshold=0.002:ratio=2:attack=320:release=2880:makeup=3:knee=6:mix=0.5,acompressor=threshold=0.004:ratio=2:attack=100:release=900:makeup=3:knee=6:mix=0.5,acompressor=threshold=0.008:ratio=2:attack=32:release=288:makeup=3:knee=6:mix=0.5,acompressor=threshold=0.016:ratio=2:attack=10:release=90:makeup=3:knee=6:mix=0.5,$_M_POST_EMPH,alimiter"
_M_NEO="equalizer=700:o:1.3:-5,equalizer=1200:o:1.3:-3,equalizer=1090:o:0.5:-5,equalizer=970:o:1.2:-10,equalizer=4100:o:0.3:-6"
getladspa() {
REPLY=volume
if [ -e "/usr/lib/ladspa/${1}.so" ]; then
REPLY="ladspa=f=${1}:p=${1}"
fi
}
getladspa crap_level
_M_LEVEL="$REPLY"
_nn="$(uname -n | tr A-Z a-z)"
earphones() {
_M_PROCESS="lowpass=8000:p=1,$_M_KILL,alimiter=level_out=0.707"
}
if [[ "$_nn" == spectre ]]; then
_M_PROCESS="$_M_KILL,alimiter=level_out=0.7071"
fi
if [[ "$_nn" == neobanshee ]]; then
speakers() {
_M_PROCESS="highpass=311,$_M_KILL,$_M_NEO,alimiter=level_in=2"
}
speakers
fi
if [[ "$_nn" == banshee ]]; then
getladspa crap_eq_const_T420
_M_SPEAKERS="$REPLY"
speakers() {
_M_PROCESS="$_M_LEVEL,$_M_SPEAKERS,alimiter=level_in=0.5"
}
speakers
fi
mpv_watch() {
pushd ~/play >/dev/null
local url="$1"; shift
mpv \
--force-window=yes \
--af=lavfi="[$_M_PROCESS]" \
--ytdl-format '[width<=1280],best' \
"$@" "$url"
popd >/dev/null
}
mpv_stream() {
pushd ~/play >/dev/null
local url="$1"; shift
if [ -n "$ZSH_VERSION" ]; then
# zsh syntax
mpv $=MPV_STREAM_FLAGS --af=lavfi="[$_M_PROCESS]" "$@" "$url"
else
mpv $MPV_STREAM_FLAGS --af=lavfi="[$_M_PROCESS]" "$@" "$url"
fi
popd >/dev/null
}
twitch() {
local user="$1"; shift
mpv_stream "http://twitch.tv/$user" "$@"
}
yt() {
local vid="$1"; shift
if [[ ! -e "$vid" && "$(expr substr "$vid" 1 4)" != "http" ]]; then
vid="ytdl://$vid"
fi
mpv_watch "$vid" "$@"
}
ytg() {
local vid="$1"; shift
if [[ ! -e "$vid" && "$(expr substr "$vid" 1 4)" != "http" ]]; then
vid="ytdl://$vid"
fi
mpv_stream "$vid" --ytdl-format=22/95/300/best "$@"
}
ytll() {
youtube-dl -q -f best "$1" -o - | mpv_stream - --no-ytdl
}
ytgll() {
youtube-dl -q -f 22/95/300/best "$1" -o - | mpv_stream - --no-ytdl
}
ai() {
# hai domo
yt "$@" --slang=en --sub-font='Tekton Pro' --sub-bold=yes \
--sub-font-size=60 --sub-border-color='#DD6180' --sub-margin-y=52
}
asmr() {
_M_PROCESS="acompressor=threshold=0.001:ratio=1.414:attack=300:release=3000:makeup=9:knee=8:mix=0.88,alimiter=level_in=1.414:level_out=0.707" \
yt "$@" --volume=90 --ytdl-format=251/best
}
unset _nn