インタラクティブメディアコースお化け音を以前のブログの「おもしろメディア学」で紹介しました。お化けの出る音ブログその正体は、音の高さがフワフワと変化する音でした。不規則な音の高さの動きがあると、人は不安になります。これが気味悪さを感じさせる理由でした。今日は、お化け音を実際に作ってみましょう。これには、scilabという信号処理ツールを使います。scilabのホームページからツールをダウンロードしてインストールしてください。scilabホームページscilabはmatlabと類似した信号処理ツールです。コンソールから命令を打ち込むと、その場で処理してくれます。音を作ったり、音を鳴らしたりが簡単にできます。準備ができましたら、以下の命令をscilabのコンソールに打ち込んでみてください。右側の//から右側は各命令の説明なので、これは打ち込む必要ありません。各行はセミコロン;で終わります。//波を作って音を鳴らす自作お化け音いかがですか?fcは音の高さ(周波数)の変化の設定です。スプライン関数を使って、それらの周波数をなめらかにつなぎます。fvにより、1秒に5回のビブラートを発生します。これら2つを足し合わせた周波数変化がfxで、それから周波数変化音作成の原理に基づいてお化け音を発生させるわけです。ここで、時々刻々の音の周波数の動きから音の高さが変化する周波数変化音を作る仕組みをもう少し解説しておきましょう。音は波ですから、sinという関数を使えば作れます。知られた三角関数ですね。通常sinの中には角度を入れます。sinは2πラジアン(360度のこと)で1回の振動をします。1秒にfc回振動する音のときには2πfcラジアン進みます。これを累積していけば、時々刻々の角度が求まります。cumsumは数値列の累積値の並びを求めてくれます。実行すると、1、3、6という累積値の並びが求まります。