利用者:Dummy index/ジェネレーター読み替え操作

提供:Xenharmonic Wiki
ナビゲーションに移動 検索に移動

マッピング行列の標準形はレギュラーテンペラメントを一意に識別する方法として重要だが、それ以外の形式が不要なわけではない。同じテンパーされた音程を生成するのであっても異なる表現を取りたい人もいるからである。いくつかのそういう形式が存在していて、positive generator form、equave-reduced generator form、minimal-generator formなどである。

本項目では、標準形としてdefactoredエルミート標準形を採用していることにする。二つのマッピングが等価である、つまり標準形が一致しゆえに同じテンペラメントを表している場合、対応するジェネレーター基底も等価である。これはジェネレーターのサイズが一致しているという意味ではなく、それぞれのジェネレーターの組が基底となって最終的に同じピッチ集合を生成するということである。

例として、5リミットミーントーンの標準形は[1 1 0] 0 1 4]であり、この形の場合は2つのジェネレーターは大まかにオクターブ完全5度となる(なぜマッピングを見ただけでそれがわかるのか?→マッピングの1列目を見れば 2/1 を最初のジェネレーター1個で表すことが読み取れ、またまともなチューニングアルゴリズムなら最初のジェネレーターを 2400 セントとかではなくだいたい 1200 セントにチューニングするはずである。2個目は以下略)。しかしオクターブと完全5度の組み合わせでできるピッチ集合はオクターブと完全4度の組み合わせでも問題なく生成できる。具体的には、完全5度1個で到達できるピッチにはオクターブ上がって完全4度下がることによっても到達できるからである。なので5リミットミーントーンをオクターブと完全4度で組み立てるというシチュエーションの下では、マッピングを[1 2 4] 0 -1 -4]と書けるとよい。

さらなる例として、ジェネレーターがなるべく素数音程になるようにしたいケースがあり、ミーントーンのマッピングをジェネレーターがオクターブと完全12度(トリターブ)の組み合わせになるように書けるとよい。完全5度1個で到達できるピッチには完全12度上がってオクターブ下がることによっても到達できるのでこれも問題なく行え、マッピングとして[1 0 -4] 0 1 4]が得られる。

example meantone mapping forms
[octave-count fifth-count [1 1 0] 0 1 4]
[octave-count fourth-count [1 2 4] 0 -1 -4]
[octave-count tritave-count [1 0 -4] 0 1 4]

これら3つのマッピングの形式が相互に関係していそうで、実際にそうなのだが、正確にどういうことなのかはぱっと見よくわからない。本項目の目的はこれらを相互に変換する操作を実演し、操作がこれらの関係をどう説明するかを理解することである。

ジェネレーターを変形させる操作

用いるのは行に関する行列の基本変形のうち行列式の絶対値が変化しないものである。行列式の絶対値が変化する操作により得られるマッピングは等価なものとはみなされない。任意の行を1より大きい整数倍するとマッピングをenfactorすることになり、ある行の最大公約数が1より大きくて割ることができる場合マッピングがすでにenfactoredだったことが判明する。

操作その1: あるジェネレーターをほかのあるジェネレーターのサイズ分変化させる

マッピング [math]\displaystyle{ M }[/math] の各行を [math]\displaystyle{ 𝒎_1, 𝒎_2 ... 𝒎_r }[/math]、それぞれに対応するジェネレーターを [math]\displaystyle{ g_1, g_2 ... g_r }[/math] と書くことにして、[math]\displaystyle{ g_a }[/math][math]\displaystyle{ g_b }[/math] 分だけ増加させたい場合、[math]\displaystyle{ 𝒎_b }[/math][math]\displaystyle{ 𝒎_b' = 𝒎_b - 𝒎_a }[/math] で置き換える。

先ほどの最後の例(翻訳途中)

マッピングの書き換えた行(1行目)とサイズが変化するジェネレーター(2番目)が対応しないことを不思議に感じるかもしれない。2次元空間で位置を特定するのにそれぞれのジェネレーターが必要であることを思い出してほしい。この操作でマッピングの1行目が担っていた情報はほかの行に漏れていない。マッピングが等価であるためには、少なくとも1番目のジェネレーターのサイズを変更できないことがわかる。

等価なマッピングであることが表現できるように等号で書くと、

[math]\displaystyle{ \begin{align} \left(\begin{array}{c} \mathrm{octave} \\ \mathrm{fifth} \end{array} \right) &= \left(\begin{array}{ccc} 1 & 1 & 0 \\ 0 & 1 & 4 \end{array} \right) \left( \begin{array}{c} p_2 \\ p_3 \\ p_5 \end{array} \right) \\ &= \left(\begin{array}{cc} 1 & 1 \\ 0 & 1 \end{array} \right) \left(\begin{array}{cc} 1 & -1 \\ 0 & 1 \end{array} \right) \left(\begin{array}{ccc} 1 & 1 & 0 \\ 0 & 1 & 4 \end{array} \right) \left( \begin{array}{c} p_2 \\ p_3 \\ p_5 \end{array} \right) \\ &= \left(\begin{array}{cc} 1 & 1 \\ 0 & 1 \end{array} \right) \left(\begin{array}{ccc} 1 & 0 & -4 \\ 0 & 1 & 4 \end{array} \right) \left( \begin{array}{c} p_2 \\ p_3 \\ p_5 \end{array} \right) \\ \end{align} }[/math]

右辺の最初の(1 1; 0 1)はgenerator tuning mapに作用することでジェネレーターのサイズを変換する。

[math]\displaystyle{ \begin{align} \left( \mathrm{octavesize} \ \mathrm{fifthsize} \right) \left(\begin{array}{cc} 1 & 1 \\ 0 & 1 \end{array} \right) &= \left( \mathrm{octavesize} \ \mathrm{tritavesize} \right) \end{align} }[/math]