ミュージックパッケージ

Music`で定義されている関数を使うと,セントとヘルツ間の変換が可能になり,一般の調律システムの1つ,またはユーザ指定の調律システムの音階を聴くことができる.さらに,平均率の音高または周波数に相当するもの一式も定義されている.

Wolfram言語のサウンド生成を伴うグラフィックス表示がプラットフォームによって異なるため,このドキュメントの例を実行しても,コンピュータのディスプレイには例題と同じ結果は表示されないかもしれない.

MusicScale[ilist,freq,dur]freq ヘルツで始まり,dur 秒間続くセントによる間隔のリスト ilist に対応する音高の列であるSoundオブジェクトを作成する

音階の作成

MusicScaleは定義済みの音程のリスト,またはセントで測定された音程として解釈される任意の数値のリストから音高の列を作成する.

パッケージをロードする.
JustMajorは音程のリストである.次の式を実行すると,440 Hzで始まり,3秒間続く純正律の長音階が演奏される.
音程のリストは昇順や降順でなくても構わない.ここでは周波数880 Hzで始まっている.

セントでの定義済みの音程リスト

HertzToCents[flist]ヘルツによる周波数のリストをセントでの間隔のリストに変換する
CentsToHertz[ilist]セントによる間隔のリストを440ヘルツから始まるヘルツでの周波数のリストに変換する
CentsToHertz[ilist,f]セントによる間隔のリストを f ヘルツの周波数で始まるヘルツでの周波数のリストに変換する

ヘルツとセント間の変換

関数HertzToCentsおよびCentsToHertzは,リストを別のタイプのリストに変換する.

次の式は周波数のリストをヘルツで取り,1つの周波数から次の周波数までの距離をセントで返す.
次は440Hzで始まる1オクターブの平均率の半音階の周波数リストである.
alistの隣り合う2つの周波数の組の距離が100セントであることが分かる.
次の式はデフォルトの周波数440 Hzより600セント高い(音楽用語で言い換えると音高A4より半オクターブ高い)周波数を返す.
次は880 Hzから1760 Hzの間の平均率の半音階の周波数すべてのリストである.
次は660 Hzで始まる36音のオクターブの周波数である.

Music`パッケージは平均率の音高または周波数に相当するリストを提供する.音高はピッチクラス/オクターブ表記で指定する.ピッチクラスはAからGまでの文字で,オクターブが0から7までの整数で与えられている.フラット音およびシャープ音の名前はBflatGSharp等という風に書かれる.

例えばC-flatはB,E-sharpはFと等しいというように,ほとんどの半音階ではそれに相当するものが使用可能である.ダブルフラットおよびダブルシャープは定義されていない.

Aflat4Eflat5の差は平均率で700セントである.
次は完全五度である.