(0, 2)→(0+(2*12))→24など。
成果物
Python.MusicTheory.Pitch.NoteNumber.201709171322
前回まで
- ClassPropertyを他のclassのclassmethodから参照するとプロパティとして見てくれない
- メタクラスを継承してsetattrによる再代入禁止とsys.modulesへのクラスインスタンス代入を共通化した
- readonlyな定数を音度、変化記号、ピッチクラスに実装した
- 音程から半音数を取得する
- Python音楽理論ライブラリの細かい点を修正した
- 音名から半音数(ピッチクラス)を取得する
今回
- ピッチクラスとオクターブからMIDIノート番号を取得する。
他、以下2点。
- PitchClass.Validate()の実装
- PitchClassの公開クラス変数名を一括変更
テストもした。
テストコード | 項目数 |
---|---|
TestPitchClass.py | 13 |
TestAccidental.py | 9 |
TestDegree.py | 13 |
TestInterval.py | 16 |
TestKey.py | 7 |
TestNoteNumber.py | 11 |
計69項目。
所感
MIDIノート番号は単なる0〜127の値。わざわざクラスを作る必要性があるのか微妙な気がする。