00001 #include "MusimatChapter9.h" 00002 MusimatChapter9Section(C091201d) { 00003 Print("*** Transpose ***"); 00004 /***************************************************************************** 00005 00006 Transpose 00007 00008 The dodecaphonic pitch classes are not tied to any octave. In order to realize music 00009 from a tone row, its intervallic content must be translated to actual pitches of the musical scale. 00010 One way to do this is to supply a pitch offset that transposes across pitch space (i.e., without lim- 00011 iting it just to the range of pitch classes). 00012 *****************************************************************************/ 00013 para1(); // Step into this function to continue. 00014 } 00015 00016 Integer transpose(Integer p, Integer off) { 00017 Return(p + off); 00018 } 00019 00020 Static Void para1() { 00021 /***************************************************************************** 00022 The C major diatonic scale in the fourth piano octave can then be given as follows: 00023 *****************************************************************************/ 00024 00025 Print("*** Transposing across pitch space ***"); 00026 PitchList Cmaj(C, D, E, F, G, A, B); // define C major scale 00027 Print(Cmaj); 00028 00029 /***************************************************************************** 00030 This prints {C4, D4, E4, F4, G4, A4, B4}. 00031 *****************************************************************************/ 00032 00033 Cmaj += 4 * 12; 00034 Print("Transposed up 4 octaves:", Cmaj); 00035 00036 } 00037 00039 /* $Revision: 1.3 $ $Date: 2006/09/05 08:02:45 $ $Author: dgl $ $Name: $ $Id: C091201d.cpp,v 1.3 2006/09/05 08:02:45 dgl Exp $ */ 00040 // The Musimat Tutorial � 2006 Gareth Loy 00041 // Derived from Chapter 9 and Appendix B of "Musimathics Vol. 1" � 2006 Gareth Loy 00042 // and published exclusively by The MIT Press. 00043 // This program is released WITHOUT ANY WARRANTY; without even the implied 00044 // warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00045 // For information on usage and redistribution, and for a DISCLAIMER OF ALL 00046 // WARRANTIES, see the file, "LICENSE.txt," in this distribution. 00047 // "Musimathics" is available here: http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=10916 00048 // Gareth Loy's Musimathics website: http://www.musimathics.com/ 00049 // The Musimat website: http://www.musimat.com/ 00050 // This program is released under the terms of the GNU General Public License 00051 // available here: http://www.gnu.org/licenses/gpl.txt 00052