Music 147 assignment for Tuesday June 10, 2014

“Final Exam”: Presentation of completed programs

The final meeting of this class will take place in the scheduled final exam time:
Tuesday June 10, 10:30-12:30 in CAC 3006
(N.B. Starting time is 10:30, not 11:00.]

1) Plan a 10-minute presentation of your program (one presentation per project). Think of it as a) a concise report on what your program is intended to do, b) a brief demonstration of its use, c) a mention of key features of interest and/or particular challenges for which you had to devise a solution. Because of the limited time of the entire session and the number of programs to be demonstrated, your presentation will have to be finely tuned to that amount of time. (Ten minutes is not much.) You should rehearse your presentation to check that it’s feasible within the allotted time. If it’s a group project, it might not be practical for all members of the group to speak in the presentation, but at least two members of the group should share the speaking duties.

2) Deposit your complete project in the EEE DropBox called “CompleteProject” by the end of the day, Tuesday June 10, 11:59pm. Your project should be accompanied by whatever documentation is necessary for every detail of your program to be understood. That might include a User’s Manual, a “Read Me” file, and/or a prose description (and/or flow chart) describing how the program works. It should certainly include extensive commenting of the code itself. Assume that the reader of your code needs to have just about everything explained or clarified in plain English. (You’ll be glad you did that when you look at your code six months later!)

Music 147 assignment for Thursday June 5, 2014

Solve the following problem in the form of a computer program in Max, Java or C.

Given a sensor input that goes linearly from 0.0 to 1.0, what is the expression that will convert that into a linear change from -100 dB to 0 dB (i.e. an exponential change from 0.00001 to 1.0)?

And three “extra credit questions”:

1) An exponential curve will only truly reach 0 when the dB reaches -infinity. What should we do about that?
2) Is -100 dB the best value to use as the minimum nonzero amplitude? Why or why not? If not, what might be better? Explain.
3) Ideally, we should interpolate to each new amplitude value to avoid clicks. How should that be implemented?

The patch provided here gives the pertinent formula, and creates a template for making and testing your solution in Max.

Deposit your solution in the EEE DropBox called, “DecibelControl”.


In class we will work together to solve any problems we’re encountering with our programming projects. Come to class ready to work on your own project—either by bringing your own computer or by bringing the files you need to work on your project on one of the lab computers—as well as to help others with their project. If you are struggling with any aspect of your program, be prepared to explain it succinctly to others so that they can suggest improvements. If you’re not struggling with any aspect of your program, that’s great, and you should therefore make yourself available to help others. (And if nobody needs help, then you’ll have plenty of time to continue working on your own project.)

Music 147 assignment for Tuesday June 3, 2014

The topic in class will be inter-application communication—be it within one computer, via network, or wirelessly. You should inform yourself about the principles involved and some of the methods that have been established for accomplishing such communication, and be prepare to explain and discuss those topics in class.

Learn about ReWire by reading its general description and some technical details.

Learn about Jack and the Jack API.

Learn about JackTrip, by reading about how it works and what the JackTrip library contains.

Learn about the Open Sound Control (OSC) protocol, and the TouchOSC application for wireless handheld devices.

 

Music 147 assignment for Thursday May 29, 2014

Read the first part of the chapter on “Filters” in Miller Puckette’s The Theory and Technique of Electronic Music, at least through the section called “Taxonomy of Filters”.

If you haven’t yet done so, study the MSP Tutorial chapters from the previous assignment:

MSP Tutorials 27-31.
27. Delay Lines
28. Delay Lines with Feedback
29. Flanging
30. Chorus
31. Comb Filter

 

Music 147 assignment for Tuesday May 20, 2014

In preparation for a discussion of probabilistic decision making as used in the piece Entropy, read the articles on “Randomness“, “A simple probabilistic decision“, and “Probability Distribution“, and try out the example Max patch that accompanies each article.

In preparation for a discussion of the ‘granulation’ technique used in the piece Insta-pene-playtion, read section 2.1 of the article “Programming New Realtime DSP Possibilities with MSP“.

In preparation for the upcoming discussion of the computerized evaluation of ‘gesture’ in music, read the “Gesture Follower” presentation made by the research team on Realtime Musical Interactions at IRCAM.

 

Music 147 assignment for Thursday May 15, 2014

Complete your initial project proposal and deposit it in the EEE DropBox called “ProjectProposal1” by the end of the day on Wednesday May 14.

In preparation for the upcoming class session on musical timing, read the article “Tempo-relative timing” and try the example Max patch it contains. To understand the Max transport object and its implications for rhythmic timing, study this example of “Tempo-relative timing with the transport object“, read the accompanying explanatory text, and also study the other examples to which links are provided in that text.

Music 147 assignment for Tuesday May 13, 2014

Similar to the exercise for last Tuesday, now do the same for what you intend to do for your own project.

Based on what you’ve learned so far in this course, how would you implement your own Music 147 final project? You may express your response in terms of a design drawing (flow chart, block diagram, etc.), a written description (feature specifications, pseudocode, etc.), and/or actual code examples.

Take the following into account when doing the assignment:
• Imagining a task/project of appropriate scope will be a big part of this assignment.
• Think of this as the genuine first step in your final project, and the more detailed you can make it, the farther along you’ll be toward completing it.
• Give careful thought to what kind of a project you want to do and will be excited to do, as well as what you would like to learn from doing the project and what scope of project will be feasible for you.
• What will you need to learn in order to accomplish your project that you don’t currently know how to do?
• What methods or specific resources to you intend to use to research those things?
• If you will be collaborating with someone else in the class, include a description (in as much detail as you’re able) of how the labor and responsibilities will be shared/divided.
• If possible, provide a timeline of how your work will proceed in the coming four weeks.

Music 147 assignment for Tuesday May 6, 2014

In preparation for the upcoming presentation by Professor Kojiro Umezaki, listen to the original recording of the composition In C (1964) by Terry Riley (you’ll need a password, which is being provided to you separately), read the full CD liner notes (a link to which is provided on that same web page), and look at the score. Then watch the “proof-of-concept” performance excerpt video of Umezaki’s Mobile In C.

Based on what you’ve learned so far in this course, how would you implement Terry Riley’s In C for a performance with computers only? You may express your response in terms of a design drawing (flow chart, block diagram, etc.), a written description (feature specifications, pseudocode, etc.), and/or actual code examples. Place your work in the EEE DropBox called “InCideas”.