summaryrefslogtreecommitdiff
path: root/macros/musictex/add-ons/harmonics.tex
blob: f3d738c5df7cd8af17de1497913df71a38eb47cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
%
% Harmonics in MusicTeX
% =====================
%
%\input musicnft
%\input musictex
%\input musicsty
\input musicvbm
\def\musictex{Music\TeX}%
% ________________________________________________________________________
%
% Harmonic quaver duplets:-
%                   _____                   2   3
%           ypairu  |   |           ypairl  |   |
%                   |   |                   |   |
%                   2   3                   -----
%
\def\ypairu#1#2#3% #1 is beam number, #2 and #3 are notes
{\Ibu{#1}{#2}{#3}1\yh{#1}{#2}\tbu{#1}\yh{#1}{#3}}\relax
%
\def\ypairl#1#2#3%  #1 is beam number, #2 and #3 are notes
{\Ibl{#1}{#2}{#3}1\yb{#1}{#2}\tbl{#1}\yb{#1}{#3}}\relax
%________________________________________________________________________
\centerline{\enorme Harmonic notes in \musictex}
\bigskip
\bigskip
\def\wbarno{}%
\def\nbinstruments{1}%
\cleftoksi={{0}{0}{0}{0}}%
\staffbotmarg=12\Interligne%
%
% Note symbols by name
%
\def\bslash{{\tt\char'134}}%
\def\mcra#1{\zcharnote{13}{\hbox to 1.3\Interligne{\hss\tt\bslash #1\hss}}}%
\def\mcrb#1{\kern 10pt\mcra {#1}\kern -10pt}
%
\parindent 0mm%
\debutextrait\normal\temps\NOTEs
\qsk\qsk\hsk%
\mcra{zd\bslash sk}\zd i\sk\qsk\mcra{du}\du i\qsk
\mcra{dup}\dup i\qsk\mcra{dupp}\dupp i\qsk
\mcra{duppp}\duppp i\qsk\mcra{dl}\dl i\qsk
\mcra{dlp}\dlp i\qsk\mcra{dlpp}\dlpp i\qsk
\mcra{dlppp}\dlppp i\enotes\finextrait
\bigskip
%
\parindent 0mm%
\debutextrait\normal\temps\NOTEs
\qsk\qsk\hsk%
\mcra{zy\bslash sk}\zy i\sk\qsk\mcra{yu}\yu i\qsk
\mcra{yup}\yup i\qsk\mcra{yupp}\yupp i\qsk
\mcra{yuppp}\yuppp i\qsk\mcra{yl}\yl i\qsk
\mcra{ylp}\ylp i\qsk\mcra{ylpp}\ylpp i\qsk
\mcra{ylppp}\ylppp i\enotes\finextrait
%
\parindent 0mm%
\debutextrait\normal\temps\NOTEs
\qsk\qsk\hsk%
\mcra{ycu}\ycu i\qsk\mcra{yccu}\yccu i\qsk
\mcra{ycccu}\ycccu i\qsk\mcra{yccccu}\yccccu i\qsk
\mcra{ycl}\ycl i\qsk\mcra{yccl}\yccl i\qsk
\mcra{ycccl}\ycccl i\qsk\mcra{yccccl}\yccccl i\qsk
\enotes\finextrait
%
%
\parindent 0mm%
\debutextrait\normal\temps\NOTes
\qsk\qsk\hsk%
\mcrb{ypairu1cf}\ypairu1cf\sk%
\mcrb{ypairu1eg}\ypairu1eg\sk%
\mcrb{ypairl1jm}\ypairl1jm\sk%
\mcrb{ypairl1ln}\ypairl1ln\sk%
\enotes
\finextrait
%
% Guitar Harmonics
%
\def\guitar#1#2#3% 1=note, 2=string, 3=fret
{\zd #1\raise-12pt\hbox{\guitarsym#2#3}\sk}
\def\lguitar#1#2#3% 1=note, 2=string, 3=fret
{\raise-12pt\hbox{\guitarsym#2#3}\hqsk\zd #1\qsk\sk}
%
\centerline{\moyen Guitar harmonics}
\medskip
\parindent 0mm%
%
%     ---
%    | A |  B
%     ---
%
% A is the string number (Counting from treble E to bass E)
% E string = 1, B = 2, G = 3, D = 4, A = 5, E = 6
%
% B is the fret number, counting from the nut (or the capot if one is used)
% Thus 0 indicates an open string, 2 indicates fret 2 etc.
%
\font\eightrm=cmr8
%
\edef\catcodeat{\the\catcode`\@}\catcode`\@=11
%
\def\guitarsym#1#2{%
% Modified version of \boxtext lifted from gentle.tex - A gentle intro to TeX
\eightrm\setbox\strutbox=\hbox{\vrule height5.75pt depth0.75pt width\z@}%
\hbox{\lower 1pt \hbox{\vbox{\hrule%
\hbox{\strut \vrule #1\vrule}\hrule}}\hskip 0.5pt#2}}%
%
\catcode`\@=\catcodeat % Reset catcode of '@' to entry value
%
\def\sy#1#2% Inserts #2 as text #1 points to the right of the cursor
{\kern#1pt\charnote0{#2}\kern-#1pt}%
%
\def\gs#1#2{\sy{-0.8}{\guitarsym{#1}{#2}}}\relax % One string
%
\debutextrait\normal\temps\NOtes\qsk%
\lguitar L6{12}\lguitar a5{12}\lguitar b6{7}\lguitar d4{12}%
\guitar e5{7}\guitar g3{12}\guitar h4{7}\guitar i2{12}%
\guitar k3{7}\guitar l1{12}\sh m\guitar m2{7}\guitar n3{5}%
\guitar p1{7}\guitar s1{5}\enotes\finextrait
\bye