UMass Lowell Dept. of Computer Science

COMP 2120 / MUED 2120 — Sound Thinking

Spring 2016 Semester, Section 201

Prof. Jesse M. Heines and Prof. Gena Greher

Assignment No. 6

Transposing Using Scratch Lists

Date Due:  Thursday, March 31, 2016


Contents


What This Assignment Is About

This assignment further extends your work with Scratch and the use of MIDI, but also introduces a new concept: lists.  Once again you will create a MIDI composition, satisfying the conditions discussed in the write-up below.  These conditions are very specific, so please be sure to read them carefully.

A critical part of this assignment is that your composition must be able to be transposed into any key, which means that the user has to be able to change the starting note at will. 

Another critical part is that your list entries must be encoded as offsets.  Both of these concepts will be reviewed in class.


A Reminder About Timing

As before, we do not expect you to get the timing perfect in this assignment.  However, as discussed in class, you can improve the timing considerably if you remember to set Turbo mode as discussed in class and shown again below.

In Scratch 1.4, the Turbo Speed option is a suboption under Edit->Set Single Stepping...

     

In Scratch 2.0, the Turbo Mode option is at the top level of the Edit menu

Set Single Stepping     Set Turbo Speed


Partner Assignments     Top

Please see the Class Roster for your partner’s email address.

Team
No.
Partner 1 Partner 2


What You Are To Do     Top

  1. Remember that all aspects of this project except responding to the reflective questions are to be done with your partner.
     
  2. Encode a song into a list (or set of lists) as we will have done in class.  This may be an original composition or a song you like, but it should be encoded using “offsets” (which we also called “deltas” or “intervals”) rather than absolute notes.  These offsets can be from the starting note or from the previous note in the composition.
     
  3. Write the Scratch code to read your list(s) and play the song they encode.  Do this in such a way that allows you to transpose the song into any key simply by changing the starting note.
     
  4. Devise a way for the user to transpose your composition by changing the starting note without having to explicitly change it in the code.
     
  5. Make sure that your composition has a title and displays your name.
     
  6. As you work, write notes on what you did so that someone else (or even yourself a few months from now) can reproduce what you did.  Take notes on things that you did and then undid, too, so that you do not forget the things you tried that you don’t feel worked out well. 
     
  7. If you’re working in Scratch 2.0, give your composition a title and save it to the Scratch website by opening the File menu and selecting Save now option.  Then open the File menu again and select the Go to My Stuff option.  Next, click the Share button to make your project visible to others.

             


     

  8. Click the project title to go back to your project.

  9. Note the URL of the page you end up on.  This is the URL that you must submit with your responses to the reflective questions so that we can get to your project to grade it.  We strongly suggest that you copy-and-paste the URL rather than typing it to avoid making errors.  Also, please make sure that you have shared your project as directed in Step 7 above, or we will not be able to view it even with the URL.
     
  10. If you’re working in Scratch 1.4, upload your program to the Assignment No. 6 File Submissions folder in the umlsoundthinking2016 account.
     
  11. Answer the reflective questions in the Google Form at:

    https://docs.google.com/forms/d/19YMTBIVWZUPEPV-efE7_Lfn_LFiUMhPrUrhcZsPMp5w/viewform

    To improve your grade, look over our comments on your responses to the reflective questions for our previous assignments.  This is the only individual part of the assignment.  Everything else is to be done with your partner(s).


Submitting Your Assignment for Grading     Top

For this assignment you and your partner are to submit one Scratch program. 

EACH of you is then to complete the Google Form at the URL shown in step 10 above.


How You Will Be Graded     Top

The two parts of this assignment will be evaluated on the following criteria.



This is document http://jesseheines.com:8080/~heines/91.212/91.212-2015-16s/212-assn/TransposingUsingLists-06.jsp.  It was last modified on Friday, August 26, 2022 at 4:09 PM.
Copyright © 2022 by Jesse M. Heines.  All rights reserved.  May be freely copied or excerpted for educational purposes with credit to the author.