PG: I'd very much want to have a map-onto-scale one. (I have an example somewhere.) Kids who care about music will find the switches interesting, and even kids who claim not to be able to hear the differences will.
BH: This is fine as far as it goes, but it calls out for more, starting with a note-name-to-midi-number reporter, and then making a round.
MF: BH has reviewing to do (see TG)
This page has been renumbered; need to check if this throws off the numbering in the solutions or TG. --MF, 4/26/19
Map
Block & Music (has invert and round)In this project, you will use the Snap! play note
block to create music while you review abstract data types and higher-order functions.
play
scripts. Run each script a few times.
play note
block are musical pitches. Higher values create higher notes. You can input any integer from 0 and 127. The number 60 represents middle C.for each
in Unit 2 Lab 2: Checking Each Quiz Answer.keep
in Unit 2 Lab 3.map
in Unit 3 Lab 2.Pitch is the amount of highness or lowness of a musical note; the pitch value goes in the first input slot of the play note
block.
The length of a note is the amount of time that the note plays (the number of beats); the length value goes in the second slot of play note
.
note
ADT to manage the pitch and length of each note in a song.
for each
together with your selectors to build a play song
block, and debug any problems.map + 5
does to the sounds you hear:map
together with your ADT blocks to create a reporter that transposes (shifts) a list of notes. It should take a list of notes and a number indicating how much to transpose (shift) the song as input, and it should report the adjusted song. For example:transpose
block with several different shift numbers so that you can hear the impact of map
.keep < 65
does to the sounds you hear: