Question: java Lab 10: Arnold Schoenberg and Twelve-Tone Music Background In the early 20th century, Anstrian composer Arnold Sichocnberg devised a new way to write masir

java  java Lab 10: Arnold Schoenberg and Twelve-Tone Music Background In the
early 20th century, Anstrian composer Arnold Sichocnberg devised a new way to
write masir and virtually guarantee that it is fully atonal (having no
central/home key). In one octave, there are a total of twelve pitches.

Lab 10: Arnold Schoenberg and Twelve-Tone Music Background In the early 20th century, Anstrian composer Arnold Sichocnberg devised a new way to write masir and virtually guarantee that it is fully atonal (having no central/home key). In one octave, there are a total of twelve pitches. Schoenherg's twelve-tone method involves constrneting a melody one note at a time. Onee one note is played, it cannot be played again until all twelve pitches have been played. A wet of twelve pitches where each piteh only occurs once is called a tone roum In this lith, you will be writing the Row class, which represents a tine row in the form of an array list of Note objects. Notes are represented by intepges 0 through 11. As thown in the tahle on the right. T'wo exauples have heen provided for yon as terit. methods in the (incomplete) Ros claw, representing the tone row for Schoenberg's Piano Conerto, op. 19: {3,10,2,5,4,0,6,8,1,9,11,7} as well as Alban therg's Chamber Concerto: {5,6,8,1,9,2,3,0,11,10,4,7}. Onen the row was determinivi, the compeser would then eladwrate upon it by transeribing it and using its retrugrade, inversien, and retrograb-invinsion (there will bo desribed later). Figare 1. The opening of Scherenberg's Pianan Ciotrerto, contrining the tome row. Figure 2. The main toase rus used in thogg Chein tution, Sic Ei, 11 is Be and bi is 150 ) You will be provided with two complete classes. The StdAudio chass I is used to play back the pitches of a tone row, and you do not need to understand how it works (nor do you need to call it directly, as that is done in the Note class, which is also provided in full). All you need to do is to copy and paste the method into a new class (make sure youl name it StdAudio). Note Class The Note class represents a single musical note. It is provided in full, but yout will need to use it when writing the Row clnss. 1. Instance variables - private int pitch: Represents the pitch of a musical note (according to the table shorrn above). - private double dur. Indicates the duration (in seconds) of the musical note. If not specifind in the constructor, the default duration is 0.5 seconds. - private static double[] freqs: A static variable representing the frequencies of pitches (in Hertz) of a ciromatic scale in the 4th octave. You do not need to nse of reference this. 2. Constructors - public Note(int pitch, double dur): Constructs a Note object with specified pitelh (0 through 11) and specified duration (in seconds). - public Note (int pitch): Constructs a Note object with specified pitch (0 through 11) and defiult duration of 0.5 seconds. 3. Methods - public int getPitch (): Returns the pitch of a Note object (0 through 11). - public double getFreq(): Returns tha frequency of a Note objoct (in Hertz). - public void playNote O: Plays the Note objeet through the couiputer's sond outpat. Rou Class The Rov cluss represents a set of musiral notes and coutains methods relevant to creatiug and manipnlating tone rows. You are providhd with three teent methods (chrone (), schoenberg O, and berg (), as described previously), but you will need write the rest of the class, Make sure you import the ArrayList chies, For the exauples shown, let schoenbergPC and bergCC be Row oljints repreenting the toeie rows in Schoenberg's piano conceto and Berg's dhamber concerto, respectively, and let test tow be a Row object cousisting of the pitelues {5,6,7,8,9} (charly not a fill twelve-tone ron, that a perwible Aow object, nonethelins): 1. Instumee variables - private Arraylist SNote> toneRon: Contains the mu arriy list of Note objects, represrating in peraible towe row 2. Constractors - public Rov(Arraytistellote> notes): Constructs un instince of a flow objert, promilded an array list of notes. Asrume a pexondition that all pitehirs in notes are becwrem 0 and 11. inclisive 3. Methods - public void playRow( ): Plays each pitch contained in the row one at a time. You should call the playNote() method in the Note class. - public boolean isTuelveTone () : Determines if a set of pitches is a complete twelve-tone row. To be a complete twelve-tone row, it i/yust contain all twelve pitches, each appearing exactly one time. Returns true or false accotdingly. - public static Row random (): A static method (not invoked from an object) that generates and returns a randomly-ordered twelve-tone row (containing all twelve pitches, each oceurring exactly once). - public Arraylist getPitches () : Returns an array list of integers for a Rou object. For example, if invoked on a Row object representing Schoenberg's piano concerto, it should return the following array list: {3,10,2,5,4,0,6,8,1,9,11,7} - public Row transpose(int steps): Returns the tone row object from which it. is invoked, but transposed up (steps >0 ) or down (steps

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!