Spring2018.CITA180Homework4 History

Hide minor edits - Show changes to output

Changed line 43 from:
* '''NEW:''' Try the new [[https://www.dropbox.com/s/ktijb6da4coedxi/JEM_4_6.jar?dl=0 | JEM editor]]. It includes an experimental '''Play.sound()''' function, which allows you to combine audio and MIDI instruments within the same score.
to:
* '''NEW:''' Try the new [[https://www.dropbox.com/s/ktijb6da4coedxi/JEM_4_6.jar?dl=1 | JEM editor]]. It includes an experimental '''Play.sound()''' function, which allows you to combine audio and MIDI instruments within the same score.
Changed lines 43-44 from:
* '''NEW:''' Try the new [[https://www.dropbox.com/s/ktijb6da4coedxi/JEM_4_6.jar?dl=0 | JEM editor]]. It includes an experimental '''Play.sound()''' function, which allows you to combine audio and MIDI instruments within the same score.
to:
* '''NEW:''' Try the new [[https://www.dropbox.com/s/ktijb6da4coedxi/JEM_4_6.jar?dl=0 | JEM editor]]. It includes an experimental '''Play.sound()''' function, which allows you to combine audio and MIDI instruments within the same score.
** For example, try @@Play.sound( score, [a1, PIANO] )@@
.
Added lines 42-43:

* '''NEW:''' Try the new [[https://www.dropbox.com/s/ktijb6da4coedxi/JEM_4_6.jar?dl=0 | JEM editor]]. It includes an experimental '''Play.sound()''' function, which allows you to combine audio and MIDI instruments within the same score.
Changed lines 9-10 from:
In homework 3., you were asked to write a Jython program that generates an interesting piece of music using pre-recorded sound material.
to:
In homework 3, you were asked to write a Jython program that generates an interesting piece of music using pre-recorded sound material.
Changed line 29 from:
Create a sketch of your score on paper (use MS Word, Google docs,or by hand). It should explain [1]:
to:
Create a sketch of your score on paper (use MS Word, Google docs, or by hand). It should explain [1]:
Added lines 25-26:
Use at least 3 different [[https://jythonmusic.me/api/music-library-functions/mod-functions/ | Mod functions]] to construct your [[https://jythonmusic.me/api/music-library-functions/score/ | Score]].
Deleted lines 27-28:

You should use at least 3 different [[https://jythonmusic.me/api/music-library-functions/mod-functions/ | Mod functions]] to construct your [[https://jythonmusic.me/api/music-library-functions/score/ | Score]].
Added lines 26-27:

You should use at least 3 different [[https://jythonmusic.me/api/music-library-functions/mod-functions/ | Mod functions]] to construct your [[https://jythonmusic.me/api/music-library-functions/score/ | Score]].
Added lines 1-108:
'''Assigned Date''': Friday, Feb. 16, 2018\\
'''Due Date''': Friday, Feb. 23\\
'''Due Time''': 30 mins before class

Last modified on {$LastModified} (see [[http://www.cs.cofc.edu/~manaris/index.php/Spring2018.CITA180Homework4?action=diff&source=n&minor=n | updates]])

!!Assignment

In homework 3., you were asked to write a Jython program that generates an interesting piece of music using pre-recorded sound material.

Here, we revisit this with the following added implications:

* create a '''high-level structure''' (e.g., ABA, AABA, AABACA, etc.),
* think carefully about your '''interest curve''' (i.e., how you keep your audience engaged throughout the piece),
* also remember that - sometimes - subtracting something may be as powerful as adding something new.

!!!To Do

Use about 3 to 7 different [[https://jythonmusic.me/api/audiosample/ | AudioSamples]] (more or less is OK - with approval).

* Each audio sample should be relatively small (e.g., less than 12 secs).
* You may use loops (see example below) to create longer ambient or drone backgrounds.
* For polyphony, it is OK to load multiple copies of the same audio file - these do NOT count as separate files.

The piece should last about about 1 to 3 minutes approximately.

Create a sketch of your score on paper (use MS Word, Google docs,or by hand). It should explain [1]:

* the ''concept'' of the piece (i.e., what is this piece about, what you are trying to communicate).
* the ''high-level structure'' of the piece (e.g., ABA, AABA, ABCA, AABACA, etc.),
* the ''sonic entities'' used and their ''symbolism''
** mention something about each sound - what it is, how it was captured, why you included it, etc.
** if you use other people's material, provide references (i.e., names and URLs)
* the ''macrocomposition'' or how sonic entities line up (and why)
* (for bonus points), the ''microcomposition'' or low-level interactions of the sonic elements (i.e., creating or assembling complex timbres from the sonic material).

'''Notes:'''

* Make sure your computer's CPU and memory can handle all your audio files, before working on your score.

!!Submissions

Do '''all four''':

# Hand in a sketch of your score on paper.
# Hand in a printout of your Python program in class on the due date. '''Attach''' the sketch of your score.
# Upload your program file '''and audio files''' on [[https://lms.cofc.edu/ | OAKS]].
# Be ready to perform it in class.

Your program should have a meaningful name, e.g., '''birdsAndSeaguls.py''' or '''desertMoon.py''', or '''nightAlone.py''', etc.

!!Program Documentation

Follow the documentation instructions from [[http://www.cs.cofc.edu/~manaris/?n=Spring2018.CITA180Homework1?action=print | Homework 1]].

In addition, your header documentation copy and paste the same information as in your score (see above):

* the ''concept'' of the piece (i.e., what is this piece about, what is it trying to communicate / achieve, etc.).
* the ''high-level structure'' of the piece (e.g., ABA, AABA, ABCA, AABACA, etc.),
* the ''sonic entities'' used and their ''symbolism''
** mention something about each recording - what it is, how it was recorded, why you included it, etc.
** if you use other people's material, provide references (i.e., names and URLs)
* the ''macrocomposition'' or how sonic entities line up (and why)
* (for bonus points), the ''microcomposition'' or low-level interactions of the sonic elements (i.e., creating or assembling complex timbres from the sonic material).

!!Grading

Your grade will be based on how well you followed the above instructions, and the depth/quality of your work.

!!Example

The following code demonstrates how to create a loop. This may be used for ambient or drone backdrops of sound to build on.

(:source lang=Python tabwidth=3 -trim :)
from music import *

loopTimes = 4

# load audio instruments
a1 = AudioSample("moondog.Bird_sLament.wav")

# create musical data structure
score = Score()

part1 = Part(0, 0)

phrase1 = Phrase()

# create musical data
pitches = [A4] * loopTimes
durations = [4.12152] * loopTimes # duration is in seconds (assuming 60bpm)
volumes = [120] * loopTimes
pannings = [0.5] * loopTimes
lengths = durations # force playing length to be same as noted duration!

phrase1.addNoteList(pitches, durations, volumes, pannings, lengths)

part1.addPhrase(phrase1)

score.addPart(part1)

# play it!
Play.audio( score, [a1] )
(:sourcend:)

!!Reference

[1] Xenakis, I. (1971). ''Formalized Music: Thought and Mathematics in Composition''. Indiana University Press, p. 22.