#てぃみ式コードエディタ
投稿日:2024-10-09
更新日:2024-10-09
ジャンル:ツール
リンク
>>>#てぃみ式 コードエディタ<<<
- ソース(pagesフォルダ:ページの表示など、libフォルダ:計算など色々)
- サンプルデータ(sample.json:普通のサンプル、169.json:Sazupinyaviの動画に使ったデータ、動画生成用スクリプト付き)
概要
#てぃみ式の理論をもとにコードのデータを入力して分析したり音を鳴らしたりできるツール※「#てぃみ式」:超雑にいうと「①スケール(キー・変位)と②ベースと③和音の形(135とか)が決まればコードの構成が決まるよ!」という独自の理論
できること
- コードのデータの作成(json形式)
- 作成したデータの保存・読み込み
- コードの再生
- MIDIの生成
- 分析情報の表示
画面説明
上部
- ①初期BPM:
最初~BPM変更に値が入るまでの間のBPM - ②初期キー:
最初~キー変更に値が入るまでの間のキー(Maj基準) - ③デフォルト拍数:
コードを追加したり読み込むデータに拍数がない場合に入る拍数 - ④ファイル名:
jsonとmidiを保存するときのファイル名 - ⑤JSONダウンロード:
入力したデータをJSON形式で保存 - ⑥JSON読み込み:
⑤で保存したデータを読み込み - ⑦MIDI作成:
入力したデータを基にMIDIを生成して保存 - ⑧全て再生:
開始位置から順番にコードを再生(再生中に編集しても再生開始時点のデータのまま再生される) - ⑨開始位置:
⑧で再生を始めるコードのインデックス - ⑩コード編集部分:
詳しくは下で
コード編集部分
- ①再生ボタン:
コード単体で再生 - ②インデックス:
何個目のコードか - ③ベース:
コードのベース音の度数 - ④和音:
ベース音を1として何度の音が和音に含まれるか - ⑤和音(ルート音基準):
④でルート音(1)を1とした場合の表記 - ⑥構成音:
コードの実際の構成音(ベース音から順番に) - ⑦主機能:
和音の値から導かれる第一主機能/第二主機能(onコードと表記似てるけど違うので注意)
背景色はそのコードのキーによって変わる
→計算方法 - ⑧前のコードとの繋がり:
前のコードの機能から半音三度圏的にどの程度移動しているか
(d:3度下方向、u:3度上方向、数字は0~12)
→計算方法 - ⑨変位:
スケールに含まれる変位(臨時の#♭) - ⑩音程レベル:
スケールに含まれる五度圏的に最も離れた音程
(β→増5度、γ→増2度、δ→増6度…) - ⑪キー変更:
転調する場合はそのキーを入力 - ⑫拍数:
そのコードが持続する拍数 - ⑬メモ:
ただのメモ - ⑭BPM変更:
BPMを変更する場合はそのBPMを入力(変更しない場合は0) - ⑮上に追加
- ⑯削除
- ⑰追加:
末尾に新しいコードを追加
和音選択
- ①音数:
和音に含まれる音の数を選択 - ②基本和音のベースの位置:
その列の和音を基本和音(行の一番左の和音)の転回形と見たときに基本和音のベースが何度に相当するか - ③和音選択ボタン:
クリックすると和音が決定される
(緑:基本和音・準基本和音、赤:現在入力されている和音、青:その他) - ④主機能:
第一主機能/第二主機能(ベース音を1とする)
変位選択
1~7の各音について#, ♮, ♭から選ぶ
計算方法
主機能
- 和音に含まれる各音についてポイントを計算
- ベース音 → +2
- 3度上の音を含む → +2
- 5度上の音を含む → +3
- 7度上の音を含む → +1
- 最も高いポイントの音(度数)が第一主機能(1つ以上存在する)
- 最も高いポイント-1の音が第二主機能(ない場合もある)
- 表記方法は「(第一カンマ区切り)(第二があれば『/』)(第二カンマ区切り)」
コードの繋がり
- 今のコードとその1つ前のコードの主機能を計算
- 「1つ前のコードに含まれる主機能のうち1つ → 今のコードに含まれる主機能のうち1つ」全パターンについて半音三度圏的に何個移動したかを数える
- 比重をかけて移動数の平均を計算
- 比重:
両方第一 → ×1、第一と第二 → ×1/2、両方第二 → ×1/4 - 平均の計算方法:
値を円状に並べてその重心をとる → 重心を通る角度を求める → その角度に相当する値が平均値 - 例1:1→5でu(三度上)方向に7移動した場合 → 7/24の位置に配置する
- 例2:4→2でd(三度下)方向に3移動した場合 → -3/24の位置に配置する
半音三度圏
未実装機能
今のところやる気はない
- N.C.(無音)
- 選択範囲の再生
- MIDI解析(無理)
- etc.