Yggdrasil Seeds : Software Works : Temperor for Win32
PV[990125]

Temperor for Win32 癸未弥生版



パラメータをいぢくって音律を自動生成するものです。
曲それぞれに特化した音律を自作しようという目的のために作りました。さらには、転調するごとに音律を変えるといったDTMならではの破天荒な使い方も可能になると思います。
結果はSMF(Standard MIDI File)用のダンプリストやDualMusik用のMMLでの表示もできます。
簡素なものであるため、複雑な計算が必要なほど高度なものはできません。
…つか、そこまでやるなら自前で計算した方がよさげ。

利用規約: 当ソフトウェアは便宜上シェアウェアと称していますが、試用期限なし,機能制限なし,支払催促なしという方針でいるため、存分に使って頂いて構いません。
代金につきましては、"おひねり"程度のつもりでいます。強制はしませんが、もし当ソフトウェアにそれ相応の価値を見出して戴けた暁には、"おひねり"として御支払くださると有り難いです。
金額は1ライセンス(形だけ^^;)につき500円(払込手数料別)で、支払い方法としてVectorのシェアレジを利用しております。
シェアレジ: 作品情報
[Download](322Kbyte)

動作環境

Win98SE/2000/XPで動作を確認しています。
当然、このあたりのOSがまともに動くことが必須。
あまり変なことはやっていないので95/NT4あたりでも動くとは思う、たぶん。


インストール

TEMPEROR.EXE を任意の場所に置いとくだけ。
単体で動くので、どこでもOK。


アンインストール

ゴミ箱ぽん、で跡形もなくなります。


使用法

TEMPEROR.EXE を起動あるのみ。
音律データファイル(*.TPR)は TEMPEROR.EXE のアイコンにドロップするか、関連付けておくことで直接開くこともできます。

* メイン

左側の十二芒星(らしき図形,以下同)は各音の純正度相関図で、5度,長3度,短3度の関係にあるものにラインが引かれています。また、十二芒星の周囲にある数値は各半音の音程差をセント単位で表したもので、12平均率での半音差が100に相当します。
右側の数値表は5度(5th),長3度(3rd major),短3度(3rd minor)それぞれの非純正度を表すもので、絶対値にして0が純正,100が12平均率での非純正度に相当します。また、数値が正であれば純正の周波数差より広く、負であれば狭いことを表します。
十二芒星のラインと数値表の項目は非純正度により色が変わりますので目安にしてください。
純正またはそれに近い(0%)
12平均率より純正に近い(1~89%)
12平均率に近い(90~109%)
12平均率より純正に遠い(110~399%)
極端な非純正(400%~)
十二芒星の各頂点にあるラジオボタンは基準とする音です。ここを左クリックで選ぶと12平均率からの音程差が必ず±0セントとなります。
また、ラジオボタンを右クリックすると音名が赤くなり、もう一度右クリックすると白に戻ります。赤くなっているときはGanassi,Malcolmで使われる半音決定法(のつもり)を使用します。ただし、この機能を有効とするためにはいくつかの制限があります。

これらの条件に当てはまらない場合、結果は不定となります。

数値表の各項目にあるチェックボックスは純正にする音を決めるものです。
左クリックで選ぶと対象2音がリンクされ、純正にすべく計算されます。
ただし、ここでチェックしたものが必ず純正になるわけではありません。ここでの設定に矛盾が生じた場合、結果は不定となります。例えば、全ての5度にチェックした場合は、どこか1箇所が計算が合わなくなり、その部分は設定を無視して非純正となります。
(12箇所全て純正にしようとすると1.512≒129.746倍の周波数差が必要だが、実際の周波数差は7オクターヴ=27=128倍しかない)

チェックボックスを右クリックで選ぶと灰色表示となります。これは対象の2音をカスタマイズ可能な周波数差でリンクする特殊な設定です。この周波数差は数値の右にあるボタンを押すと表示されるウィンドウで設定できます。

* 周波数差カスタマイズ

Direct 以外のタイプではスライダを動かしてセント単位で微調整します。
基準値や"セント"の単位値はタイプによって変わります。
  • Pure
    5th純正5度が基準,純正5度=700セントとする
    3rd major純正長3度が基準,純正長3度=400セントとする
    3rd minor純正短3度が基準,純正短3度=300セントとする
  • Meantone
    5thミーントーン5度が基準,純正長3度=400セントとする
    3rd major純正長3度が基準,純正長3度=400セントとする
    3rd minor(ミーントーン5度-純正長3度)が基準,純正長3度=400セントとする
  • Well Temperament
    5thウェル・テンペラメント(以下WT)5度が基準,WT5度=700セントとする
    3rd major(WT5度)4/4が基準,WT5度=700セントとする
    3rd minor4/(WT5度)3が基準,WT5度=700セントとする
  • Salinas
    5thサリナス5度が基準,純正短3度=300セントとする
    3rd major(サリナス5度-純正短3度)が基準,純正短3度=300セントとする
    3rd minor純正短3度が基準,純正短3度=300セントとする
  • Equal12
    5th12平均5度が基準,12平均5度=700セントとする
    3rd major12平均長3度が基準,12平均長3度=400セントとする
    3rd minor12平均短3度が基準,12平均短3度=300セントとする
Direct タイプではスライダをつかわず直接数値を書き入れます。
有効範囲は以下の通りです。
5th26/12~28/12
3rd major23/12~25/12
3rd minor22/12~24/12

設定事項は以上です。
あとはメインメニューで Result を選ぶと結果が表示されます。

なお、未確定の部分は自動的に5度経路で補間されます。例えば、全て未設定であれば自動的に12平均律となり、CEだけを純正にするとCG,GD,DA,AEが自動的にミーントーン5度となります。
ただし、2本以上の未リンク経路が存在する場合の結果は不定となります。
よさげなアルゴリズムがあったら変えるかも。

* Preset メニュー



既存の音律(を模倣した)設定でリセットします。
Temperorのインチキアルゴリズムで再計算したものが使われる故、一部本物の音律と異なるものがありますが気にするべからず。おまけ程度のものだし(ぉ
(あくまでもメインは自作の音律を作ることなんです^^;)

Type ボックスで種類, Key ボックスでシフト量を決めてください。
テクストボックスには選択した音律の音程差相関図が表示されます。
凡例は↓のような感じ。

C~B音名
c~b近隣の音を決定するために仮決めされたものであることを示す
(C)~(B)他の位置で既に決定されていることを示す
--純正5度
~~ミーントーン5度
^^ウェル・テンペラメント5度
__サリナス5度
==12平均5度
..未確定5度
/純正長3度
%12平均長3度
|純正短3度
:Ganassi,Malcolm増1度

* File メニュー

お約束の Open(データ読みだし),Save(データ保存),Quit(Temperor終了) のトリオ。

* Result メニュー

設定をもとに算出した音律を何種類かのデータフォーマットでテクストボックスに表示します。

Credit

[DualMusik用MML]
;Powerd by Temperor (C)2003 UGN:Miccougar <yugen@mx1.freemail.ne.jp>
[SMFイヴェントダンプリスト]
FF 01 43 50 6F 77 65 72 64 20 62 79 20 54 65 6D 70 65 72 6F 72 20 28 43 29 32 30 30 33 20 55 47 4E 3A 4D 69 63 63 6F 75 67 61 72 20 3C 79 75 67 65 6E 40 6D 78 31 2E 66 72 65 65 6D 61 69 6C 2E 6E 65 2E 6A 70 3E
Temperorのクレジット表記です。
Temperorで作った音律を組み込んだシーケンスデータに埋め込むために用意しましたが、強制ではありません。"埋め込んでくれると嬉しいな"程度で。
レイアウトが気に入らなかったら適当に編集しても構いません。
ただし、Temperorの著作権表示として虚偽の情報を含んだ場合は自動的に著作権侵害と見なされることになるので悪しからず。
SysEx for GS

[DualMusik用MML](SysEx)
$18{40************************}
[DualMusik用MML](スラー用設定)
=256,*** =257,*** =258,*** =259,*** =260,*** =261,***
=262,*** =263,*** =264,*** =265,*** =266,*** =267,***
[SMFイヴェントダンプリスト](各行がMIDIチャネル10,1~9,11~16の順に対応)
F0 15 41 10 42 12 40 10 40 ** ** ** ** ** ** ** ** ** ** ** ** ** F7
F0 15 41 10 42 12 40 11 40 ** ** ** ** ** ** ** ** ** ** ** ** ** F7
F0 15 41 10 42 12 40 1F 40 ** ** ** ** ** ** ** ** ** ** ** ** ** F7
GSフォーマットのSysExデータです。
全ての設定が必要とは限りませんので、適当に取捨選択しといてください。
SysEx for XG

[DualMusik用MML](SysEx)
$37{41**************************}
[DualMusik用MML](スラー用設定)
=256,*** =257,*** =258,*** =259,*** =260,*** =261,***
=262,*** =263,*** =264,*** =265,*** =266,*** =267,***
[SMFイヴェントダンプリスト](各行がMIDIチャネル1~16の順に対応)
F0 13 43 10 4C 08 00 41 ** ** ** ** ** ** ** ** ** ** ** ** F7
F0 13 43 10 4C 08 00 42 ** ** ** ** ** ** ** ** ** ** ** ** F7
F0 13 43 10 4C 08 00 4F ** ** ** ** ** ** ** ** ** ** ** ** F7
XGフォーマットのSysExデータ(のつもり)です。
手元にXG環境がなくて動作チェックをしていませんので誰か動作報告キボンヌ。
全ての設定が必要とは限りませんので、適当に取捨選択しといてください。
SysEx for nonMIDI
?134{**************************************************}
DualMusikのMMLで、非MIDIディヴァイス用のデータです。
Multiplyer
C : x*.*********(***.******)
C#: x*.*********(***.******)
B : x*.*********(***.******)
C~Bそれぞれの音について、基準音からの周波数倍率と12平均率からの音程差(セント単位)が表示されます。
これについては特に決まった使い方はありません。SMFやDualMusik以外で使いたいときのための汎用的なデータです。

注意事項・問題点


ヴァージョンアップ履歴

癸未弥生版
  • Ganassi,Malcolm用の半音決定法を拡張
    最も近い確定点から補間するようにした
  • 半音毎の音程差表示を追加
  • Preset選択時にセーブ確認を入れた
  • Preset実行後、ファイル名を消去するようにした
  • セーブ確認メッセージが仮データのままだったので修正(痛
癸未如月版
  • Meantone 5th設定を廃止し、カスタム周波数差設定として再実装
  • Ganassi,Malcolm用の半音決定法を導入(計算がかなり怪しいけど)
  • 上記2つにより、プリセット音律の胡散臭さをある程度改善
  • エディットデータのセーブ/ロード機能搭載
  • 各種サブウィンドウにてEnter,Escキー操作に対応
  • Tabキーによるコントロール変更順序を改善
  • 非純正度を示す色設定を変更
  • その他、細かいバグ修正
試作版
  • 作った

激しく参考

MIDIによる調律法聴きくらべのページ