ミュージックパッケージ

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

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

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

音階の作成

MusicScaleは定義済みのインターバルのリスト,またはセントで測定されたインターバルとして解釈される任意の数値のリストからピッチの列を作成する.

パッケージをロードする.
In[1]:=
Click for copyable input
JustMajorはインターバルのリストである.次の式を実行すると,440 Hzで始まり,3秒間続く純正律の長音階が演奏される.
In[2]:=
Click for copyable input
Out[2]=
インターバルのリストは昇順や降順でなくても構わない.ここでは周波数880 Hzで始まっている.
In[3]:=
Click for copyable input
Out[3]=

セントでの定義済みのインターバルリスト

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

ヘルツとセント間の変換

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

次の式は周波数のリストをヘルツで取り,1つの周波数から次の周波数までの距離をセントで返す.
In[4]:=
Click for copyable input
Out[4]=
次は440Hzで始まる1オクターブの平均率の半音階の周波数リストである.
In[5]:=
Click for copyable input
Out[5]=
の隣り合う2つの周波数の組の距離が100セントであることが分かる.
In[6]:=
Click for copyable input
Out[6]=
次の式はデフォルトの周波数440 Hzより600セント高い(音楽用語で言い換えるとピッチA4より半オクターブ高い)周波数を返す.
In[7]:=
Click for copyable input
Out[7]=
次は880 Hzから1760 Hzの間の平均率の半音階の周波数すべてのリストである.
In[8]:=
Click for copyable input
Out[8]=
次は660 Hzで始まる36音のオクターブの周波数である.
In[9]:=
Click for copyable input
Out[9]=

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

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

Aflat4Eflat5の差は平均率で700セントである.
In[10]:=
Click for copyable input
Out[10]=
次は完全五度である.
In[11]:=
Click for copyable input
Out[11]=
New to Mathematica? Find your learning path »
Have a question? Ask support »