User:Amy Suo Wu/assignment
CLAPPING MUSIC BY STEVE REICH
<source lang="bash">
cat << end
@head {
$tempo 120 $time_sig 4/4
} @body {
@channel 1 { \$patch 17 \$length 25 \$octave 3 \$pan 0
end
for ((i=0; i<13; i++)) do echo c c c r c c r c r c c r echo c c c r c c r c r c c r echo c c c r c c r c r c c r echo c c c r c c r c r c c r done
cat << end
}
@channel 2 { \$patch 17 \$length 25 \$octave 3 \$pan 127
end pat="c c c r c c r c r c c r " pat=$pat$pat$pat$pat
- inplace assignment
for ((i=0; i<13; i++)) do echo $pat pat=${pat:2:0}${pat:0:2}
- shift the pattern
- ${name:offset:length}
done
cat << end
} } end
- bash clap.sh | midge -o clap.mid; timidity clap.mid (straight from bash to timidity without going through all the steps)
OR
pat="xxx_xx_x_xx_"
cat << end
@head {
\$tempo 120 \$time_sig 4/4
} @body {
@channel 1 { \$patch 1 \$length 16 \$octave 4 \$pan 0
end
for ((bar=0; bar<13; bar++)) do for ((repeat=0; repeat<12; repeat++)) do echo $pat | sed 's/x/c /g; s/_/r /g' done done
cat << end
}
@channel 2 { \$patch 1 \$length 16 \$octave 5 \$pan 127
end
for ((bar=0; bar<13; bar++)) do for ((repeat=0; repeat<12; repeat++)) do echo $pat | sed 's/x/c /g; s/_/r /g' done pat=${pat:1}${pat:0:1}
- shift the pattern
- ${name:offset:length}
done
cat << end
} } end