音名を各国の表記で取得する
C#
→嬰ハ
のように取得する。再代入禁止のdict, OrderedDictも作成した。
成果物
Python.MusicTheory.Pitch.Key.i18n.201709181544
gettextモジュールや、Babelライブラリは使わなかった。
前回まで
- ClassPropertyを他のclassのclassmethodから参照するとプロパティとして見てくれない
- メタクラスを継承してsetattrによる再代入禁止とsys.modulesへのクラスインスタンス代入を共通化した
- readonlyな定数を音度、変化記号、ピッチクラスに実装した
- 音程から半音数を取得する
- Python音楽理論ライブラリの細かい点を修正した
- 音名から半音数(ピッチクラス)を取得する
- ピッチクラスとオクターブからMIDIノート番号を取得する
- MIDIノート名からMIDIノート番号を取得する
- 変化記号を各国の表記で取得する
今回
7カ国(英語、日本語、ドイツ語、イタリア語、フランス語、スペイン語、中国語)。
https://ja.wikipedia.org/wiki/%E9%9F%B3%E5%90%8D%E3%83%BB%E9%9A%8E%E5%90%8D%E8%A1%A8%E8%A8%98
テストコード | 項目数 |
---|---|
TestPitchClass.py | 13 |
TestAccidental.py | 16 |
TestDegree.py | 13 |
TestInterval.py | 16 |
TestKey.py | 18 |
TestNoteNumber.py | 11 |
TestNoteName.py | 12 |
計99項目。
所感
次は周波数への変換。その算出には、基音、音律、音階、調、が必要になる。難易度がはね上がる。