ref: c64ff3177aba5d4d85656c3e5d30b1d51dc30ac0
dir: /bin/tune/
#!/bin/rc
fn usage{
echo usage: $0 '[-p ±NSEMITONE]' '[-t PERCENT]'
exit usage
}
t=()
p=()
while(~ $1 -?){
switch($1){
case -p
p=$2
shift
case -t
t=$2
shift
case *
usage
}
shift
}
if(~ $#p 0 && ~ $#t 0)
usage
c=()
if(! ~ $#p 0){
# handle x and -x; constant is 2^(1/12) but bc can only do integral
# exponents
r=`{echo '1 / (1.0594630943592953098431053149397484958171844482421875 ^ -(0+'^$p^'))' | bc -l}
c=($c audio/stretch -s -r $r)
}
if(! ~ $#t 0){
t=`{echo '1 + (1 - '^$t^' / 100)' | bc -l}
if(! ~ $#c 0)
c=($c '|')
c=($c audio/stretch -r $t)
}
eval $c