(***********************************************************************
Mathematica-Compatible Notebook
This notebook can be used on any computer system with Mathematica 3.0,
MathReader 3.0, or any compatible application. The data for the notebook
starts with the line of stars above.
To get the notebook into a Mathematica-compatible application, do one of
the following:
* Save the data starting with the line of stars above into a file
with a name ending in .nb, then open the file inside the application;
* Copy the data starting with the line of stars above to the
clipboard, then use the Paste menu command inside the application.
Data for notebooks contains only printable 7-bit ASCII and can be
sent directly in email or through ftp in text mode. Newlines can be
CR, LF or CRLF (Unix, Macintosh or MS-DOS style).
NOTE: If you modify the data for this notebook not in a Mathematica-
compatible application, you must delete the line below containing the
word CacheID, otherwise Mathematica-compatible applications may try to
use invalid cache data.
For more information on notebooks and Mathematica-compatible
applications, contact Wolfram Research:
web: http://www.wolfram.com
email: info@wolfram.com
phone: +1-217-398-0700 (U.S.)
Notebook reader applications are available free of charge from
Wolfram Research.
***********************************************************************)
(*CacheID: 232*)
(*NotebookFileLineBreakTest
NotebookFileLineBreakTest*)
(*NotebookOptionsPosition[ 33093, 927]*)
(*NotebookOutlinePosition[ 40160, 1121]*)
(* CellTagsIndexPosition[ 39892, 1108]*)
(*WindowFrame->Normal*)
Notebook[{
Cell[CellGroupData[{
Cell["The Problems of Tuning and Temperament", "Title"],
Cell[TextData[StyleBox[
"\"The judgement of the ear is superior to the cogitations of \
mathematicians\"\n\[Dash] Aristoxenos (c.350BC)",
FontSize->14,
FontSlant->"Italic"]], "Text",
TextAlignment->Right],
Cell[CellGroupData[{
Cell[TextData[StyleBox["Frances Griffin",
FontSize->12]], "Subtitle",
TextAlignment->Right],
Cell[BoxData[
\(<< Tuning`\)], "Input"],
Cell[CellGroupData[{
Cell[TextData[StyleBox["Why is there a problem?", "Subtitle"]], "Section"],
Cell["\<\
The problem of tuning musical instruments has occupied music \
theorists and mathematicians for many centuries. Practical solutions have \
been found by musicians and instrument makers, and these are appropriate to, \
and also influence, the way music has been written and performed. In the \
twentieth century it has become fashionable to play music of earlier times \
(often in preference to recent music), but the manner in which it is played \
as regards historically appropriate instruments, and hence their tuning, has \
only been widely considered in the last thirty years.\
\>", "Text",
TextJustification->0]
}, Closed]],
Cell[CellGroupData[{
Cell["Intervals and ratios", "Section",
CellTags->"ratios"],
Cell[TextData[{
"The relationships between notes played simultaneously is most satisfying \
to the ear when the ratio between the frequencies of the notes is as simple \
as possible. These simple ratios also correspond to the intervals in the \
lower part of the harmonic series. (We hear the notes of the harmonic series \
when ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" 3.0 starts up.) The intervals in the harmonic series are pure intervals."
}], "Text",
CellTags->"ratios"],
Cell[CellGroupData[{
Cell["Ratios of intervals", "Subsubsection",
CellTags->"ratios"],
Cell["Below is a list of ratios of common pure intervals.", "Text",
CellTags->"ratios"],
Cell[BoxData[
\(\(intervals
= {Interval, octave, \ fifth, \ fourth, \ major\ third, \
minor\ third, \ little\ third, \ big\ tone, major\ tone, \
minor\ tone}; \n
ratios = {Ratio, Table[n\/\(n - 1\), {n, 2, 10}]} // Flatten; \n
harmonicNum = {Harmonic\ N\.ba, Table[n, {n, 2, 10}]} // Flatten; \n
\({harmonicNum, intervals, ratios} // Transpose\) // TableForm\n\)\)],
"Input",
CellTags->"ratios"],
Cell[TextData[{
"The \[OpenCurlyDoubleQuote]little third\[CloseCurlyDoubleQuote] and \
\[OpenCurlyDoubleQuote]big tone\[CloseCurlyDoubleQuote] are generally not \
used in western music, and the semitone has a ratio of ",
Cell[BoxData[
\(TraditionalForm\`16\/15\)]],
". There are other intervals which are interesting from a theoretical point \
of view."
}], "Text",
CellTags->"ratios"]
}, Closed]],
Cell[CellGroupData[{
Cell["Comma of Pythagoras", "Subsubsection",
CellTags->{"comma", "ratios"}],
Cell["\<\
Tuning upwards in fifths, we cover all twelve notes in the \
chromatic scale. At the same time we have covered seven octaves. The Comma of \
Pythagoras is the amount by which these twelve fifths exceed seven octaves, \
and whilst this error seems very small it is very audible. Its ratio is \
1.01364. The example below plays A and the note obtained after tuning up \
twelve fifths. Both notes are in the same octave (two versions of A), and \
their frequencies are the first two numbers in the list generated by \
BuildScale.\
\>", "Text",
CellTags->{"comma", "ratios"}],
Cell[CellGroupData[{
Cell[BoxData[
\({\((3\/2)\)\^12 // N, 2\^7}\)], "Input",
CellTags->{"comma", "ratios"}],
Cell[BoxData[
\({129.746337890624996`, 128}\)], "Output",
CellTags->{"comma", "ratios"}]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(Divide@@%\)], "Input",
CellTags->{"comma", "ratios"}],
Cell[BoxData[
\(1.01364326477050781`\)], "Output",
CellTags->{"comma", "ratios"}]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(pitch = 440; \nSetScale[BuildScale[PureFifths[pitch, 12, pitch]]]\)],
"Input",
CellTags->{"comma", "ratios"}],
Cell[BoxData[
\({440.000000000000035`, 446.003036499023419`, 469.863281249999964`,
495.000000000000017`, 528.596191406249982`, 556.874999999999964`,
594.670715332031285`, 626.484374999999982`, 659.999999999999964`,
704.794921875000035`, 742.499999999999982`, 792.894287109375017`,
835.312500000000035`}\)], "Output",
CellTags->{"comma", "ratios"}]
}, Open ]],
Cell[BoxData[
\(Chord[{{1, .5}, {2, .5}}, 2] // Show\)], "Input",
CellTags->{"comma", "ratios"}],
Cell[TextData[{
"Here is the mistuned or ",
ButtonBox["wolf fifth",
ButtonData:>"wolf",
ButtonStyle->"Hyperlink"],
", G\[Sharp]\[Sharp]\[Dash]E."
}], "Text",
CellTags->{"comma", "ratios"}],
Cell[BoxData[
\(Chord[{{2, .5}, {9, .5}}, 2] // Show\)], "Input",
CellTags->{"comma", "ratios"}]
}, Closed]],
Cell[CellGroupData[{
Cell["Comma of Didymus", "Subsubsection",
CellTags->{"ratios", "didymus"}],
Cell["\<\
The Comma of Didymus is the amount by which four fifths exceeds two \
octaves and a third. The latter interval occurs without octave transposition \
in the harmonic series and has a ratio of 5:1. The interval between the \
Commas of Pythagoras and Didymus is called a Schisma, and is almost \
insignificant. The example generates fifths starting from F, so that the \
notes played are the two versions of A. These are the first two entries in \
the list below.\
\>", "Text",
CellTags->{"ratios", "didymus"}],
Cell[CellGroupData[{
Cell[BoxData[
\({\((3\/2)\)\^4 // N, 5}\)], "Input",
CellTags->{"ratios", "didymus"}],
Cell[BoxData[
\({5.0625`, 5}\)], "Output",
CellTags->{"ratios", "didymus"}]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(Divide@@%\)], "Input",
CellTags->{"ratios", "didymus"}],
Cell[BoxData[
\(1.01249999999999995`\)], "Output",
CellTags->{"ratios", "didymus"}]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(SetScale[BuildScale[{PureFifths[ThirdDown[pitch], 4, pitch], pitch}]]
\)], "Input",
CellTags->{"ratios", "didymus"}],
Cell[BoxData[
\({440.000000000000035`, 445.500000000000007`, 527.999999999999936`,
593.99999999999995`, 704.000000000000092`, 791.999999999999992`}\)],
"Output",
CellTags->{"ratios", "didymus"}]
}, Open ]],
Cell[BoxData[
\(Chord[{{1, .5}, {2, .5}}, 2] // Show\)], "Input",
CellTags->{"ratios", "didymus"}]
}, Closed]],
Cell[CellGroupData[{
Cell["Lesser Diesis", "Subsubsection",
CellTags->{"diesis", "ratios"}],
Cell["\<\
If we tune up three major thirds we should arrive at the note an \
octave above the starting note. As we can see below this does not happen. The \
lesser diesis is the amount by which an octave exceeds three fifths. The \
greater diesis is the amount by which four minor thirds exceed an octave. In \
the example the frequencies of the two notes (A's) are the first and 1/2 the \
last numbers in the list generated by SetScale.\
\>", "Text",
CellTags->{"diesis", "ratios"}],
Cell[CellGroupData[{
Cell[BoxData[
\({\((5\/4)\)\^3 // N, 2}\)], "Input",
CellTags->{"diesis", "ratios"}],
Cell[BoxData[
\({1.95313, 2}\)], "Output",
CellTags->{"diesis", "ratios"}]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(Divide@@%\)], "Input",
CellTags->{"diesis", "ratios"}],
Cell[BoxData[
\(0.976563\)], "Output",
CellTags->{"diesis", "ratios"}]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(SetScale[NestList[ThirdUp, pitch, 3]] // N\)], "Input",
CellTags->{"diesis", "ratios"}],
Cell[BoxData[
\({440.000000000000035`, 550.`, 687.5`, 859.375`}\)], "Output",
CellTags->{"diesis", "ratios"}]
}, Open ]],
Cell[BoxData[
\(Chord[{{1, .5}, {4, .25}}, 2] // Show\)], "Input",
CellTags->{"diesis", "ratios"}],
Cell[TextData["Here is the bad third, E\[Sharp]\[Dash]A."], "Text",
CellTags->{"diesis", "ratios"}],
Cell[BoxData[
\(Chord[{{1, .5}, {3, .25}}, 2] // Show\)], "Input",
CellTags->{"diesis", "ratios"}]
}, Closed]]
}, Closed]],
Cell[CellGroupData[{
Cell["The Problem", "Section"],
Cell[TextData[{
"These errors, the commas and the diesis, must be absorbed somewhere in the \
tuning of an instrument with fixed pitch. In vocal or string music, the \
intonation is rather elastic and the performers will adjust appropriately \
according to context. Of course they don't make every interval pure, but will \
favour those with simple ratios, such as the octave, fifth and third, as \
these are the easiest to hear. Unfortunately modern ears are heavily \
prejudiced by equal temperament, and it would be interesting to know what the \
intonation of performers of the 17th or 18th century was really like.\nWhen \
tuning a fixed pitch instrument such as harpsichord, organ, lute, guitar or \
harp, the effect of the way this error is distributed must be considered. A \
tuning scheme should sound good for the intended music, and (for a musician \
tuning his own keyboard) should also be fairly quick and easy to tune. In \
previous centuries musicians tuned their own keyboard instruments, these \
needed to be tuned often, particularly since the instruments which they \
accompanied (especially wind instruments) had no standard pitch and had \
little provision for changing the overall pitch of the instrument. In \
contrast, the situation today is that all instruments (except for historic \
copies used in early music performance) are built to cope with a range of \
pitch between about A=448 to A=445, and have ways of adjusting their overall \
pitch quite significantly. The piano stays in tune for a long time, and needs \
a specialist technician to tune it, so there is no need for an easy or quick \
method of tuning.\nA compromise has to be made when tuning, the comma or the \
diesis must be distributed amongst the fifths which means that some intervals \
may need to be mistuned, or tempered. The earlier tunings tended to have as \
many pure intervals and chords as possible, at the expense of making other \
intervals and chords excruciating. There was always a very bad fifth \[Dash] \
the wolf fifth, which was unusable. Music was written in the \
\[OpenCurlyDoubleQuote]good\[CloseCurlyDoubleQuote] keys, avoiding the \
\[OpenCurlyDoubleQuote]bad\[CloseCurlyDoubleQuote]. Later musicians and \
theorists devised ingenious methods of tempering which allowed all keys to be \
used, although some keys were better than others. These tunings had fairly \
good keys and not so good keys and the wolf had vanished, but the rich \
sounding pure intervals were lost. Music could be written in all keys, but \
composers now used the difference in sound between the keys (key colour) to \
enhance the emotional effect of the music. ",
ButtonBox["Equal temperament",
ButtonData:>{"equal.nb", None},
ButtonStyle->"Hyperlink"],
" was avoided because of the difficulty of tuning it, and more importantly, \
because it has no key colour."
}], "Text",
CellTags->"wolf"]
}, Closed]],
Cell[CellGroupData[{
Cell["Beats", "Section"],
Cell[TextData[{
"The phenomenon of beats occurs as a result of the difference between the \
frequencies of two notes. For example, in the ",
ButtonBox["Just scale",
ButtonData:>{"just.nb", "just"},
ButtonStyle->"Hyperlink"],
", A has a frequency of 440Hz and E has a frequency of 550Hz, a ",
ButtonBox["pure fifth",
ButtonData:>"ratios",
ButtonStyle->"Hyperlink"],
". The difference between these is 110Hz, the pitch of A two octaves lower, \
and we actually hear this note along with the A and E being played. These \
beats are called difference tones. The slow beats heard in the examples above \
are a result of the closeness of the frequencies of the notes. The plot below \
shows the interval of a fifth, the lower note shown in red, the upper in \
blue, and the difference tone in green. The frequency of the note correponds \
to the number of peaks in the graph. Note that the red curve has two peaks, \
the blue has three and the green has one peak \[Dash] the difference. The \
peak in the green curve coincides with the peaks in the other curves, we hear \
the sound strengthen when these peaks coincide creating the beats. This is \
analagous to the way water ripples coming from two sources interfere \
constructively and destructively when the ripples meet."
}], "Text",
CellTags->"beats"],
Cell[BoxData[
RowBox[{
\(pic1 = Plot[Cos\ [2 Pi\ x], {x, .5, 2.5}, PlotStyle \[Rule] {Hue[0]},
DisplayFunction -> Identity]\), ";", "\n",
\(pic2 = Plot[Cos\ [2 Pi \( 3 x\)\/2], {x, .5, 2.5},
PlotStyle \[Rule] {Hue[0.7]}, DisplayFunction -> Identity]\), ";",
"\n", \(pic3 =
Plot[Cos\ [2 Pi x\/2], {x, .5, 2.5}, PlotStyle \[Rule] {Hue[0.37]},
DisplayFunction -> Identity]\), ";", "\n",
RowBox[{"Show", "[",
RowBox[{\({pic1, pic2, pic3}\), ",",
RowBox[{"DisplayFunction", "->",
StyleBox["$DisplayFunction",
"MRf"]}]}], "]"}]}]], "Input"],
Cell[TextData[
"A pure interval has beats which correspond to the frequency of one of the \
notes lower down in the harmonic series, we hear these beats as a pitched \
tone. A tempered interval, on the other hand, gives slow beats as well as the \
usual difference tone (although it is now out of tune). The slow beats occur \
as the difference tone between some of the upper harmonics of the notes in \
the tempered interval. In the example below the interval is a fifth D\[Dash]A \
tempered by 1/4 Pytharogean comma. The beats occur between the third harmonic \
of the D and the second harmonic of the A: when the interval is pure these \
coincide at A and octave higher (compare the sound of the tempered fifth with \
the sound of the pure fifth in the second example below)."], "Text"],
Cell[BoxData[
\({a, bb, b, c, cs, d, eb, e, f, fs, g, gs} = {1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12}; \nSetScale[Aron[]]; \n
Chord[{{d, .25}, {a, .5}}, 2] // Show\)], "Input"],
Cell[BoxData[
\(SetScale[Pythagorean[]]; \nChord[{{d, .25}, {a, .5}}, 2] // Show\)],
"Input"],
Cell["\<\
The ear is least tolerant of tempered intervals when the ratio of \
the corresponding pure interval is simple. We cannot listen to a mistuned \
unison or octave, but a slightly tempered fifth is acceptable, a \
significantly tempered major third is tolerable, and an out of tune minor \
third is generally not too offensive. The reason for this is that as the \
ratio of the corresponding pure interval becomes less simple, the beats occur \
between pairs of higher harmonics. As we go up the harmonics present in a \
sound they become weaker, and so the beats are less noticeable.
Listening to beats is fundamental to practical tuning. When the slow beats \
disappear we know that the interval is in tune. A simple method of tempering \
intervals is to compare two or more and adjust them until the beats are the \
same speed. The results are very slightly different from the theoretical \
ones, but just as successful. Modern piano technicians use exact beat rates \
for tempering the fifths of the equal tempered scale. The disadvantage of \
this is that these rates are valid at one pitch only, and must be \
recalculated to tune at a different pitch. This sophisticated technique was \
not known prior to the mid 19th century, and is not implemented in this \
package.\
\>", "Text"]
}, Closed]],
Cell[CellGroupData[{
Cell[TextData[StyleBox[
"Some approaches and solutions", "Subtitle"]], "Section"],
Cell[TextData[{
"The earliest tuning systems were very simple, requiring no tempering. The \
",
ButtonBox["comma",
ButtonData:>"comma",
ButtonStyle->"Hyperlink"],
" was placed where it was considered least harmful to the music of the \
time. Prior to the 15th century western music came in two varieties \[Dash] \
church music and secular music. The church music was considered the high art \
form, and was generally vocal, so the problems of tuning were left to the \
musings of theorists. Instruments were used in secular music, but the scales, \
or modes, in use contained just eight notes, and so it was possible to tune \
all the intervals pure without encountering the ",
ButtonBox["wolf",
ButtonData:>"wolf",
ButtonStyle->"Hyperlink"],
". \nTwo untempered schemes were common. ",
ButtonBox["Pythagorean tuning",
ButtonData:>{"pythagorean.nb", "pythag"},
ButtonStyle->"Hyperlink"],
" used only pure fifths, and worked well for melodic music, whereas ",
ButtonBox["Just Intonation ",
ButtonData:>{"just.nb", "just"},
ButtonStyle->"Hyperlink"],
"used the intervals in the harmonic series. Just Intonation, known since \
Ptolemy of Alexandria (70\[Dash]147 AD), became more suitable as music became \
more harmonically based, due to its good thirds.\nAs music developed the \
chromatic notes appeared, and instruments such as the early organ began to be \
used in the churches \[Dash] tuning was now an important issue. The first \
mention of the idea of tempering intervals was made by Franchinus Gafurius, \
in 1496, and the first Meantone tunings appeared during the 16th century."
}], "Text"]
}, Closed]],
Cell[CellGroupData[{
Cell["Restricted tunings", "Section",
CellTags->"restricted"],
Cell[TextData[{
"Restricted tunings are those which are not usable in all keys. Pythagorean \
and Just Intonation could be included here. The most important of the \
restricted tunings are the meantone tunings. In these, the ",
ButtonBox["Comma of Didymus",
ButtonData:>"didymus",
ButtonStyle->"Hyperlink"],
" is distributed between some of the fifths. The earliest meantone tuning, \
described by ",
ButtonBox["Lodovico Fogliano",
ButtonData:>{"fogliano.nb", None},
ButtonStyle->"Hyperlink"],
" in 1529, spreads the comma over just two fifths. The good keys are very \
nice, many of the chords are pure, but those involving the tempered fifths \
are noticeable, and of course the ",
ButtonBox["wolf",
ButtonData:>"wolf",
ButtonStyle->"Hyperlink"],
" is viscious. \nAn improvement on this which was clearly in common use, \
was described by ",
ButtonBox["Pietro Aron",
ButtonData:>{"aron.nb", None},
ButtonStyle->"Hyperlink"],
" (1490\[Dash]1545), and G. Zarlino (1571), and mentioned by a number of \
others, including Ramos d Pareia (c.1440\[Dash]1521), and Arnolt Schlick \
(1511). Here the comma was shared by four fifths, the temperament of each is \
less severe than with Fogliano's 1/2 comma tuning, but there were no pure \
fifths. The harmonious effect was retained because of the large number of \
pure thirds, the wolf was not appeased however.\nLater meantone tunings, such \
as ",
ButtonBox["Rossi's",
ButtonData:>{"rossi.nb", None},
ButtonStyle->"Hyperlink"],
" 1/5 comma (1666) and Silbermann's (1683\[Dash]1753) 1/6 comma, sacrificed \
the pure thirds, but neither killed the wolf nor rendered all the keys \
usable. The meantone tunings, particularly 1/2 and 1/4 comma, are rich and \
flattering to harmony and not difficult to tune, it is easy to understand \
their popularity during the 16th, 17th and early 18th centuries. They have \
plenty of key colour, which allowed composers scope to create tension in \
their music by touching on the raw parts of the tunings."
}], "Text",
CellTags->"restricted"]
}, Closed]],
Cell[CellGroupData[{
Cell["Unrestricted tunings", "Section",
CellTags->"unrestricted"],
Cell[TextData[{
"The unrestricted tunings are those in which every key can be used. The \
ultimate unrestricted tuning is",
ButtonBox[" equal temperament",
ButtonData:>{"equal.nb", None},
ButtonStyle->"Hyperlink"],
", which until the twentieth century existed only in the minds of \
theorists. In an era when key colour was more important than the availability \
of all keys it was a poor competitor. In the age of the modern piano, \
however, it has surplanted all other tunings, and much of the significance of \
key choice and modulation has been lost.\nThe earliest and possibly the \
nicest of the so-called well temperaments was due to ",
ButtonBox["Andreas Werckmeiste",
ButtonData:>{"werckmeister.nb", None},
ButtonStyle->"Hyperlink"],
"r, who described it in 1691. It retains plenty of key colour, the thirds \
are not too badly damaged and many of the fifths are pure. It is popular \
today amongst early music performers and organ builders, as is ",
ButtonBox["Kirnberger III",
ButtonData:>{"kirnberger.nb", None},
ButtonStyle->"Hyperlink"],
" (1779) and Vallotti (c.1730). These types of temperaments were certainly \
known and used by the major composers of the 18th century. \nIn these \
temperaments the ",
ButtonBox["comma",
ButtonData:>"comma",
ButtonStyle->"Hyperlink"],
" was usually distributed amongst at least half of the fifths. There were \
often some pure fifths, but good thirds became rare, and as the comma was \
shared by more and more fifths, equal temperament was the next logical step. \
By the late 19th century the old system of diatonic harmony had been \
stretched to breaking point, and so the importance of key colour had waned. \
It was only on the organs in England that the remnants of the old tunings \
survived until well into the twentieth century."
}], "Text",
CellTags->"unrestricted"]
}, Closed]],
Cell[TextData[StyleBox["How to use this package", "Subtitle"]], "Section"],
Cell[CellGroupData[{
Cell["Purpose of this package", "Section"],
Cell[TextData[{
"The package ",
StyleBox["Tuning`",
FontWeight->"Bold"],
" was written to demonstrate the differences between the historic \
temperaments of the scale, and to allow experimentation with new tunings. The \
methods used to generate the tunings are modelled on practical methods which \
are used by performers of early music, even though these are not necessarily \
the most efficient for use in a computer. The use of cents has been avoided \
since it is a concept more recent than any of the tunings (the standard \
package ",
StyleBox["Miscellaneous`Music`",
FontWeight->"Bold"],
" contains ",
StyleBox["HertzToCents",
FontWeight->"Bold"],
" for those who prefer to view the scales this way), as is the counting of \
exact beat rates used by modern piano tuners. The temperaments in this \
package can be achieved using simple methods involving tuning pure intervals, \
and tempering other intervals by using the equal beating technique."
}], "Text"]
}, Closed]],
Cell[CellGroupData[{
Cell["What's in the notebooks", "Section"],
Cell[TextData[{
"The notebooks accompanying the package contain examples in each of the \
temperaments. ",
ButtonBox["bach.nb",
ButtonData:>{"bach.nb", None},
ButtonStyle->"Hyperlink"],
" contains all the chord definitions for a Bach chorale. To generate new \
examples use ",
StyleBox["SetScale",
FontWeight->"Bold"],
" to choose a particular tuning or transposition, then evaluate as much of \
bach.nb as you can be bothered waiting for. You can ",
StyleBox["Show",
FontWeight->"Bold"],
" a number of these in a single command, depending on the system under \
which ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" is running.\nThe notebook ",
ButtonBox["scales.nb",
ButtonData:>{"scales.nb", None},
ButtonStyle->"Hyperlink"],
" allows comparison of the frequencies of each of the tunings, and plays \
the scale using the ",
StyleBox["Scale",
FontWeight->"Bold"],
" function in ",
StyleBox["Miscellaneous`Music`",
FontWeight->"Bold"],
".\nBachInEqual.nb, BachInFog.nb, and BachInWerck.nb play the whole chorale \
in equal temperament, Fogliano 1/2 comma meantone and Werckmeister III well \
temperament respectively.\nIf you need to evaluate the notebooks, the command \
to load the package only appears in this one."
}], "Text"]
}, Closed]],
Cell[CellGroupData[{
Cell["What's in the package", "Section"],
Cell[TextData[{
StyleBox["Tuning`",
FontWeight->"Bold"],
" contains functions to generate pure and tempered intervals, build the \
scale, transpose, play chords, alter the sound used, and a number of \
predefined temperaments. If a pitch is not chosen, the default pitch of 440Hz \
is used."
}], "Text"],
Cell[CellGroupData[{
Cell["Interval definitions", "Subsubsection"],
Cell[TextData[{
"These functions generate fifths, as well as tempered intervals. There is \
also ",
StyleBox["Third[x]",
FontWeight->"Bold"],
" which give the frequency of the note a third higher or lower than x, the \
sign of x determines whether it is a third up or down."
}], "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(\(?PureFifths\)\)], "Input"],
Cell[BoxData[
\("PureFifths[x,n,pitch] generates n pure fifths from x, transposing the \
resulting notes to be in the octave above pitch. Positive n gives fifths \
above x, negative n gives fifths below x."\)], "Print"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
\(\(?TemperedFifths\)\)], "Input"],
Cell[BoxData[
\("TemperedFifths[x,n,r,pitch] generates n tempered intervals, not \
necessarily fifths, between x and r*x, transposing them to be in the octave \
above pitch. Positive n gives fifths above x, negative n gives fifths below \
x."\)], "Print"]
}, Open ]]
}, Closed]],
Cell[CellGroupData[{
Cell["Scales and transposition", "Subsubsection"],
Cell[TextData[{
"The frequencies in a list can be transposed by octaves so that they fall \
in the octave above ",
StyleBox["p",
FontWeight->"Bold"],
". Successive applications of ",
StyleBox["AdjustOctave",
FontWeight->"Bold"],
" may be necessary."
}], "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(\(?AdjustOctave\)\)], "Input"],
Cell[BoxData[
\("AdjustOctave[y,p] transposes y up one octave if it is below p, or down \
one octave if it is above 2p."\)], "Print"]
}, Open ]],
Cell[TextData[{
"Scales can be made as a number of shorter lists and then concatenated and \
sorted using ",
StyleBox["BuildScale",
FontWeight->"Bold"],
". "
}], "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(\(?BuildScale\)\)], "Input"],
Cell[BoxData[
\("BuildScale[noteList] concatenates noteList and puts the elements in \
ascending order."\)], "Print"]
}, Open ]],
Cell[TextData[{
StyleBox["Transposition",
FontWeight->"Bold"],
" comes in two varieties, the normal kind, and one which transposes the \
tuning with respect to the notes. This means that we can compare transposed \
versions of harmony in a particular tuning, but hear them all at the same \
pitch."
}], "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(\(?Transposition\)\)], "Input"],
Cell[BoxData[
\("Transposition[s,n,pitch] transposes the scale s up n semitones if n is \
positive, or down n semitones if n is negative, based on pitch. Transposition \
has option TuningFixed->True as default. TuningFixed->True gives \
transposition in the usual sense, False gives transposition of the tuning \
with respect to the notes."\)], "Print"]
}, Open ]]
}, Closed]],
Cell[CellGroupData[{
Cell["Chords and sounds", "Subsubsection"],
Cell[TextData[{
"Chords are generated as sound objects and a sequence of these may be heard \
using ",
StyleBox["Show",
FontWeight->"Bold"],
". They generate fairly quickly but take a while to render. The argument ",
StyleBox["nts",
FontWeight->"Bold"],
" is a list of pairs which contains the index of the note in the current \
scale list, and a power of 2 which determines which octave the note is to be \
played in. ",
StyleBox["dur",
FontWeight->"Bold"],
" is the duration of the note in seconds."
}], "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(\(?Chord\)\)], "Input"],
Cell[BoxData[
\("Chord[nts, dur] generates a sound object which is a chord containing \
nts lasting for dur seconds."\)], "Print"]
}, Open ]],
Cell[BoxData[
\(Chord[{{a, .25}, {cs, .25}, {e, .25}, {a, .5}}, 2] // Show\)], "Input"],
Cell[TextData[{
"The sound produced can be altered according to taste and the results \
achieved on different machines. If ",
StyleBox["AmpList",
FontWeight->"Bold"],
" is not specified the default is used, this sounds a bit like a full \
organ. In an attempt at vague reality, there are private functions which \
decrease the strength of the upper harmonics as the notes ascend. More work \
is needed here, and it would be nice to simulate the chiff at the start of an \
organ sound."
}], "Text"],
Cell[CellGroupData[{
Cell[BoxData[
\(\(?AmpList\)\)], "Input"],
Cell[BoxData[
\("AmpList is a list of the amplitudes of the first 16 harmonics of the \
sound which will be used by Chord."\)], "Print"]
}, Open ]]
}, Closed]],
Cell[CellGroupData[{
Cell["Temperaments", "Subsubsection"],
Cell[TextData[{
"The temperaments included are ",
ButtonBox["Pythagorean",
ButtonData:>{"pythagorean.nb", None},
ButtonStyle->"Hyperlink"],
", ",
ButtonBox["Just Intonation",
ButtonData:>{"pythagorean.nb", None},
ButtonStyle->"Hyperlink"],
", ",
ButtonBox["1/2 comma meantone (Fogliano)",
ButtonData:>{"fogliano.nb", None},
ButtonStyle->"Hyperlink"],
", ",
ButtonBox["1/4 comma meantone (Aron)",
ButtonData:>{"aron.nb", None},
ButtonStyle->"Hyperlink"],
", ",
ButtonBox["1/5 comma meantone (Rossi)",
ButtonData:>{"rossi.nb", None},
ButtonStyle->"Hyperlink"],
", ",
ButtonBox["Werckmeister III",
ButtonData:>{"werckmeister.nb", None},
ButtonStyle->"Hyperlink"],
" well temperament, ",
ButtonBox["Kirnberger III",
ButtonData:>{"kirnberger.nb", None},
ButtonStyle->"Hyperlink"],
" well temperament and ",
ButtonBox["Equal Temperament",
ButtonData:>{"equal.nb", None},
ButtonStyle->"Hyperlink"],
". If no pitch is specified the default of A=440 is used."
}], "Text"]
}, Closed]]
}, Closed]],
Cell[CellGroupData[{
Cell[TextData[StyleBox[
"References and acknowledgements", "Subtitle"]], "Section"],
Cell[TextData[{
StyleBox["J.M. Barbour",
FontWeight->"Bold"],
". ",
StyleBox["Tuning and Temperament. ",
FontSlant->"Italic"],
"1972. Da Capo Press, New York.",
StyleBox["\nO. Jorgensen",
FontWeight->"Bold"],
". ",
StyleBox["Tuning the Historic Temperaments by Ear",
FontSlant->"Italic"],
". 1977. Northern Michigan University Press.",
StyleBox["\nC.A. Padgham",
FontWeight->"Bold"],
". ",
StyleBox["The Well-Tempered Organ. ",
FontSlant->"Italic"],
"1986. Positif Press, Oxford.\n",
StyleBox["E. Weisstein",
FontWeight->"Bold"],
". ",
StyleBox["Eric's Treasure Trove of Music",
FontSlant->"Italic"],
". http://www.astro.vierinia.edu/~eww6n/music/\n",
StyleBox["R. Maeder",
FontWeight->"Bold"],
". ",
StyleBox["Programming in Mathematica. ",
FontSlant->"Italic"],
"1989."
}], "Text"],
Cell[TextData[{
"I am grateful to David Rumsey, Sydney Conservatorium of Music, for advice \
on organ sounds and temperament, and Ross Moore, Macquarie University, for \
advice on ",
StyleBox["Mathematica",
FontSlant->"Italic"],
". I am also grateful to the musicians with whom I have worked and \
discussed temperaments and exchanged practical knowledge on how to tune \
them."
}], "Text"]
}, Closed]]
}, Open ]]
}, Open ]]
},
FrontEndVersion->"Macintosh 3.0",
ScreenRectangle->{{0, 1152}, {0, 850}},
WindowSize->{627, 490},
WindowMargins->{{37, Automatic}, {Automatic, 38}},
StyleDefinitions -> "tuning styles",
MacintoshSystemPageSetup->"\<\
00<0001804P000000`d26_oQon@3:`8g0dL5N`?P0080001804P000000]P2:001
0000I00000400`<30?l00BL?00400@0000000000000006P801T1T00000000000
00000000004000000000000000000000\>"
]
(***********************************************************************
Cached data follows. If you edit this Notebook file directly, not using
Mathematica, you must remove the line containing CacheID at the top of
the file. The cache data will then be recreated when you save this file
from within Mathematica.
***********************************************************************)
(*CellTagsOutline
CellTagsIndex->{
"ratios"->{
Cell[2933, 88, 61, 1, 32, "Section",
CellTags->"ratios"],
Cell[2997, 91, 497, 10, 65, "Text",
CellTags->"ratios"],
Cell[3519, 105, 66, 1, 29, "Subsubsection",
CellTags->"ratios"],
Cell[3588, 108, 89, 1, 22, "Text",
CellTags->"ratios"],
Cell[3680, 111, 441, 9, 114, "Input",
CellTags->"ratios"],
Cell[4124, 122, 399, 9, 41, "Text",
CellTags->"ratios"],
Cell[4560, 136, 77, 1, 21, "Subsubsection",
CellTags->{"comma", "ratios"}],
Cell[4640, 139, 583, 10, 78, "Text",
CellTags->{"comma", "ratios"}],
Cell[5248, 153, 93, 2, 35, "Input",
CellTags->{"comma", "ratios"}],
Cell[5344, 157, 94, 2, 18, "Output",
CellTags->{"comma", "ratios"}],
Cell[5475, 164, 75, 2, 19, "Input",
CellTags->{"comma", "ratios"}],
Cell[5553, 168, 87, 2, 18, "Output",
CellTags->{"comma", "ratios"}],
Cell[5677, 175, 134, 3, 35, "Input",
CellTags->{"comma", "ratios"}],
Cell[5814, 180, 381, 6, 33, "Output",
CellTags->{"comma", "ratios"}],
Cell[6210, 189, 102, 2, 19, "Input",
CellTags->{"comma", "ratios"}],
Cell[6315, 193, 204, 7, 22, "Text",
CellTags->{"comma", "ratios"}],
Cell[6522, 202, 102, 2, 19, "Input",
CellTags->{"comma", "ratios"}],
Cell[6661, 209, 76, 1, 21, "Subsubsection",
CellTags->{"ratios", "didymus"}],
Cell[6740, 212, 519, 9, 78, "Text",
CellTags->{"ratios", "didymus"}],
Cell[7284, 225, 91, 2, 35, "Input",
CellTags->{"ratios", "didymus"}],
Cell[7378, 229, 81, 2, 18, "Output",
CellTags->{"ratios", "didymus"}],
Cell[7496, 236, 77, 2, 19, "Input",
CellTags->{"ratios", "didymus"}],
Cell[7576, 240, 89, 2, 18, "Output",
CellTags->{"ratios", "didymus"}],
Cell[7702, 247, 144, 3, 19, "Input",
CellTags->{"ratios", "didymus"}],
Cell[7849, 252, 210, 4, 18, "Output",
CellTags->{"ratios", "didymus"}],
Cell[8074, 259, 104, 2, 19, "Input",
CellTags->{"ratios", "didymus"}],
Cell[8215, 266, 73, 1, 21, "Subsubsection",
CellTags->{"diesis", "ratios"}],
Cell[8291, 269, 485, 8, 64, "Text",
CellTags->{"diesis", "ratios"}],
Cell[8801, 281, 90, 2, 35, "Input",
CellTags->{"diesis", "ratios"}],
Cell[8894, 285, 80, 2, 18, "Output",
CellTags->{"diesis", "ratios"}],
Cell[9011, 292, 76, 2, 19, "Input",
CellTags->{"diesis", "ratios"}],
Cell[9090, 296, 76, 2, 18, "Output",
CellTags->{"diesis", "ratios"}],
Cell[9203, 303, 109, 2, 19, "Input",
CellTags->{"diesis", "ratios"}],
Cell[9315, 307, 115, 2, 18, "Output",
CellTags->{"diesis", "ratios"}],
Cell[9445, 312, 104, 2, 19, "Input",
CellTags->{"diesis", "ratios"}],
Cell[9552, 316, 101, 1, 22, "Text",
CellTags->{"diesis", "ratios"}],
Cell[9656, 319, 104, 2, 19, "Input",
CellTags->{"diesis", "ratios"}]},
"comma"->{
Cell[4560, 136, 77, 1, 21, "Subsubsection",
CellTags->{"comma", "ratios"}],
Cell[4640, 139, 583, 10, 78, "Text",
CellTags->{"comma", "ratios"}],
Cell[5248, 153, 93, 2, 35, "Input",
CellTags->{"comma", "ratios"}],
Cell[5344, 157, 94, 2, 18, "Output",
CellTags->{"comma", "ratios"}],
Cell[5475, 164, 75, 2, 19, "Input",
CellTags->{"comma", "ratios"}],
Cell[5553, 168, 87, 2, 18, "Output",
CellTags->{"comma", "ratios"}],
Cell[5677, 175, 134, 3, 35, "Input",
CellTags->{"comma", "ratios"}],
Cell[5814, 180, 381, 6, 33, "Output",
CellTags->{"comma", "ratios"}],
Cell[6210, 189, 102, 2, 19, "Input",
CellTags->{"comma", "ratios"}],
Cell[6315, 193, 204, 7, 22, "Text",
CellTags->{"comma", "ratios"}],
Cell[6522, 202, 102, 2, 19, "Input",
CellTags->{"comma", "ratios"}]},
"didymus"->{
Cell[6661, 209, 76, 1, 21, "Subsubsection",
CellTags->{"ratios", "didymus"}],
Cell[6740, 212, 519, 9, 78, "Text",
CellTags->{"ratios", "didymus"}],
Cell[7284, 225, 91, 2, 35, "Input",
CellTags->{"ratios", "didymus"}],
Cell[7378, 229, 81, 2, 18, "Output",
CellTags->{"ratios", "didymus"}],
Cell[7496, 236, 77, 2, 19, "Input",
CellTags->{"ratios", "didymus"}],
Cell[7576, 240, 89, 2, 18, "Output",
CellTags->{"ratios", "didymus"}],
Cell[7702, 247, 144, 3, 19, "Input",
CellTags->{"ratios", "didymus"}],
Cell[7849, 252, 210, 4, 18, "Output",
CellTags->{"ratios", "didymus"}],
Cell[8074, 259, 104, 2, 19, "Input",
CellTags->{"ratios", "didymus"}]},
"diesis"->{
Cell[8215, 266, 73, 1, 21, "Subsubsection",
CellTags->{"diesis", "ratios"}],
Cell[8291, 269, 485, 8, 64, "Text",
CellTags->{"diesis", "ratios"}],
Cell[8801, 281, 90, 2, 35, "Input",
CellTags->{"diesis", "ratios"}],
Cell[8894, 285, 80, 2, 18, "Output",
CellTags->{"diesis", "ratios"}],
Cell[9011, 292, 76, 2, 19, "Input",
CellTags->{"diesis", "ratios"}],
Cell[9090, 296, 76, 2, 18, "Output",
CellTags->{"diesis", "ratios"}],
Cell[9203, 303, 109, 2, 19, "Input",
CellTags->{"diesis", "ratios"}],
Cell[9315, 307, 115, 2, 18, "Output",
CellTags->{"diesis", "ratios"}],
Cell[9445, 312, 104, 2, 19, "Input",
CellTags->{"diesis", "ratios"}],
Cell[9552, 316, 101, 1, 22, "Text",
CellTags->{"diesis", "ratios"}],
Cell[9656, 319, 104, 2, 19, "Input",
CellTags->{"diesis", "ratios"}]},
"wolf"->{
Cell[9842, 329, 2903, 42, 382, "Text",
CellTags->"wolf"]},
"beats"->{
Cell[12809, 378, 1330, 23, 148, "Text",
CellTags->"beats"]},
"restricted"->{
Cell[18996, 502, 63, 1, 32, "Section",
CellTags->"restricted"],
Cell[19062, 505, 2087, 41, 228, "Text",
CellTags->"restricted"]},
"unrestricted"->{
Cell[21186, 551, 67, 1, 32, "Section",
CellTags->"unrestricted"],
Cell[21256, 554, 1883, 35, 228, "Text",
CellTags->"unrestricted"]}
}
*)
(*CellTagsIndex
CellTagsIndex->{
{"ratios", 33918, 948},
{"comma", 36836, 1023},
{"didymus", 37726, 1046},
{"diesis", 38475, 1065},
{"wolf", 39372, 1088},
{"beats", 39454, 1091},
{"restricted", 39543, 1094},
{"unrestricted", 39713, 1099}
}
*)
(*NotebookFileOutline
Notebook[{
Cell[CellGroupData[{
Cell[1731, 51, 56, 0, 140, "Title"],
Cell[1790, 53, 210, 5, 45, "Text"],
Cell[CellGroupData[{
Cell[2025, 62, 95, 2, 27, "Subtitle"],
Cell[2123, 66, 43, 1, 19, "Input"],
Cell[CellGroupData[{
Cell[2191, 71, 74, 0, 62, "Section"],
Cell[2268, 73, 628, 10, 92, "Text"]
}, Closed]],
Cell[CellGroupData[{
Cell[2933, 88, 61, 1, 32, "Section",
CellTags->"ratios"],
Cell[2997, 91, 497, 10, 65, "Text",
CellTags->"ratios"],
Cell[CellGroupData[{
Cell[3519, 105, 66, 1, 29, "Subsubsection",
CellTags->"ratios"],
Cell[3588, 108, 89, 1, 22, "Text",
CellTags->"ratios"],
Cell[3680, 111, 441, 9, 114, "Input",
CellTags->"ratios"],
Cell[4124, 122, 399, 9, 41, "Text",
CellTags->"ratios"]
}, Closed]],
Cell[CellGroupData[{
Cell[4560, 136, 77, 1, 21, "Subsubsection",
CellTags->{"comma", "ratios"}],
Cell[4640, 139, 583, 10, 78, "Text",
CellTags->{"comma", "ratios"}],
Cell[CellGroupData[{
Cell[5248, 153, 93, 2, 35, "Input",
CellTags->{"comma", "ratios"}],
Cell[5344, 157, 94, 2, 18, "Output",
CellTags->{"comma", "ratios"}]
}, Open ]],
Cell[CellGroupData[{
Cell[5475, 164, 75, 2, 19, "Input",
CellTags->{"comma", "ratios"}],
Cell[5553, 168, 87, 2, 18, "Output",
CellTags->{"comma", "ratios"}]
}, Open ]],
Cell[CellGroupData[{
Cell[5677, 175, 134, 3, 35, "Input",
CellTags->{"comma", "ratios"}],
Cell[5814, 180, 381, 6, 33, "Output",
CellTags->{"comma", "ratios"}]
}, Open ]],
Cell[6210, 189, 102, 2, 19, "Input",
CellTags->{"comma", "ratios"}],
Cell[6315, 193, 204, 7, 22, "Text",
CellTags->{"comma", "ratios"}],
Cell[6522, 202, 102, 2, 19, "Input",
CellTags->{"comma", "ratios"}]
}, Closed]],
Cell[CellGroupData[{
Cell[6661, 209, 76, 1, 21, "Subsubsection",
CellTags->{"ratios", "didymus"}],
Cell[6740, 212, 519, 9, 78, "Text",
CellTags->{"ratios", "didymus"}],
Cell[CellGroupData[{
Cell[7284, 225, 91, 2, 35, "Input",
CellTags->{"ratios", "didymus"}],
Cell[7378, 229, 81, 2, 18, "Output",
CellTags->{"ratios", "didymus"}]
}, Open ]],
Cell[CellGroupData[{
Cell[7496, 236, 77, 2, 19, "Input",
CellTags->{"ratios", "didymus"}],
Cell[7576, 240, 89, 2, 18, "Output",
CellTags->{"ratios", "didymus"}]
}, Open ]],
Cell[CellGroupData[{
Cell[7702, 247, 144, 3, 19, "Input",
CellTags->{"ratios", "didymus"}],
Cell[7849, 252, 210, 4, 18, "Output",
CellTags->{"ratios", "didymus"}]
}, Open ]],
Cell[8074, 259, 104, 2, 19, "Input",
CellTags->{"ratios", "didymus"}]
}, Closed]],
Cell[CellGroupData[{
Cell[8215, 266, 73, 1, 21, "Subsubsection",
CellTags->{"diesis", "ratios"}],
Cell[8291, 269, 485, 8, 64, "Text",
CellTags->{"diesis", "ratios"}],
Cell[CellGroupData[{
Cell[8801, 281, 90, 2, 35, "Input",
CellTags->{"diesis", "ratios"}],
Cell[8894, 285, 80, 2, 18, "Output",
CellTags->{"diesis", "ratios"}]
}, Open ]],
Cell[CellGroupData[{
Cell[9011, 292, 76, 2, 19, "Input",
CellTags->{"diesis", "ratios"}],
Cell[9090, 296, 76, 2, 18, "Output",
CellTags->{"diesis", "ratios"}]
}, Open ]],
Cell[CellGroupData[{
Cell[9203, 303, 109, 2, 19, "Input",
CellTags->{"diesis", "ratios"}],
Cell[9315, 307, 115, 2, 18, "Output",
CellTags->{"diesis", "ratios"}]
}, Open ]],
Cell[9445, 312, 104, 2, 19, "Input",
CellTags->{"diesis", "ratios"}],
Cell[9552, 316, 101, 1, 22, "Text",
CellTags->{"diesis", "ratios"}],
Cell[9656, 319, 104, 2, 19, "Input",
CellTags->{"diesis", "ratios"}]
}, Closed]]
}, Closed]],
Cell[CellGroupData[{
Cell[9809, 327, 30, 0, 32, "Section"],
Cell[9842, 329, 2903, 42, 382, "Text",
CellTags->"wolf"]
}, Closed]],
Cell[CellGroupData[{
Cell[12782, 376, 24, 0, 32, "Section"],
Cell[12809, 378, 1330, 23, 148, "Text",
CellTags->"beats"],
Cell[14142, 403, 657, 13, 156, "Input"],
Cell[14802, 418, 789, 10, 106, "Text"],
Cell[15594, 430, 191, 3, 67, "Input"],
Cell[15788, 435, 100, 2, 35, "Input"],
Cell[15891, 439, 1298, 19, 181, "Text"]
}, Closed]],
Cell[CellGroupData[{
Cell[17226, 463, 81, 1, 46, "Section"],
Cell[17310, 466, 1649, 31, 200, "Text"]
}, Closed]],
Cell[CellGroupData[{
Cell[18996, 502, 63, 1, 32, "Section",
CellTags->"restricted"],
Cell[19062, 505, 2087, 41, 228, "Text",
CellTags->"restricted"]
}, Closed]],
Cell[CellGroupData[{
Cell[21186, 551, 67, 1, 32, "Section",
CellTags->"unrestricted"],
Cell[21256, 554, 1883, 35, 228, "Text",
CellTags->"unrestricted"]
}, Closed]],
Cell[23154, 592, 74, 0, 46, "Section"],
Cell[CellGroupData[{
Cell[23253, 596, 42, 0, 48, "Section"],
Cell[23298, 598, 992, 20, 122, "Text"]
}, Closed]],
Cell[CellGroupData[{
Cell[24327, 623, 42, 0, 32, "Section"],
Cell[24372, 625, 1299, 33, 153, "Text"]
}, Closed]],
Cell[CellGroupData[{
Cell[25708, 663, 40, 0, 32, "Section"],
Cell[25751, 665, 311, 7, 51, "Text"],
Cell[CellGroupData[{
Cell[26087, 676, 45, 0, 29, "Subsubsection"],
Cell[26135, 678, 296, 7, 37, "Text"],
Cell[CellGroupData[{
Cell[26456, 689, 48, 1, 19, "Input"],
Cell[26507, 692, 223, 3, 50, "Print"]
}, Open ]],
Cell[CellGroupData[{
Cell[26767, 700, 52, 1, 19, "Input"],
Cell[26822, 703, 259, 4, 65, "Print"]
}, Open ]]
}, Closed]],
Cell[CellGroupData[{
Cell[27130, 713, 49, 0, 21, "Subsubsection"],
Cell[27182, 715, 279, 9, 38, "Text"],
Cell[CellGroupData[{
Cell[27486, 728, 50, 1, 19, "Input"],
Cell[27539, 731, 137, 2, 35, "Print"]
}, Open ]],
Cell[27691, 736, 179, 6, 23, "Text"],
Cell[CellGroupData[{
Cell[27895, 746, 48, 1, 19, "Input"],
Cell[27946, 749, 121, 2, 35, "Print"]
}, Open ]],
Cell[28082, 754, 318, 7, 51, "Text"],
Cell[CellGroupData[{
Cell[28425, 765, 51, 1, 19, "Input"],
Cell[28479, 768, 357, 5, 80, "Print"]
}, Open ]]
}, Closed]],
Cell[CellGroupData[{
Cell[28885, 779, 42, 0, 21, "Subsubsection"],
Cell[28930, 781, 539, 14, 67, "Text"],
Cell[CellGroupData[{
Cell[29494, 799, 43, 1, 19, "Input"],
Cell[29540, 802, 134, 2, 35, "Print"]
}, Open ]],
Cell[29689, 807, 91, 1, 19, "Input"],
Cell[29783, 810, 507, 10, 66, "Text"],
Cell[CellGroupData[{
Cell[30315, 824, 45, 1, 19, "Input"],
Cell[30363, 827, 140, 2, 35, "Print"]
}, Open ]]
}, Closed]],
Cell[CellGroupData[{
Cell[30552, 835, 37, 0, 21, "Subsubsection"],
Cell[30592, 837, 1060, 34, 50, "Text"]
}, Closed]]
}, Closed]],
Cell[CellGroupData[{
Cell[31701, 877, 83, 1, 46, "Section"],
Cell[31787, 880, 863, 31, 103, "Text"],
Cell[32653, 913, 400, 9, 65, "Text"]
}, Closed]]
}, Open ]]
}, Open ]]
}
]
*)
(***********************************************************************
End of Mathematica Notebook file.
***********************************************************************)