ラベル TSSMML の投稿を表示しています。 すべての投稿を表示
ラベル TSSMML の投稿を表示しています。 すべての投稿を表示

2007/05/15

TSSMML :: エンベロープ

全然更新していなかった TSSMML についてですが、
勉強も思うように進まず・・・(汗)

ちゃんと期間を区切らなかったことが原因だとは思いますが、
時間があるときに、少しづつ勉強を進めたいと思います。



実は、#TABLE 要素について、
あまりよくわからなかったので、
それについて調べていたら路頭に迷っていたのでした。

この マニュアルを読んでみると、#TABLE についての説明で、

#TABLE [n], <[table]>
エンベロープ用の波形テーブル n にデータを設定する。
signed char の任意長。パラメータの詳細は上に同じ。0~255の256個登録できる。


とあります。



エンベロープって何??
良くわからなかったので、この #TABLE を利用しているコマンドを見ると、

nt[n],[m]
0≦n(0)≦255, 0≦m(0)≦255

ノートエンベロープ。
テーブルn番のデータでノートエンベロープ(キーオン・キーオフのない高速アルペジエータ)をかける。mは1回の変化が起こるまでの時間。mが大きいほど変化はゆっくりになる。いずれかの省略は不可。共に省略、またはmが0の時は機能をOFFにする。

na[n],[m]
0≦n(0)≦255, 0≦m(0)≦255

音量エンベロープ(高速アルペジエータ)。
テーブルn番のデータでエンベロープをかける。mは1回の変化が起こるまでの時間。mが大きいほど変化はゆっくりになる。いずれかの省略は不可。共に省略、またはmが0の時は機能をOFFにする。

とありました。

高速アルペジエータ? ノートエンベロープ? 音量エンベロープ?
エンベロープもわからないのにこんなに色々出てきてもわからないよ?(汗)



取り敢えず、一番重要なエンベロープについて調べることにしました。

このページ に、エンベロープとは何か、ということが、
技術的な側面からわかりやすい記述で載っていました。

エンベロープは一般に包絡線と呼ばれるもので、
音の波形の全体の外形を表すものみたいです。
数学で、変数によって動く関数について包絡線が定まるのと同じですね。

エンベロープにはその形状からいくつかのパラメータで定義でき、
過渡状態のアタック・タイム、ディケイ・タイム、リリース・タイム、
定常状態のサステイン・タイムがあるようです。

これらと TSSMML での #TABLE のパラメータとの関係は、
之だけでは良くわかりませんでした(汗)
ただこのページは非常にわかりやすい記述で、周辺知識も得られます。



ここで高速アルペジエータについても調べておきました。

アルペジエータに関してですが、このサイト によると、

その名のとおり押鍵されている和音(単音でも可)を一音ずつ 一定のテンポで、自動演奏する機構です。

とのこと。

和音を構成する音を同時ではなく時間差で鳴らすことをアルペジオといい、
それを自動で行うのがアルペジエータ、ということみたいです。
高速アルペジエータは、高速でアルペジオを行うんでしょうね。



さて、次のノートエンベロープですが、
このブログエントリ に注釈として記述がありました。
これによると、

二つ(以上)の音を高速で交互に鳴らし、同時に鳴っているように錯覚させる技法

ということだそうです。

これが高速アルペジエータということは、
先ほどのアルペジエータの説明を見たので、納得です。

ただこれがエンベロープとどういう関係があるのか、
正直良くわかりません。



最後の音量エンベロープですが、
こちらのサイト に簡便に説明されていました。
実はエンベロープについても、こちらにさらに詳細な説明がありました。

音量の時間的な変化のことを エンベロープと呼びます。(中略) 音量以外の時間的な変化もエンベロープと呼びます。 つまり、周波数の時間的な変化も、エンベロープと呼びます。音量のエンベロープ、周波数のエンベロープなどと呼んで、区別することができます。

先ほどのエンベロープの説明のページでは、
周波数についてのみ見ていたんですね。

音量も周波数も、ともに時間変化しますから、
横軸を時間、縦軸については音量、周波数のどちらをとったグラフでも、
それぞれの音の波形からエンベロープが定義できる。

音量エンベロープは、縦軸に音量をとった音の波形について、
エンベロープを取ったものということでいいんでしょうか。

こちらについては、エンベロープとの関係がはっきりしましたが、
逆に高速アルペジエータとの関係がはっきりしませんでした。

マニュアルの説明では、
ノートエンベロープがキーオン・キーオフのない高速アルペジエータ、
音量アルペジエータがただの高速アルペジエータと呼ばれるようです。



以上、まだまだわからないところがありますが、
気になるところを色々調べつつ、勉強していきたいと思っています。

2007/04/30

TSSでMML。

TSS Clipboard Player (TSSCP) を知っていますか?

これは、MML と呼ばれる音楽記述言語を用いて書かれた譜面を、
クリップボードにコピーするだけで音楽が鳴らせる、
非常にシュールなソフトです。

MML は広く利用されている言語のようなのですが、
独特の表記法があり、またいろいろな方言(?)があるようで、
習得に少々困難がありそうです。

ここでは、TSSCP で用いられている MML (TSSMML) を使い、
自作の音楽を作り上げることを目的に、勉強していきたいと思います。

TSSCP 本体は ここ からダウンロードできます。
利用できるコマンドなどが多い、 v0.7.1.1 Beta を利用します。



ところで、自分は GGアレスタ2 での使用曲が大好きなのですが、
ここ にその3面の曲が投稿されていて、非常に感激しました。

そのため小目標として、TSSMML の理解も兼ねて、
この譜面を完全に理解することにしたいと思います。



ゴールまでの道筋としては、

  1. TSSMML 基本文法習得
  2. GGアレスタ2の譜面理解
  3. 知っている曲を TSSMML で再現
  4. ごにょごにょ(笑)
  5. 自作曲製作
という流れで行きたいと考えています。
期限などは設定していません(笑)
ちょくちょくやっていこうと思っています。



MML 及び作曲手法は、 ここ で理解したことを基本にしていきます。

TSSCP は、土台として T'SoundSystem (TSS) を利用しています。
TSSCP での拡張コマンドもあるようですが、基本的にサウンド面では、
できることは TSS に依存しているようです。解説は ここ になります。



ということで、一つ勉強、はじめます。