Wolfram ResearchPRODUCTSPURCHASEFOR USERSCOMPANYOUR SITES
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.

Documentation / Mathematica / Mathematicaブック / Mathematicaの実践的な紹介 / グラフィックスとサウンド /

1.9.12 サウンド

Mathematicaを使えばグラフィックスだけでなくサウンドも作れる(一部のコンピュータではシステム的に制約がありこの機能がサポートされない場合がある).Mathematicaでは,グラフィックスとサウンドはほとんど同じように扱われる.

例えば,グラフィックスでは,Plot[f, x, xmin, xmax]により関数fをプロットする.これに対して,サウンドでは,Play[f, t, 0, tmax]により関数fを「プレイ」する.Playでは,関数が音の波形の定義に使われる.また,関数の値は,時間の関数である発生音の振幅を与える.

関数のプレイ

システム的に機能がサポートされていれば,この入力をすると周波数440Hzのピュアトーンが1秒間発生する.

In[1]:= Play[Sin[2Pi 440 t], {t, 0, 1}]

Out[1]= -Sound-

サウンドプレイするものはどんな波形の音でもよい.例えば,倍音で構成されたものでなくてもよい.Playの引数として入力する振幅関数は,発生させたい音に対応した瞬間信号値を与えるものである.この信号は,まず電圧に変換され,そして,スピーカの振動に変換されて音を発生させる.文献によっては,振幅は音のピーク信号強度と定義するものもあるが,本書では,常に,時間の関数である瞬間的な信号強度とする.

多少複雑な音を発生させる.

In[2]:= Play[ Sin[700 t + 25 t Sin[350 t]], {t, 0, 4} ]

Out[2]= -Sound-

Playで使う時間変数は常に秒単位で指定する.実際に音の生成が開始されると,音の振幅が毎秒決まった回数だけ標本化(サンプリング)される.この毎秒当りのサンプル数はサンプルレートと呼ばれ,オプションSampleRateを使うことで任意な値に設定することができる.

サンプルレートの指定

一般に,サンプルレートを上げると,高い周波数帯域の音成分をより忠実に表現できるようになる.サンプルレートがであれば再生可能な周波数域はHzまでである.普通,人間の聴力は周波数で2022,000Hzの音を聞き取ることができると言われている(年齢や性別等によって多少差はある).ちなみに,ピアノの持つ88音階は基本周波数で27.54,096Hzに相当する.

また,CDプレーヤーで使われている標準サンプルレートは44,100Hzで,実効的な電話のサンプルレートは8,000Hz程度である.特別なシステム仕様でなければ,Mathematicaにおけるサンプルレートは,規定で約8,000Hzに設定されている.

Play[, , ... ]を使いステレオ効果を出すこともできる.2チャンネルにとどまらず,何チャンネルでも操作可能である.

サンプリングされた音のプレイ

ListPlayを使いデータを音として聞くことが可能である.この場合,データはリスト形式で入力し,各データ点は特定のレートでサンプリングされた振幅の値とする.

現実のプレイでは,どのような振幅・音域でも実際に音の生成ができる訳ではない.出力装置に送る前に,演奏可能な音域に入るよう振幅の値を調整しておく必要がある.これは,PlayまたはListPlayのコマンドにオプションPlayRangeを使った区間値を与えることでできる.この設定は,1.9.2のプロット範囲の指定で使ったPlotRangeと同じように行えばよい.

サウンドの振幅のスケール

デフォルト設定であるPlayRange -> Automaticを使えば,適切なスケール率が選択され便利だが,PlayRangeを使い音域を限定した方が,内部でプレイ範囲の計算をする必要がなくなるため,Playの処理スピードが上がる.

サウンドオブジェクトの再生

PlayListPlayは,音を生成するための手続きを含んだSoundオブジェクトを返す.このオブジェクトに,グラフィックスの再表示でも使ったShowを作用させることでもとの音を再生することができる.

Soundオブジェクトの内部構造は,2.10.18で説明する.



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information


 © 2009 Wolfram Research, Inc.  Terms of Use  Privacy Policy |
Sign up for our newsletter: