User:Amy Suo Wu/assignment

From XPUB & Lens-Based wiki

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

  1. inplace assignment

for ((i=0; i<13; i++)) do echo $pat pat=${pat:2:0}${pat:0:2}

  1. shift the pattern
  2. ${name:offset:length}


done

cat << end

} } end


  1. 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}

  1. shift the pattern
  2. ${name:offset:length}


done

cat << end

} } end