5 最後に

このグリッサンド生成関数 (12) は、 実際にこれを実装したプログラム sndglis を、 yomi という名前のフリーソフトに付属して公開している ([1])。

また、この考え方を発展させると、音を連続的に上下に変動させることも可能で、 それにより、例えば任意の数学的なグラフの見た目を 音程を使って表現することもできる。

例えば、$y=f(x)$ ( $x_1\leq x\leq x_2$, $y_1\leq y\leq y_2$) のグラフを、 $y_1$ が音程 $p$$y_2$ が音程 $q$ に対応するように、 $T$ 秒間の音で表すとすると、適当に平行移動や縮尺を行って、

\begin{displaymath}
s(g_1'(t))=
\left\{f\left((x_2-x_1)\frac{t}{T}+x_1\right)-y_1\right\}
\frac{q-p}{y_2-y_1}+p
\end{displaymath}

とすればよいから、この右辺を $g_3(t)$ と書くことにすれば、
\begin{displaymath}
g_1'(t)=a_0r^{g_3(t)}
\end{displaymath}

となる。 しかし、一般の $f(x)$ に対しては、この右辺は簡単には積分できないので、 一般の $f(x)$ を厳密に音程で表現することは難しい。

ただ、コンピュータで関数のグラフを書くときは、 通常は曲線として書くのではなく、 数百分の 1 位に分割して、 目ではわからないくらいの細かい折れ線で近似して書いているので、 そのような分点のデータを使えば、 個々の折れ線を (12) によるグリッサンドで表すことで、 近似的な表現は可能である。

実際にそのようなことを行うプログラムも、 yomi の中に tbl2snd という名前で含まれている。 これは、gnuplot という有名なグラフプロットソフトの作成する table データという折れ線の分点データを利用し、 そこから上の方法でグリッサンド音データを作成するプログラムである。 サンプルは、[3] にあるので、 詳しくはそちらを参照されたい。

グリッサンドは、音程を単純に一定に上げていくだけであるが、 そのような波の生成は簡単なようで、実は微分や積分が関係する、 意外に難しい話であることがわかったであろうか。 逆に、こういったところにも 微積分の考え方が必要になるということを知ってもらえれば、 本稿はそれなりに意味があるのではないかと思う。

竹野茂治@新潟工科大学
2007年8月7日