diff --git a/.skizzen.autosave.xopp b/.skizzen.autosave.xopp deleted file mode 100644 index 2cbc8d1..0000000 Binary files a/.skizzen.autosave.xopp and /dev/null differ diff --git a/abc/README b/abc/README new file mode 100644 index 0000000..d2847d7 --- /dev/null +++ b/abc/README @@ -0,0 +1,58 @@ +The abc package lets you include lines of music written in the ABC Plus +language (http://abcplus.sourceforge.net). + +This is version 2.0b of the package (a maintenance release) + + Copyright 2005-2016 Enrico Gregorio + + This program is provided under the terms of the + LaTeX Project Public License distributed from CTAN + archives in directory macros/latex/base/lppl.txt. + + Author: Enrico Gregorio + Enrico dot Gregorio at univr dot it + + This work has the LPPL maintenance status "author-maintained". + + This work consists of the following files: + +README (this file) +abc.dtx +abc.ins +abc.pdf + + and of the derived files + +abc.sty +mup.sty +example.tex +poll.abc +mupexa.tex +simple.mup + +To install the distribution: + +o run "latex abc.ins" +o run "latex -shell-escape example.tex" for a test +o move "abc.sty" and "mup.sty" to locations where LaTeX will + find it (the FAQ on CTAN in /help/uktug-FAQ gives more + information about this magic place) + +Please note that you need, on your system, the +utilities "abcm2ps" (http://abcplus.sourceforge.net), +either "ps2eps" (which comes with TeX Live) or "ps2epsi" +(which comes with Ghostscript), and epstopdf (which +comes with TeX Live) if you use pdflatex. + +If you want to compile the Mup examples, you need the +utility "mup" (http://www.arkkra.com), along with the +Postscript utilities mentioned above. + +Note also that you must enable "shell escape" on your +TeX system via the command line switch (at least); see +your distribution's documentation. However, this is not +strictly necessary in order to use the package, see the +documentation. + +2016/05/15 +Enrico Gregorio diff --git a/abc/abc.dtx b/abc/abc.dtx new file mode 100644 index 0000000..25fb129 --- /dev/null +++ b/abc/abc.dtx @@ -0,0 +1,824 @@ +% \iffalse meta-comment +% +% Copyright (C) 2005-2015 by Enrico Gregorio +% +% ------------------------------------------------------- +% +% This file may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, either version 1.2 of this license +% or (at your option) any later version. The latest version of this +% license is in: +% +% http://www.latex-project.org/lppl.txt +% +% and version 1.2 or later is part of all distributions of LaTeX +% version 1999/12/01 or later. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{abc.dtx} +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{abc} +%<*package> + [2016/05/15 v2.0b Enrico Gregorio] +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{verbatim} +\newenvironment{smallverb}{\footnotesize\verbatim}{\endverbatim} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{abc.dtx} +\end{document} +% +% \fi +% +% \CheckSum{416} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \changes{v2.0b}{2016/05/15}{Use shellesc} +% +% \changes{v2.0a}{2015/09/09}{Fixed gobbling of leading lines that +% start with \%} +% +% \changes{v2.0}{2008/03/03}{Many changes, in order to allow for Mup +% support; added saveall and nosaveall options} +% +% \changes{v1.1}{2007/03/27}{Added \cs{endgroup} when the warning for +% a non existent file is issued} +% +% \changes{v1.0}{2006/03/22}{After long delay decided to publish it} +% +% \changes{v0.7}{2005/11/21}{Corrected some errors from previous +% version; changed `abcinput' to support keyword-value pairs like +% the environment; added the production of a batch file when the +% `noshellescape' option is active; improved the documentation} +% +% \changes{v0.7beta}{2005/11/19}{Added the `postoptions' and `width' +% keywords} +% +% \changes{v0.6}{2005/11/18}{Changed options: erased `nix' and +% `dos', added `ps2epsidos' to correct a mistake} +% +% \changes{v0.5}{2005/11/13}{Added the interface to keyval} +% +% \changes{v0.4}{2005/11/10}{Initial version; too many things changed} +% +% \changes{v.0.1-0.3}{2005/11/01}{Very preliminar versions} +% +% \GetFileInfo{abc.dtx} +% +% \DoNotIndex{\newcommand,\newenvironment,\def,\ifpdf,\begin} +% \DoNotIndex{\DeclareOption,\ExecuteOptions,\RequirePackage} +% \DoNotIndex{\renewcommand,\else,\fi,\relax,\@bsphack,\@esphack} +% \DoNotIndex{\active,\AtEndOfPackage,\catcode,\centering} +% \DoNotIndex{\closeout,\comment,\do,\dospecials,\end,\endcomment} +% \DoNotIndex{\fbox,\gdef,\immediate,\includegraphics,\let} +% \DoNotIndex{\linewidth,\message,\newif,\newwrite,\openout} +% \DoNotIndex{\PackageWarning,\space,\the,\verbatim@line} +% \DoNotIndex{\verbatim@processline,\verbatim@start,\write} +% \DoNotIndex{\@makeother,\IfFileExists,\ProcessOptions} +% \DoNotIndex{\@ifnextchar,\define@key,\MessageBreak,\setkeys} +% \DoNotIndex{\stepcounter,\newcounter,\trivlist,\AtEndDocument} +% \DoNotIndex{\@empty,\edef,\csname,\endcsname,\edef,\begingroup} +% \DoNotIndex{\endgroup,\endtrivlist,\global,\if,\ifx,\item} +% \DoNotIndex{\PackageWarningNoLine,\PassOptionsToPackage} +% \DoNotIndex{\ProvidesPackage,\@arabic} +% +% \title{The \textsf{abc} package\thanks{This document corresponds to +% \textsf{abc}~\fileversion, dated \filedate.}} +% +% \author{Enrico Gregorio \\ \texttt{Enrico dot Gregorio at univr dot it}} +% +% \date{\filedate} +% +% \maketitle +% +% \section{Introduction} +% There are several ways to set music using \TeX{}, notably +% Musix\TeX{} and Lilypond. Both are very powerful and, +% consequently, a bit difficult to learn and to use. +% +% From the point of view of notation, the ABC +% system\footnote{\texttt{http://staffweb.cms.gre.ac.uk/\char`\~c.walshaw/abc/}} +% is much simpler. A recent extension of this language, called +% ABC~Plus\footnote{\texttt{http://abcplus.sourceforge.net}}, allows +% for setting multiple staves and polyphony. One of the best programs +% for converting these notations into sheet music is +% \texttt{abcm2ps}, which can take an ABC or ABC~Plus file and +% transform it into a PostScript\texttrademark{} file. +% +% The purpose of this package is to allow \LaTeX{} users to include in +% their documents small excerpts of music written directly in +% ABC (Plus). It exploits the \verb|\write18| technique available with +% the Web2C implementation of the \TeX{} system and free utilities +% like \texttt{ps2eps}, \texttt{ps2epsi} and \texttt{epstopdf}. From +% version 2.0b we check the existence of the \textsf{shellesc} package +% in order to be compatible with Lua\TeX. +% +% This package can be used both with \LaTeX{} and +% \textsc{pdf}\LaTeX{}, without any change in the user's source file. +% It employs also the package \textsf{keyval} by David Carlisle and +% ideas from the \textsf{verbatim} package in the \LaTeX{} tools. +% +% Martin Tarenskeen wrote me about possible support of Mup--Music +% Publisher\footnote{\texttt{http://www.arkkra.com}} and actually it +% was easy to add it along with some improvements partly suggested by +% him. Therefore the package now comes along with a new \textsf{mup} +% package; see section~\ref{mup}. I owe many thanks to Martin for +% testing the new version. +% +% We are studying whether it is feasible to extend support also to +% other music printing programs like Lilypond. +% +% \section{Usage} +% \DescribeEnv{abc} +% The only environment provided by this package is \verb|abc| with +% the following syntax: +% \begin{quote} +% \verb|\begin{abc}[|\meta{keyword}$=$\meta{value}\verb|...]|\\ +% \meta{ABC Plus material}\\ +% \verb|\end{abc}| +% \end{quote} +% The environment should be used only in LR-mode. Its output is set +% in a `center' environment. We give a list of the available +% keywords. +% \begin{description} +% +% \item[\normalfont\texttt{name=}\meta{name}:] \meta{name} is a name +% for the temporary file which will be output and massaged by +% \texttt{abcm2ps}. \emph{Warning}: the extension \texttt{.abc} is +% automatically added to the file name; esistent files with the same +% name will be silently erased. If the keyword is specified without a +% value, then the output file receives a unique name. +% +% \item[\normalfont\texttt{options=}\meta{options}:] \meta{options} +% are command line parameters to the \texttt{abcm2ps} utility; the +% default are `\texttt{-O= -c}'. +% +% \item[\normalfont\texttt{postoptions=}\meta{postoptions}:] +% \meta{postoptions} are possible command line options which, in +% \texttt{abcm2ps} syntax, go after the file name. +% +% \item[\normalfont\texttt{program=}\meta{program}:] \meta{program} is +% used to specify an alternative program to \texttt{abc2mps} (if +% existent). In this case users must specify completely the command +% line options, directly in \meta{program} or with \meta{options} and +% \meta{postoptions}. For example +% \begin{quote} +% \verb|\begin[name=song,program=abctoeps,options={-a -b}]|\\ +% \verb|\begin[name=song,program={abc3ps -a -b}]| +% \end{quote} +% (assuming there is an \texttt{abc3ps} program). +% +% \item[\normalfont\texttt{width=}\meta{width}:] \meta{width} should +% be a dimension; it is best to express it as a fraction of +% \verb|\abcwidth|. +% +% \item[\normalfont\texttt{center}:] This is a boolean, either true +% or false; the default is true, if left flush alignment is preferred, +% specify \texttt{center=false}. +% +% \item[\normalfont\texttt{extension}:] This keyword seems practically +% useless, but is needed if one needs to input both ABC and Mup files +% in one and the same document. See later on. +% \end{description} +% +% \DescribeMacro{\abcinput} +% It is also possible to input an available ABC file. The syntax is +% \begin{quote} +% \verb|\abcinput|\oarg{options}\marg{name} +% \end{quote} +% where \meta{name} is the name of the file, without the extension +% which should be \texttt{.abc}. In the optional argument users can +% put keyword-value pairs as for the environment. Of course the +% keyword \texttt{name} is ignored here. +% +% \DescribeMacro{\abcwidth} +% Users have a minimum control (at least in this version) on how to +% include some lines of music. The only parameter they can modify is +% \verb|\abcwidth| with \verb|\renewcommand|. Its normal value is +% \verb|\linewidth|. The best thing to do is +% \begin{quote} +% \verb|\renewcommand{\abcwidth}{|\meta{fraction}\verb|\linewidth}| +% \end{quote} +% where \meta{fraction} is some number between $0$ and~$1$. Changing +% this parameter affects every subsequent music inclusion, obeying to +% the usual scoping rules. The width can be changed locally for the +% environment or the command with the method explained before. +% +% \DescribeMacro{\normalabcoutputfile} +% The name for the generic output files is ``\texttt{out-abc}''. In +% the (improbable) case that some file \texttt{out-abc.}\meta{ext} is +% present in the directory, users can redefine +% \verb|\normalabcoutputfile| as they like. +% +% \section{Package options} +% There are some package options, to control what is to be passed for +% subsequent processing. +% +% \subsection{\texttt{shellescape} and \texttt{noshellescape}} +% The option \texttt{shellescape} (default) means that some external +% programs will be called by \LaTeX{} to get the inclusion of the +% music lines. If you don't trust the automatic generation, or your +% \TeX{} implementation does not allow the trick with \verb|\write18|, +% then use \texttt{noshellescape}. In this case, a name should be +% specified for every `abc' environment, because otherwise ABC output +% files will be overwritten, since they receive the same generic name, +% by default. A file named \texttt{out-abc.sh} is produced, +% containing the commands to give for elaborating the music files. +% +% \subsection{\texttt{generate} and \texttt{nogenerate}} +% With the \texttt{generate} option (default) the ABC lines will be +% processed by the external programs. The \texttt{nogenerate} option +% can be used when the ABC sources have not changed, in order to +% increase speed. Also in this case, however, a name should be +% specified for all output ABC files. +% +% \subsection{\texttt{ps2epsi}, \texttt{ps2epsidos} and +% \texttt{ps2eps}} +% The option \texttt{ps2eps} (default) means that the \texttt{ps2eps} +% Perl script will be used for generating the EPS file for graphic +% inclusion. Specify the \texttt{ps2epsi} option if you prefer the +% \texttt{ps2epsi} program; specify \texttt{ps2epsidos} if you are on +% a system where the utility \texttt{ps2epsi} generates a file with +% three letter extension \texttt{.epi}. +% +% \subsection{\texttt{nosaveall} and \texttt{saveall}} +% The first is the default, but the second is called implicitly when +% the \texttt{noshellescape} is given. When the \texttt{saveall} +% option is active, every `abc' environment produces a unique output +% file; in other words, the \texttt{name} keyword, without value, is +% given for every environment. So the \texttt{noshellescape} option +% along with \texttt{generate} will not overwrite the output from +% unnamed environment. It is possible that, during the document's +% preparation, the numbers added to the default file name are out of +% synch, the process should converge. Note that with Lua\TeX{} the +% \texttt{nosaveall} option can produce errors, so \texttt{saveall} is +% enabled by default, with this engine. +% +% +% \section{Compiling documents} +% Users must give the option \texttt{-shell-escape} when compiling +% their documents, unless they chose the \texttt{nogenerate} package +% option or the \texttt{noshellescape}. Thus one of +% \begin{quote} +% \texttt{latex -shell-escape} \meta{\TeX{} file name}\\ +% \texttt{pdflatex -shell-escape} \meta{\TeX{} file name}\\ +% \texttt{simpdftex latex --extratexopts "-shell-escape"} +% \end{quote} +% should be used from the command line (or equivalent way, depending +% on operating system and distribution). +% +% \section{An example file} +% \iffalse +%<*example> +% \fi +% \begin{smallverb} +\documentclass[a4paper,12pt]{article} +\usepackage[generate,ps2eps]{abc} +\usepackage{mathptmx} + +\begin{document} + +\title{Example of ABC Plus in \LaTeX{}} +\author{Guido Gonzato} +\date{} +\maketitle + +This is a short piece. + +\medskip + +\begin{abc} +X:4 +T:Cronin's Hornpipe +R:hornpipe +S:Keenan and Glackin +E:7 +M:C| +L:1/8 +K:G +BA|GABc dBde|gage dega|bage dBGB|cABG A2BA|! +GABc dBde|gage dega|bage dBAB|G2G2 G2:|! +fg|afd^c d2ga|bged e2ga|(3bag (3agf gedB|(3cBA AG AcBA|! +GABc dBde|~g3e dega|bage dBAB|G2G2 G2:|! +\end{abc} + +\medskip + +This is another short piece, but we would like to keep the +ABC source in our directory. + +\begin{abc}[name=jacky] +X:9 +T:Jacky Tar +R:hornpipe +M:4/4 +L:1/8 +K:Edor +(Bd) | "Em" e2 ed efge | "G" d2 B2 B2 (dB) | "D" ABde faef | d2 A2 A2 (Bd) | + "Em" e2 ef g2 fe | "G" dB GB d2 (cB) | "D" AGFE DEFA | "Em" G2 E2 E2 :| +(GA) | "Em" BGEG BGEG | BAGF E2 (FG) | "D" BGEG BGEG | AGFE D2 (EF) | + "G" GFGB g2 (fe) | dBGB d2 (cB) | "D" AGFE DEFA | "Em" G2 E2 E2 :| +\end{abc} + +\clearpage + +And, finally, we want to set also the last piece; its ABC code +is already in our directory. + +\medskip + +\abcinput{poll} + +\end{document} +% \end{smallverb} +% \iffalse +% +% \fi +% +% This file is accompanied by a file \texttt{poll.abc} +% \iffalse +%<*abc> +% \fi +% \begin{smallverb} +X:12 +T:Poll Ha'penny +T:Garra\'i na bhF\'eile\'og +R:hornpipe +H:The Irish title means "The Garden of Honeysuckles" +D:Mary Bergin: Feadoga Stain +D:Noel Hill agus Tony McMahon: I gCnoc na Grai +Z:id:hn-hornpipe-26 +M:C| +L:1/8 +K:Amix +(3GAB | =cAAG A2 (3AB=c | (3d=cB (3AGF G2 (3B^cd | ed^cA d^cAG | ~A3 G A2 de | + ~f3 d ~e3 c | d2 (3Bcd efge | aged (3=cBA GB | ~A3 G A2:| +|: ef | ~g3 f gfef | g2 ga gedg | eaag a3 g | eaag a2 ag | + ~f3 d ~e3 c | d2 (3Bcd efge | aged (3=cBA GB | ~A3 G A2 :| +% \end{smallverb} +% \iffalse +% +% \fi +% +% \section{Mup support}\label{mup} +% Everything we have said about ABC translates verbatim for Mup. +% Simply call the package with +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\usepackage{mup} +\end{verbatim} +% \iffalse +% +% \fi + +% with options just like before, and substitute the string `mup' to +% every occurrence of `abc' in the preceding sections. The only +% differences are in the default command line options when calling the +% external program (they are \texttt{-F} for `mup'). +% +% It is even possible to use both external programs in the same +% document. If this is desired, call the \textsf{abc} package and +% define a new environment for Mup inclusion as follows +% \iffalse +%<*verb> +% \fi +\begin{verbatim} +\newenvironment{mup}[1][] + {\renewcommand{\normalabcoutputfile}{out-mup}% + \abc[program=mup,options={-F},extension=mup,#1]} + {\endabc} +\newcommand{\mupinput}[2][]{% + \abcinput[program=mup,options={-F},extension=mup,#1]{#2}} +\end{verbatim} +% \iffalse +% +% \fi +% +% Here is an example with Mup. +% +% \iffalse +%<*example-mup> +% \fi +% \begin{smallverb} +\documentclass[a4paper,12pt]{article} +\usepackage[generate,ps2eps]{mup} +\usepackage{mathptmx} + +\begin{document} + +\title{Example of MUP in \LaTeX{}} +\author{Martin Tarenskeen} +\date{} +\maketitle + +This is a short piece. + +\medskip + +\begin{mup} +1: a-;b-;c;d; +bar +1: e;f;g;a; +endbar +\end{mup} + +\medskip + +This is another short piece, but we would like to keep the +MUP source in our directory. + +\begin{mup}[name=mymup] +score +staffs=2 +time=6/8 +beamstyle=4.,4. + +staff 2 +clef=bass + +music +1: 8c;d;e;f;g;a; +2: 4.ceg;cfa; +repeatend + +\end{mup} + +\clearpage + +And finally, we want to set also the last piece; its MUP code +is already in our directory. + +\medskip + +\mupinput{simple} + +\end{document} +% \end{smallverb} +% \iffalse +% +% \fi +% This file is accompanied by a file \texttt{simple.mup} +% \iffalse +%<*mup> +% \fi +% \begin{smallverb} +score +staffs=2 +time=6/8 +beamstyle=4.,4. + +staff 2 +clef=bass + +music +1: 8c;d;e;f;g;a; +2: 4.ceg;cfa; +repeatend +% \end{smallverb} +% \iffalse +% +% \fi +% +% \StopEventually{\PrintChanges\PrintIndex} +% +% \section{The implementation} +% After the usual stuff of package presentation, here are the actual +% macros. To begin with the option declarations and the defaults. +% The first options are boolean. +% \begin{macrocode} +%<*package> +\RequirePackage{ifluatex} +\newif\ifabc@shellescape +\newif\ifabc@generate +\newif\ifabc@warning +\newif\ifabc@saveall +\newif\ifabc@mup +\DeclareOption{mup}{\abc@muptrue} +\DeclareOption{noshellescape}{\abc@shellescapefalse\abc@warningtrue + \abc@savealltrue} +\DeclareOption{shellescape}{\abc@shellescapetrue} +\DeclareOption{nogenerate}{\abc@generatefalse} +\DeclareOption{generate}{\abc@generatetrue} +\DeclareOption{nosaveall}{\abc@saveallfalse} +\DeclareOption{saveall}{\abc@savealltrue} +% \end{macrocode} +% The following options control the external programs to use. +% \begin{macrocode} +\def\abc@epsext{eps} +\DeclareOption{ps2eps}{\def\abc@pscmd{ps2eps -f}} +\DeclareOption{ps2epsi}{\def\abc@pscmd{ps2epsi}\def\abc@epsext{epsi}} +\DeclareOption{ps2epsidos}{\def\abc@pscmd{ps2epsi}\def\abc@epsext{epi}} +% \end{macrocode} +% Now we declare the default options and call the user specified +% ones. Since Lua\TeX{} doesn't accept loading different PDF files +% with the same name, when this engine is used, the \texttt{saveall} +% option is enabled by default. +% \begin{macrocode} +\ExecuteOptions{generate,shellescape,nosaveall,ps2eps} +\ifluatex + \ExecuteOptions{saveall} +\fi +\ProcessOptions\relax +% \end{macrocode} +% +% Then we have to load some packages we need. The first one is to do +% verbatim output to a file without reinventing the wheel. Then the +% package for implementing keyword-value options; we have to take care +% of graphics inclusion, and to control whether we are using \LaTeX{} +% with DVI or PDF output. +% \begin{macrocode} +\RequirePackage{verbatim} +\RequirePackage{keyval} +\RequirePackage{graphicx} +\RequirePackage{ifpdf} +% \end{macrocode} +% Next we define some internal commands. First of all a boolean for +% issuing messages if necessary and a counter to assign unique names +% to output files +% \begin{macrocode} +\newif\ifabc@unprocessedfiles +\newcounter{abc@count} +% \end{macrocode} +% We choose to give explicitly the extensions to the graphics files, +% since some user could prefer \texttt{ps2epsi}. Everything is +% doubled for Mup support. +% \begin{environment}{mup} +% \begin{macro}{\mupinput} +% \begin{macrocode} +\ifabc@mup +\newcommand{\abc@cmd}{mup} % virtually no choice +\newcommand{\abc@parm}{-F} % -F MUST stay +\newcommand{\abc@epstopdfcmd}{epstopdf} +\newcommand{\abc@pdfext}{pdf} +\def\normalabcoutputfile{out-mup} +\def\normalmupoutputfile{\normalabcoutputfile} +\def\mup{\abc} +\def\endmup{\endabc} +\def\mupinput{\abcinput} +\def\abc@ext{.mup} +\def\abc@packagename{mup} +\else +\newcommand{\abc@cmd}{abcm2ps} % virtually no choice +\newcommand{\abc@parm}{-O= -c} % -O= MUST stay +\newcommand{\abc@epstopdfcmd}{epstopdf} +\newcommand{\abc@pdfext}{pdf} +\def\normalabcoutputfile{out-abc} +\def\abc@ext{.abc} +\def\abc@packagename{abc} +\fi +\def\abc@tempfile{\normalabcoutputfile} +\def\abc@opt{} +\let\abc@postopt\@empty +\ifpdf + \let\abc@finalext\abc@pdfext +\else + \let\abc@finalext\abc@epsext +\fi +\newif\ifabc@center +\abc@centertrue +% \end{macrocode} +% \end{macro} +% \end{environment} +% The following is the only parameter the user is authorized to +% tamper with; it has an alias for Mup. +% \begin{macrocode} +\newcommand{\abcwidth}{\linewidth} % only fractions of \linewidth +\let\mupwidth\abcwidth +% \end{macrocode} +% \begin{macro}{\abc@startgen} +% \begin{macro}{\abc@finishgen} +% Now something directly borrowed from the package \textsf{verbatim}. +% We declare an output stream and define two macros which will be +% called by the \texttt{abc} environment or by the \verb|\abcinput| +% command in case we are generating the graphics files. The macro +% \verb|\abc@startgen| then passes the control to \verb|\abc@process| +% which is different, according to the options given to the package. +% \begin{macrocode} +\newwrite\abc@out +\def\abc@startgen{% + \@bsphack + \immediate\openout\abc@out\abc@tempfile\abc@ext + \let\do\@makeother\dospecials + \catcode`\^^M\active \catcode`\^^I=12 + \def\verbatim@processline{% + \immediate\write\abc@out + {\the\verbatim@line}}% + \verbatim@start} +\def\abc@finishgen{% + \immediate\closeout\abc@out + \@esphack + \abc@process +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\abc@doshellcommand} +% \begin{macro}{\abc@nodoshellcommand} +% We define a macro for the external massaging of the ABC files and +% another one for the case the user doesn't trust or have available +% the \verb|\write18| trick; the second one spits out a very simple +% shell script which can be used to take care of the compilation; this +% file is probably compatible with all systems having a command line +% interface. Then we check the options again and define the commands +% that really do the job. +% \begin{macrocode} +\ifluatex + \IfFileExists{shellesc.sty} + {\RequirePackage{shellesc}\let\abc@shell\ShellEscape} + {\def\abc@shell{\immediate\write18}} +\else + \def\abc@shell{\immediate\write18} +\fi +\def\abc@doshellcommand{% + \abc@shell{% + \ifabc@mup + \abc@cmd\space + \abc@opt\space + \abc@parm\space + \abc@tempfile\abc@ext\space + \else + \abc@cmd\space + \abc@parm\space + \abc@opt\space + \abc@tempfile\abc@ext\space + \fi + \ifx\abc@postopt\@empty + \else\space\abc@postopt\fi + }% + \abc@shell{% + \abc@pscmd\space\abc@tempfile.ps + }% + \ifpdf + \abc@shell{% + \abc@epstopdfcmd\space\abc@tempfile.\abc@epsext + }% + \fi +} +\def\abc@nodoshellcommand{% +\immediate\write\abc@outsh{% + \abc@cmd\space + \abc@parm\space + \abc@opt\space + \abc@tempfile\abc@ext\space + \ifx\abc@postopt\@empty + \else\space\abc@postopt\fi}% +\immediate\write\abc@outsh{% + \abc@pscmd\space\abc@tempfile.ps}% +\ifpdf + \immediate\write\abc@outsh{% + \abc@epstopdfcmd\space\abc@tempfile.\abc@epsext}% +\fi + } +% \end{macrocode} +% We use a conditional to emit a message at the end of the +% compilation if some file has not been found and the +% \texttt{nogenerate} option was chosen. +% \begin{macrocode} +\AtEndDocument{% + \ifabc@warning\ifabc@unprocessedfiles + \PackageWarningNoLine{\abc@packagename}{% + \ifabc@shellescape + You have set the `shellescape' option, but you ran% + \MessageBreak + (pdf)latex without the `-shell-escape' command line% + \MessageBreak + option. Fix it either with the `noshellescape' option% + \MessageBreak + in your document or the correct call of (pdf)latex% + \else + Remember to generate the [eps,pdf] files before compiling% + \MessageBreak + again. Use the file \abc@tempfile.sh for a list or as a script% + \fi}% + \fi\fi} +% \end{macrocode} +% \end{macro} +% \end{macro} +% Now we define the macro responsible for the massaging of the ABC +% files. This is a good moment for inizializing the writing of the +% shell script, when needed. +% \begin{macro}{\abc@process} +% \begin{macrocode} +\ifabc@shellescape + \let\abc@process\abc@doshellcommand +\else + \newwrite\abc@outsh + \immediate\openout\abc@outsh\abc@tempfile.sh + \AtEndDocument{\closeout\abc@outsh} + \let\abc@process\abc@nodoshellcommand +\fi +% \end{macrocode} +% \end{macro} +% \begin{macro}{\abc@start} +% \begin{macro}{\abc@finish} +% We now define how to start and finish; if no generation is required, +% the ABC lines are skipped like a comment (thanks again to the +% \textsf{verbatim} package). +% \begin{macrocode} +\ifabc@generate + \let\abc@start\abc@startgen + \let\abc@finish\abc@finishgen +\else + \let\abc@start\comment + \let\abc@finish\endcomment +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{environment}{abc} +% \begin{macro}{\abcinput} +% Finally, we define the environment and the command. Some commands +% are initialized here; the name of the temporary file is, by default, +% ``out-abc'' which should not clobber any existing file. +% \begin{macrocode} +\def\abc{\@makeother\%\@ifnextchar[\abc@grab{\abc@grab[]}} +\define@key{abc}{name}[]{% + \if!#1!\stepcounter{abc@count}% + \edef\abc@tempfile{\normalabcoutputfile-\@arabic\c@abc@count}% + \else + \def\abc@tempfile{#1}% + \fi +} +\define@key{abc}{options}{\def\abc@opt{#1}} +\define@key{abc}{postoptions}{\def\abc@postopt{#1}} +\define@key{abc}{program}{\def\abc@cmd{#1}\let\abc@parm\@empty} +\define@key{abc}{width}{\def\abc@width{#1}} +\define@key{abc}{center}[true]{\csname abc@center#1\endcsname} +\define@key{abc}{extension}{\def\abc@ext{.#1}} +\def\abc@grab[#1]{\let\abc@width=\abcwidth + \ifabc@saveall + \setkeys{abc}{name,#1}% + \else + \setkeys{abc}{#1}% + \fi\abc@start} +% \end{macrocode} +% The final part of the environment; we do the processing, if +% required and then include the graphics file. If none is found, the +% simple name is used, to recall that some processing is to be done. +% \begin{macrocode} +\def\endabc{% + \abc@finish + \trivlist\item[]\ifabc@center\centering\fi + \IfFileExists{\abc@tempfile.\abc@finalext} + {\includegraphics[width=\abc@width]{\abc@tempfile.\abc@finalext}}% + {\global\abc@warningtrue\fbox{\abc@tempfile}% + \global\abc@unprocessedfilestrue}% + \endtrivlist +} +% \end{macrocode} +% The command version is similar. The only difference is that we +% issue a warning if the named file does not exist. +% \begin{macrocode} +\def\abcinput{\@ifnextchar[\abc@grabinput{\abc@grabinput[]}} +\def\abc@grabinput[#1]#2{\let\abc@width=\abcwidth\setkeys{abc}{#1}% + \begingroup\def\abc@tempfile{#2}% + \IfFileExists{\abc@tempfile\abc@ext} + {% + \abc@process + \begin{center} + \IfFileExists{\abc@tempfile.\abc@finalext} + {\includegraphics[width=\abc@width]{\abc@tempfile.\abc@finalext}}% + {\fbox{\abc@tempfile}}% + \end{center}% + \endgroup + } + {\PackageWarning{\abc@packagename}{No file \abc@tempfile\abc@ext\space found}}% +} +% +% \end{macrocode} +% \end{macro} +% \end{environment} +% \begin{macrocode} +%<*package-mup> +\ProvidesPackage{mup} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{abc}} +\ProcessOptions\relax +\RequirePackage[mup]{abc} +% +% \end{macrocode} +% \Finale diff --git a/abc/abc.ins b/abc/abc.ins new file mode 100644 index 0000000..085dc59 --- /dev/null +++ b/abc/abc.ins @@ -0,0 +1,63 @@ +%% +%% abc.ins +%% Copyright 2006-2016 Enrico Gregorio +%% +%% This program is provided under the terms of the +%% LaTeX Project Public License distributed from CTAN +%% archives in directory macros/latex/base/lppl.txt. +%% +%% Author: Enrico Gregorio +%% Enrico dot Gregorio at univr dot it +%% +%% This work has the LPPL maintenance status "author-maintained". +%% +%% This file will generate fast loadable files and documentation +%% driver files from the doc files in this package when run through +%% LaTeX or TeX. +%% +%% --------------- start of docstrip commands ------------------ +%% +\input docstrip +\preamble + + Copyright 2006-2016 Enrico Gregorio + + This program is provided under the terms of the + LaTeX Project Public License distributed from CTAN + archives in directory macros/latex/base/lppl.txt. + + Author: Enrico Gregorio + Enrico dot Gregorio at univr dot it + + This work has the LPPL maintenance status "author-maintained". + +\endpreamble + +\keepsilent +\askforoverwritefalse + +\Msg{*** Generating the package files ***} +\generate{\file{abc.sty}{\from{abc.dtx}{package}}% + \file{example.tex}{\from{abc.dtx}{example}}% + \file{mup.sty}{\from{abc.dtx}{package-mup}}% + \file{mupexa.tex}{\from{abc.dtx}{example-mup}}% + \nopreamble\nopostamble + \file{poll.abc}{\from{abc.dtx}{abc}}% + \file{simple.mup}{\from{abc.dtx}{mup}}% + } + +\Msg{***********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* files into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space abc.sty} +\Msg{*} +\Msg{*} +\Msg{* To produce the documentation on abc's code run the} +\Msg{* file ending with `.dtx' through (pdf)LaTeX.} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{***********************************************************} + +\endbatchfile diff --git a/abc/abc.pdf b/abc/abc.pdf new file mode 100644 index 0000000..a24052d Binary files /dev/null and b/abc/abc.pdf differ diff --git a/inputs/intervalle.tex b/inputs/intervalle.tex new file mode 100644 index 0000000..56250fd --- /dev/null +++ b/inputs/intervalle.tex @@ -0,0 +1,234 @@ +\section{Intervalle} + +\begin{definition}[Schall] + \vocab{Schall} ist eine Funktion $f: \text{Zeit} \to \text{Druck}$ bzw. $f: \text{Zeit} \to \text{Luftbewegung}$ +\end{definition} + +\begin{definition}[Ton] + Ein \vocab{Ton} entspricht einer Schwingungsfrequenz. +\end{definition} + +\begin{observe} + Die Funktion $\sin(2\pi \cdot f \cdot t)$ ist periodisch mit $T_0$ genau dann, wenn $f = k \cdot \frac{1}{T_0}$ für ein $k \in \Z$. +\end{observe} + +\begin{definition}[Lineares Modell der MTT] + Jede Funktion mit Periode $T_0$ kann als Summe von Funktionen der Form $a \cdot \sin(2\pi \cdot f \cdot t), a\cdot \cos(2\pi\cdot f\cdot t)$, $f = k \cdot \frac{1}{T_0}, a \in \R, k \in \Z$ dargestellt werden. + + Für $k=1$ ergibt sich die \vocab{Grundfrequenz} $\frac{2\pi}{T}$, für $k \ge 2$ reden wir von \vocab[Oberton]{Obertönen}. +\end{definition} + + +\todo{Obertöne Saiteninstrument (Alle Obertöne), Flöte, Querflöte (Obertöne nur für $k \in 2\N + 1$)} + + + +\begin{table}[htpb] + \centering + \caption{Obertöne} + \label{tab:obertoene} + \begin{tabular}{clcccc} + $k$ & Ton & Frequenz-& Halb- & EDO12 & Reine Intervalle\\ + & & verhältnis & töne& &(Cent) \\ + \hline + $1$ & C \\ + & $\shortdownarrow$ Oktave & $2$ & $10$ & $2,000$ & $1200$\\ + $2$ & C \\ + & $\shortdownarrow$ Quinte & $\frac{3}{2}$ & $7$ & $1,4989$ & $702$\\ + $3$ & G \\ + &$\shortdownarrow$ Quarte & $\frac{4}{3}$ & $5$ & $1,3348$ & $498$\\ + $4$ & C\\ + &$\shortdownarrow$ gr. Terz & $\frac{5}{4}$ & $4$ & $1,2599$ & $386$\\ + $5$ & E \\ + &$\shortdownarrow$ kl. Terz & $\frac{6}{5}$ & $3$ & $1,1892$ & $316$\\ + $6$ & G\\ + &$\shortdownarrow$ & $\frac{7}{6}$ & $3$? & & $267$\\ + $7$ & B ? \\ + &$\shortdownarrow$ & $\frac{8}{7}$ & $2$? & & $231$\\ + $8$ & C\\ + &$\shortdownarrow$ gr. Sekunde & $\frac{9}{8}$ & $2$ & $1,1225$ & $204$\\ + $9$ & D \\ + &$\shortdownarrow$ gr. Sekunde & $\frac{10}{9}$ & 2 & $1,1225$& $182$\\ + $10$ & E \\ + + \end{tabular} +\end{table} + +\begin{observe} + $\frac{9}{8} = \frac{10}{9}$ ??? +\end{observe} + +Es ergeben sich außerdem +\begin{table}[htpb] + \centering + \caption{Intervalle} + \label{tab:intervale} + \begin{tabular}{lll} + Intervall & Verhältnis & Reines Intervall (Cent)\\ + gr. Sexte & $\frac{5}{3}$ &$884$\\ + kl. Sexte & $\frac{8}{5}$ &$814$\\ + kl. Septime & $\frac{9}{5} \approx \frac{7}{4}$ & $1018 \approx 969$\\ + Tritonus & $\sqrt{2}$ + \end{tabular} +\end{table} + + +\begin{remark} + Es ergibt sich als Frequenzverhältnis (in Bezug auf C) + für gis (über E) $25:16$ + und für as $8:5$. Diese Töne sind hier also tatsächlich verschieden. +\end{remark} +\begin{remark} + Auf der Violine spielt man häufig trotzdem das gis höher als das as. +\end{remark} + +\todo{Skizze: Versuch der Konstruktion eines Tonvorrates mit sauberen Intervallen} + +Buchempfehlung: R. Duffin - ``How equal temperament ruined harmony - and why you should care''. + + + +\todo{Bild Flageoletttöne} + + +Da das leider nicht genau aufgeht definieren wir als atomares Intervall: + +\begin{definition}[Halbton] +\vocab{Halbton} $\coloneqq 2^{\frac{1}{12}}$. +Dieses Stimmungssystem nennt sich \vocab{EDO12} oder auch \vocab{12-TET}. +\end{definition} + +Dementsprechend ist ein Intervall mit $n$ Halbtonschritten definiert als $2^{\frac{n}{12}}$. + +Um kleinere Tonabstände beschreiben zu können definieren wir ferner: +\begin{definition}[Cent] + \vocab{Cent} $\coloneqq 2^{\frac{1}{1200}}$ +\end{definition} + +\begin{remark} + Ein Unterschied von $10ct.$ ist hörbar, im direkten Vergelcih konnten wir im Kurs auch Unterschiede von $3ct.$ hören. \todo{Recherchieren} + + \url{https://sevish.com/scaleworkshop/} +\end{remark} + + +% Tag 3 + + +\begin{definition}[Dur] +\vocab{Dur} bezeichnet sowohl eine Tonart, als auch den Akkord, der sich aus den Tönen der 1., 3. und 5. Stufe dieser Tonart ergibt. +%\begin{abc}[name=c-dur] +% X: 1 % start of header +% K: C % scale: C major +% "Text"c2 G4 | (3FED c4 G2 | +%\end{abc} + +\todo{C-Dur-Tonleiter} +Ein Dur-Akkord besteht aus einer großen und einer kleinen Terz, d.h. die Töne haben Frequenzverhältnisse von $1, \frac{5}{4}, \frac{5}{4} \cdot \frac{6}{5} = \frac{6}{4}$. +\end{definition} +\begin{definition}[Moll] + +\todo{C-Moll-Tonleiter} + +Ein Moll-Akkord besteht aus einer kleinen und einer großen Terz, d.h. die Töne haben Frequenzverhältnisse von $1, \frac{6}{5}, \frac{3}{2}$. +\end{definition} + +\begin{definition}[Septakkord] + Ein \vocab{Septakkord} fügt zusätzlich noch eine kleine Terz hinzu. + Als Septime ergibt sich ein Frequenzverhältnis von $\frac{9}{5}$, $\frac{7}{4}$ oder $\frac{16}{9}$, je nachdem von wo aus der siebte Ton gesucht wird. Für Dur wirkt dabei $\frac{7}{4}$ (Septime zum Grundton) sinnvoller (?)\footnote{Unter der Annahme, dass der Dur-Dreiklang durch die Obertonreihe motiviert ist.}, für Moll $\frac{9}{5}$. + +\end{definition} + +\begin{problem} +Wir suchen ein \vocab{equal temperament} / eine \vocab{gleichstufige Stimmung}, die die wichtigsten Intervalle möglichst gut approximiert. +\end{problem} + +Die ``Wichtigkeit'' eines Intervalls definieren wir dabei über die Größe des Nenners, d.h. die Intervalle sind in absteigender Wichtigkeit: Oktave, Quinte, Quarte, gr. Terz, \dots + +Falls sowohl Oktaven als auch Quinten übereinstimmen sollen, bräuchten wir $a,b \in \N_{>0}$, so dass $2^a = \left( \frac{3}{2} \right)^b$. Solche existieren offenbar nicht. + +Reelle Lösungen existieren, mit $\frac{b}{a} = \frac{\log 2}{\log \frac{3}{2}}$. Mit Hilfe von \vocab[Kettenbruch]{Kettenbrüchen} finden wir möglichst gute Näherungen. + + +\begin{notation}[Kettenbruchzerlegung] + Wir schreiben $[a;b,c,d,\ldots]$, $a \in \Z, b,c,d, \ldots \in \N_{+}$ für + \[ + a + \frac{1}{b + \frac{1}{c + \frac{1}{d + \ldots}}} + \] + +\end{notation} +Eine Näherung ist besser, je größer die erste weggelassene Zahl ist. Näherungen sich abwechselnd obere und untere Schranken. +\begin{example} + \[ + \sqrt{2} = [1; \overline{2}] = 1 + \frac{1}{2 + \frac{1}{2 + \frac{1}{2 + \frac{1}{2 + \ldots}}}} + \] + da $\sqrt{2} -1 = \frac{1}{\sqrt{2} +1} = \frac{1}{2 + (\sqrt{2} -1)}$. + + Als Näherung ergibt sich beispielsweise + \[ + [1;2,2,2] = 1+ \frac{1}{2+ \frac{1}{2 + \frac{1}{2}}} = \frac{17}{12} = 1,41\overline{6} + \] +\end{example} + +Die Kettenbruchentwicklung von $\frac{\log 2}{ \log \frac{3}{2}}$ ist $[1; 1,2,2,3,1,5,2,23, \ldots]$. +Näherungen sind: +\begin{itemize} + + + \item $[1;1] = 2$ + + Für die Quinte ergibt sich $2^{\frac{1}{2}} \approx 1,4142\ldots$ + \item $[1;1,2] = \frac{5}{3}$ (ein Halbtonschritt Abweichung, Pentatonik) + + + Quinte: $2^{\frac{5}{3}} \approx 1,5157\ldots$ + + Die große Terz wird durch eine Quarte approximiert, $2^{\frac{2}{5}} = 1,319\ldots$ + + \item $[1;1,2,2] = \frac{12}{7}$ (EDO12), + + Quinte: $2^{\frac{7}{12}} \approx 1,49840\ldots$ + + Gr. Terz: $2^{\frac{4}{12}} \approx 1,2599\ldots$ + + Kl. Septime: $2^{\frac{10}{12}} \approx 1,781\ldots$ + + + \item $[1;1,2,2,3] = \frac{41}{24}$ + + Quinte: $2^{\frac{24}{41}} \approx 1,50042\ldots$ + + Gr. Terz: $2^{\frac{13}{41}} \approx 1,2458\ldots$ + + + \item $[1;1,2,2,3,1] = \frac{53}{31}$ + Quinte: $2^{\frac{31}{53}} \approx 1,49994\ldots$ + + Gr. Terz: $2^{\frac{17}{53}} \approx 1,24898\ldots$ + + Kl. Septime: $2^{\frac{43}{53}} \approx 1,7548\ldots$ + + + \item $[1;1,2,2,3,1,5] = \frac{306}{179}$ + + Quinte: $2^{\frac{197}{306}} \approx 1,5000050\ldots$ + + \item $[1;1,2,2,3,1,5,2] = \frac{665}{389}$ + +\end{itemize} + +Das optimiert zunächst nur Oktaven und Quinten. Da Quarten der Rest einer Quinte zur Oktave sind, werden diese ebenfalls gut approximiert. + +Videos zu EDO53: \url{https://www.youtube.com/watch?v=ILcgB_kOWzM}, \url{https://www.youtube.com/watch?v=T5OvAjzWF2Y}, \url{https://www.youtube.com/watch?v=xVZy9GUeMqY} + +Eine große Terz lässt sich durch Quinten erreichen, indem man 4 quinten nach oben und 2 Oktaven nach unten geht. Als Frequenzverhältnis ergibt sich dann $\left( \frac{3}{2} \right)^4 \cdot \frac{1}{2^2} = \frac{81}{64}$. Die Abweichung $\frac{81}{80}$ zum Frequenzverhältnis $\frac{5}{4}$ wird als \vocab{syntonisches Komma} bezeichnet ($21,5ct.$). +In EDO53 entspricht ein Tonschritt ($22,6ct.$ ) in etwa dem syntonischen Komma. + +\begin{remark}[Bohlen-Pierce-Skala] + $3^{\frac{k}{13}}, k \in \Z$. Ein einzelner Schritt liegt zwischen einem Halbton und einem Ganzton. Faktor $3$ und Faktor $5$ werden gut approximiert, aber es gibt keine sinnvolle Oktaven. + + ``Ich will das jetzt nicht werten, aber ich würde es als experimentell bezeichnen.'' +\end{remark} +\begin{remark} + In der Musik aller Kulturen findet sich das Konzept einer Oktave. +\end{remark} diff --git a/inputs/uebersicht.tex b/inputs/uebersicht.tex index 47b4630..486271d 100644 --- a/inputs/uebersicht.tex +++ b/inputs/uebersicht.tex @@ -18,15 +18,15 @@ -\begin{figure} - \centering +%\begin{figure} +% \centering \begin{tikzcd} \text{Noten} \arrow{r}{}& \text{Instrumente}\arrow{d}{}\\ & \text{Schall}\arrow{d}{} \\ \text{Empfindung} \arrow{uu}{\text{komponieren}} & \text{Ohr}\arrow{l}{} \end{tikzcd} \label{musikkomdiag} -\end{figure} +%\end{figure} \paragraph{Theorie} @@ -135,110 +135,3 @@ Einige Aspekte werden in klassischer Musiktheorie nicht behandelt: Wir wollen im Folgenden Musiktheorie aus Mathematik und möglichst einfachen Axiomen aufzubauen. -\subsection{Intervalle} - -\begin{definition}[Schall] - \vocab{Schall} ist eine Funktion $f: \text{Zeit} \to \text{Druck}$ bzw. $f: \text{Zeit} \to \text{Luftbewegung}$ -\end{definition} - -\begin{definition}[Ton] - Ein \vocab{Ton} entspricht einer Schwingungsfrequenz. -\end{definition} - -\begin{observe} - Die Funktion $\sin(2\pi \cdot f \cdot t)$ ist periodisch mit $T_0$ genau dann, wenn $f = k \cdot \frac{1}{T_0}$ für ein $k \in \Z$. -\end{observe} - -\begin{definition}[Lineares Modell der MTT] - Jede Funktion mit Periode $T_0$ kann als Summe von Funktionen der Form $a \cdot \sin(2\pi \cdot f \cdot t), a\cdot \cos(2\pi\cdot f\cdot t)$, $f = k \cdot \frac{1}{T_0}, a \in \R, k \in \Z$ dargestellt werden. - - Für $k=1$ ergibt sich die \vocab{Grundfrequenz} $\frac{2\pi}{T}$, für $k \ge 2$ reden wir von \vocab[Oberton]{Obertönen}. -\end{definition} - - -\todo{Obertöne Saiteninstrument (Alle Obertöne), Flöte, Querflöte (Obertöne nur für $k \in 2\N + 1$)} - - - -\begin{table}[htpb] - \centering - \caption{Obertöne} - \label{tab:obertoene} - \begin{tabular}{clcccc} - $k$ & Ton & Frequenz-& Halb- & EDO12 & Reine Intervalle\\ - & & verhältnis & töne& &(Cent) \\ - \hline - $1$ & C \\ - & $\shortdownarrow$ Oktave & $2$ & $10$ & $2,000$ & $1200$\\ - $2$ & C \\ - & $\shortdownarrow$ Quinte & $\frac{3}{2}$ & $7$ & $1,4989$ & $702$\\ - $3$ & G \\ - &$\shortdownarrow$ Quarte & $\frac{4}{3}$ & $5$ & $1,3348$ & $498$\\ - $4$ & C\\ - &$\shortdownarrow$ gr. Terz & $\frac{5}{4}$ & $4$ & $1,2599$ & $386$\\ - $5$ & E \\ - &$\shortdownarrow$ kl. Terz & $\frac{6}{5}$ & $3$ & $1,1892$ & $316$\\ - $6$ & G\\ - &$\shortdownarrow$ & $\frac{7}{6}$ & $3$? & & $267$\\ - $7$ & B ? \\ - &$\shortdownarrow$ & $\frac{8}{7}$ & $2$? & & $231$\\ - $8$ & C\\ - &$\shortdownarrow$ gr. Sekunde & $\frac{9}{8}$ & $2$ & $1,1225$ & $204$\\ - $9$ & D \\ - &$\shortdownarrow$ gr. Sekunde & $\frac{10}{9}$ & 2 & $1,1225$& $182$\\ - $10$ & E \\ - - \end{tabular} -\end{table} - -\begin{observe} - $\frac{9}{8} = \frac{10}{9}$ ??? -\end{observe} - -Es ergeben sich außerdem -\begin{table}[htpb] - \centering - \caption{Intervalle} - \label{tab:intervale} - \begin{tabular}{lll} - Intervall & Verhältnis & Reines Intervall (Cent)\\ - gr. Sexte & $\frac{5}{3}$ &$884$\\ - kl. Sexte & $\frac{8}{5}$ &$814$\\ - kl. Septime & $\frac{9}{5} \approx \frac{7}{4}$ & $1018 \approx 969$\\ - Tritonus & $\sqrt{2}$ - \end{tabular} -\end{table} - - -\begin{remark} - Es ergibt sich als Frequenzverhältnis (in Bezug auf C) - für gis (über E) $25:16$ - und für as $8:5$. Diese Töne sind hier also tatsächlich verschieden. -\end{remark} - -\todo{Skizze: Versuch der Konstruktion eines Tonvorrates mit sauberen Intervallen} - -Buchempfehlung: R. Duffin - ``How equal temperament ruined harmony - and why you should care''. - - - -\todo{Bild Flageoletttöne} - - -Da das leider nicht genau aufgeht definieren wir als atomares Intervall: - -\begin{definition}[Halbton] -\vocab{Halbton} $\coloneqq 2^{\frac{1}{12}}$. -Dieses Stimmungssystem nennt sich \vocab{EDO12} oder auch \vocab{12-TET}. -\end{definition} - -Dementsprechend ist ein Intervall mit $n$ Halbtonschritten definiert als $2^{\frac{n}{12}}$. - -Um kleinere Tonabstände beschreiben zu können definieren wir ferner: -\begin{definition}[Cent] - \vocab{Cent} $\coloneqq 2^{\frac{1}{1200}}$ -\end{definition} - -\begin{remark} - Die Wahrnehmungsschwelle liegt bei \todo{Recherchieren} -\end{remark} diff --git a/musiktheorie.tex b/musiktheorie.tex index b9f9b17..87d43a5 100644 --- a/musiktheorie.tex +++ b/musiktheorie.tex @@ -5,6 +5,7 @@ \author{} \usepackage{musiktheorie} +%\usepackage{abc/abc} \begin{document} @@ -17,6 +18,7 @@ \cleardoublepage \input{inputs/uebersicht.tex} +\input{inputs/intervalle.tex} \end{document} diff --git a/skizzen.xopp b/skizzen.xopp index 2cbc8d1..64e79a4 100644 Binary files a/skizzen.xopp and b/skizzen.xopp differ