User:Amy Suo Wu/assignment: Difference between revisions
Amy Suo Wu (talk | contribs) No edit summary |
Amy Suo Wu (talk | contribs) No edit summary |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
CLAPPING MUSIC BY STEVE REICH | |||
<source lang="bash"> | |||
Line 4: | Line 7: | ||
@head { | @head { | ||
$tempo | $tempo 120 | ||
$time_sig 4/4 | $time_sig 4/4 | ||
Line 11: | Line 14: | ||
@channel 1 { | @channel 1 { | ||
\$patch | \$patch 17 | ||
\$length | \$length 25 | ||
\$octave 3 | \$octave 3 | ||
\$pan | \$pan 0 | ||
end | end | ||
for ((i=0; i< | for ((i=0; i<13; i++)) | ||
do | do | ||
echo c c c c c r r r r r r r r r r r r r r 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 | |||
echo c c c r c c r c r c c r | |||
done | |||
cat << end | cat << end | ||
} | |||
@channel 2 { | @channel 2 { | ||
\$patch 17 | \$patch 17 | ||
\$length | \$length 25 | ||
\$octave | \$octave 3 | ||
\$pan | \$pan 127 | ||
Line 38: | Line 45: | ||
end | 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 | 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 | end |
Latest revision as of 14:53, 29 October 2010
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