チュートリアル 音に表情をつけてみる

ファミコン音源は、単調な音色なのでそのままではつまらない音になります。
今までは、テンプレートの設定を使っていましたが、自作してみましょう。

エンベロープを設定する

現実世界の楽器は、音符1音1音の中にも音量の変化があります。
エンベロープとは、その音量の変化のパターンのことを言います。
nsd.libでは、それを数値で書いていきます。

例えば、ピアノ等の楽器は、最初のアタックが強く、その後、徐々に音が減衰します。
これを図に表すと以下のようになります。

エンベロープ定義は、1/60秒間毎の音量変化を、0~15の数値で羅列します。
また、音量を記述する他に、便利なコマンドがあります。

Dn
(n+1)/60秒だけ、現在のレベルを維持します。
R …
発音中のパターンと、発音終了後のパターンの区切りです。
このRコマンド以降で、残響音のパターンを設定できます。
Rコマンドを書かない場合は、発音終了後も鳴り続けますので注意して下さい。
L …
Rコマンドの前に書いた場合は、発音中にRのところまで来た場合の戻り先のポイントです。
Rコマンドの後ろに書いた場合は、発音中に定義の最後まで来た場合の戻り先のポイントです。

このように、上のグラフをエンベロープパターンに定義すると、以下のようになります。

エンベロープ(1){ 15 12 11 D0 10 D1 9 D2 8 D3 7 D4 6 D5 5 D8 L 4 R 3 2 1 L 0 }

これは、エンベロープの「1番」にピアノのような音量変化パターンを定義しました。

ビブラートを設定する

次は、音符1音1音の中での音程の変化です。
現実の楽器でいうところのビブラート、音程の揺らぎ等を定義できます。
今回の作るビブラートは、音を発音して少し経ってから音程の揺らぎをかけます。

エンベロープと同じように、これをビブラートパターンに定義すると、以下のようになります。

ビブラート(1){ 0 D20 L 1 2 3 3 2 1 0 -1 -2 -3 -3 -2 -1 0 }

ビブラートは音楽

ビブラートの掛けかたは非常に重要です。
器楽奏者は、その時の音楽の場面に合わせて、周期、振幅をコントロールします。
ここでは、少しだけ、例を紹介します(一例であって、すべてがこの通りではありません)。

ロングトーン

最初はビブラートをかけず、少し経ってから、軽く掛けます。
他のパートが素晴らしい旋律を奏でているのに、大きなビブラートで主張する奏者は要りません。

スタッカート

最初だけビブラートをかけ、ビブラートの振幅も減衰させることが多いです。

クレッシェンド

クレッシェンドというイタリア語の意味は「成長する」です。
つまり、クレッシェンドも成長します。ビブラートの振幅もどんどん短くすることが多いです。

音楽でエンベロープ、ビブラートを使ってみる

さぁ、作ったエンベロープパターンと、ビブラートパターンを使ってみます。

戻る