hirax.net::Keywords::「平均」のブログ



1998-01-08[n年前へ]

Photohoの乱数プラグインを作成する 

 「2項分布のムラについて考える」の関連して、Photoshopの乱数プラグインを作成したのでメモしておく。

 PhotShopはとても便利なソフトである。画像を取り扱うにはトップクラスと言っても良い。あえて、難を挙げるならば8Bit階調が基本という所である。もちろん、12bit階調なども扱えるのは知っているが、基本機能とは言えないと思う。
 しかし、PhotoShopで凝ったことをしようとすると、Pluginを作らざるを得ない。PhotoShopでPluginをつくるには2つのやり方がある。それは、

  • Adobe提供のPlugin SftwareDevelopmentKitを使ってPluginを作る。
  • FilterFactoryを使ってPluginを作成する。
である。目的によってどちらを使うか選択すれば良い。

 今回はランダムノイズをつくるためのプラグイン作成が目的である。その程度であれば、FilterFactoryを使うのが簡単で良い。

FilterFactoryを使う
 まずは、FilterFactoryを使う。
 今回は、ランダムノイズを作るのが目的である。ランダムな(0から255)の値を与えるプラグインである。最初にどんな画像があるかなど関係がない。とにかく乱数を計算し、画像に出力する。今回、1チャンネルにのみ乱数を与えるプラグインと、各チャンネルに独立に乱数を与えるプラグインの2種類を作成する。
 まずは、Redチャンネルにのみ乱数を与えるものをつくる。以下がそのパラメータである。
Redのチャンネルに (0...255)の乱数を与える。
 たった、これだけである。
Redに乱数を与え、Green,Blueのチャンネルには0を与える。
 このプラグインで作成した画像がこれである。ここでは、Redのレイヤーをグレースケールに変換してある。

 もうひとつ、各色に乱数を与えるプラグインのサンプル画像はこのようになる。

 今回作成したWindows版のプラグインをここにおいておく。Mac版も作るのは同じく簡単である。Mac版やCMYK版が欲しいという要望があれば教えて頂きたい。SDKを使う場合などはむしろMac版の方が簡単である。 このファイルを解凍して、プラグインをPhotoshopのPluginディレクトリのFiltersの下に置けば使えるようになる。JunHiraxというジャンルのRnd2redとRnd2RGBである。

 さて、試しに使ってみる。1000x1000ドットのランダムノイズ画像を作成してみる。その画像はここに載せるには大きすぎる。そのため、その一部を左下に示す。その画像に対して各領域10x10の100ドットで平均し、100x100に変換した画像を右に示す。詳しくは「2項分布を考える」を見て欲しいが、100ドットで平均したくらいではフラットにはならない。それどころか、有限のいくら広い範囲で平均しても正確にはフラットにはならない。もし、フラットになるのであれば、それはランダムな2項分布ではない。もちろん、PhotoShopの丸め誤差とかの話は別にしておく。また、「2項分布を考える」の際は1次元の1成分データであったが、今回は2次元3成分データである。そのため、人間にはよりフラットに見えにくい。相対的な色差に対しては人間の目は敏感だからである。

右が作成した1000x1000ドットのランダムノイズ画像の一部(137x90)、
左は作成した1000x1000ドットのランダムノイズ画像を各領域100ドット(10x10ドット)で平均することにより、100x100に変換したもの
 これを使って、適当に遊んでみると面白いのではないだろうか。
 今回の例も「2項分布の特性:どんなに広い領域であっても、領域中の平均が一定でない」の当然の結果である。仮に、ある広い領域中の平均が一定であるような確率過程を用いればこのようなことは生じない。もしも、そのような確率過程に基づくものがあったら、部分部分はランダムに見えても、広い領域ではフラットに見えるのである。

1998-11-12[n年前へ]

無限音階を作ろう 

上昇し続けるって何ですか?

- 上昇し続けるって何ですか? -
(1998/11/12)

無限音階を作りたい

 無限音階というものがある。ド・レ・ミ・・・と音がどんどん高くなっていくように聞こえるのだが、いつまでたっても終わらず、ふと気づくとずっと前と同じような音の高さだというものである。Escherの無限階段の版画は有名だが、あれの音階版である。
 とにかく、無限音階を作ってみようというのが今回の目的である。参考までに、Eshcerのことに関しては藤原康司氏のWEBhttp://www.pluto.dti.ne.jp/~fwhd5468/に詳しい情報がある。 ちなみに、このような版画である。
Esherの無限上昇(下降)シリーズ
「上昇と下降」(左図、1960年作)

「滝」(右図、1961年作)

 本題をますます離れるが、飯沼 敏夫氏のWEBhttp://www2.gol.com/users/atoz/index.html は一見の価値がある。上の2枚の版画をQuickTimeVRで実感できる。素晴らしい。

無限音階の仕組み

 人間の聴力にはもちろん周波数特性がある。
ニコンの補聴器のWEBhttp://www.nikon.co.jp/main/jpn/society/hocyouki.htm
によれば20Hz-20kHzが通常聞こえる周波数の範囲であるという。例えば、CDのサンプリング周波数はが約40kHzであるのは、この20kHzの倍だからである。つまり、ナイキスト周波数による。
 もし、ある高さの「ド」の1オクターブ下、そのまた下、...それだけでなく、1オクターブ上、そのまた上...が一度になったら、人間の耳にはどう聞こえるだろうか。それは、やはり「ド」である。その時のスペクトルはこんな感じである。なお、横軸は2をベースにした変形の対数軸である。また、実際には「ド」ではない。
音の画像スペクトル(水色が人間の耳に聞こえる範囲)

それでは、そのような「レ」が鳴ったとしたら?もちろん、それも「レ」である。そのようにして、「ドレミファソラシド」とやるとどうだろう?最初の「ド」と最後の「ド」は全く同じになっている。しかし、人間の感覚としてはどんどん音の高さが上昇していくように感じる。これが無限音階の仕組みである。
 図で示すとこのようになる。なお、下の図中で水色は人間の耳に聞こえる周波数領域である。また、振幅はたんなる相対値である。

上昇していく音
最初の音
少し高くなった音
もっと高くなった音
もっと、もっと高くなった音
もっと、高くなると、元に戻っている
上昇し続けるように見えて、結局同じ所を回っているだけである。

作成した無限音階

 今回は12音の平均率音階を用いている。音階そのものについては「音階について考える」という別の話である。また、基本波形としては正弦波を用いている。20Hz以下の正弦波を基本波形として、その倍音を20kHz超まで均等に足しあわせたものをただ作っただけである。正弦波を用いたのは話を単純化するためである。
 ここに今回作成したMathematicaのNoteBookを置いておく。また、下が作成する途中のデータである。どこか間違っているような気もする。少し不安だ。
左図は基底となる周波数を示す。X軸が周波数、Y軸が何倍音かを示す。右図は平均率の音階。440HzのAから1オクターブ上のAまで。
作成した音声データの波形 (左が全波形、右はデータの最初の1000個)
 聞く際の注意だが、音声再生ソフトの設定を「自動繰り返し」にして欲しい。

 さて、これが作成した無限音階である。それっぽく聞こえるだろうか。

1998-11-20[n年前へ]

モアレはデバイスに依存するか? 

 まず、以下のような2つの同心円画像をつくる。(なお、このような画像を簡単に作るために、Photoshop用のフィルターを作った。詳しくは「Photoshopの同心円フィルターを作る。」を参照して頂きたい。)
 以下の2つの画像は少し中心位置がずれている。また白く見えるところは255の値を持ち、黒く見えるところは0の値を持っている。(画像自体は512x512であり、表示の際に128x128に変換している。だから、この画像をそのまま保存して頂ければ、512x512のサイズで保存することができる。)
2つの同心円画像、画像1と画像2。上と下は少し中心位置がずれている。
 次に画像1と画像2をPhotoshopで重ね合わせる。ただし、 Photoshopでは黒=0であり、白=255である。すると、
  1. 黒(0)+黒(0)=0(すなわち黒)
  2. 白(255)+白(255)=255(すなわち白)
  3. 黒(0)+白(255)=255(すなわち白)
となってしまう。最初の2つはLBPで出力したOHPの場合と同じだが、最後の(黒+白=白)が違う。黒の方が白より値として小さいのが原因である。そこで、次のようにしてやればよい。
  1. 画像1を白黒反転し、画像1'を作る。
  2. 画像2を白黒反転、画像2'を作る。
  3. 画像1'と画像2'を加算し、画像3を作成する。
  4. 画像3を白黒反転し、画像3'を作成する。
 この画像3'が求める画像である。物理学的には波の干渉などの説明に使うと便利なOHPである。
OHPの重ね合わせをPhotoshopで真似た画像3'

 それでは、以上の画像変換を小さい画像でまとめて表示してみる。
計算実験A:同心円のOHP風重ね合わせ(画像1+画像2=画像3')
画像1
画像2
画像3'
 点光源から発される単波長光の干渉の説明にはちょうどいいOHPである。

 ところで、上の3つの画像をそれぞれ平滑化してみる。すると、以下のようになる。

画像1,2,3'をそれぞれ平滑化したもの
画像1を平滑化したもの
画像2を平滑化したもの
画像3'を平滑化したもの
 かなり平滑な、画像1と画像2を重ね合わせた画像3が平滑でなく、明確な模様を持つのは不可解である。レーザーの干渉であれば当然このような干渉縞ができるが、これはレーザー光の重ね合わせなどではない。それでは、一体なぜこのような現象が生じるのだろうか。なぜ、平均値が保存されていないのだろうか。
 以下でもう少し詳しく考えてみる。

重ね合わせにおける加算演算

 下のような画像A、画像Bを考える。拡大してあるが、画像自体は1x2ピクセルのサイズである。また、白=255、黒=0とすれば、いずれも平均値は128程度である。
画像A、画像B
 ここで、
  1. 黒+黒=黒
  2. 白+白=白
  3. 黒+白=黒
という加算演算がなりたつとして、いくつか演算をしてみる。

加算演算の例(左+中央=右)
画像A
画像A
画像A
画像A
画像B
画像C
画像B
画像B
画像B

 これに平均値も示すと以下のようになる。ここでは、LBPなどの紙に出力する際によく使われる、白=0、黒=255という表記をする。

加算演算の例(左+中央=右)
下段は平均値の加算における変化を示す。
画像A
画像A
画像A
128
+ 128
= 128
画像A
画像B
画像C
128
+ 128
= 256
画像B
画像B
画像B
128
+ 128
= 128

 同じ128+128でも、結果は128になるか256になるかの2種類ある。同じもの同士であれば、結果は128であるし、そうでなければ256になる。そのために、平均値が保存されないのである。このように、平均値が保存されない、言い換えれば、加算演算の結果が線形でない場合にはモアレが発生することになる。もしも、マクロに見て「128+128=256」が多い領域があれば、それはモアレの黒い部分であり、そうでない所は比較的明るい部分であるということになる。

ロゲルギストの-モアレが生じる理由は黒さの非線形性による-という言葉はこの「128+128=128、と128+128=256という結果の違いがあり、それがモアレの原因である」ということを示している。

 それでは、そのような現象「128+128=128という非線形性」が起きない状態を作ってみる。それには加算の結果である黒がサチらないようにすれば良い。

サチらない加算演算の例(左+中央=右)
下段は平均値の加算における変化を示す。
画像A
画像A
画像A
64
+ 64
= 128
画像A
画像B
画像C
64
+ 64
= 128
画像B
画像B
画像B
64
+ 64
= 128


 これでは、いずれの状態でもグレー+グレー=黒、すなわち、64+64=128という風になっている。これは黒がサチっていないからである。すなわち、-モアレが生じる理由である黒さの非線形性さ-がない状態になっている。
 それでは、この状態で計算実験Aと同じことをしてみる。それを計算実験Bとする。念のため、計算実験Aをもう一度示す。

計算実験A:同心円のOHP風重ね合わせ(画像1+画像2=画像3')
画像1
画像2
画像3'
 
計算実験A:画像1,2,3'をそれぞれ平滑化したもの
画像1を平滑化したもの
画像2を平滑化したもの
画像3'を平滑化したもの



計算実験B:グレー+グレー=黒 の場合
画像1の黒=0を128にした画像4を平滑化したもの画像2の黒=0を128にした画像5を平滑化したもの 画像4,5を加算したもの

 モアレができていないのがわかるだろうか。これはグレー(128)+グレー(128)=256(もっと黒)で線形な関係が成り立っているからである。平均化された画像で濃度がどこも倍近くになっているのがわかると思う。

モアレのデバイス依存性

 LBPではトナーが有る所、すなわち、画像が有る所はほぼ完全に影になる。例え、2枚重ねてもやはり影のままである。しかし、インクジェットならどうだろうか。OHPで使うと、黒といってもLBPに比べて薄い。1枚のOHPの黒よりも、2枚のOHPの黒を重ねた方がかなり黒い。ということは、「黒+黒=もっと黒」と同じである。したがって、OHPを重ね合わせても濃度が保存されている。すなわち、モアレが比較的に出来にくいことになる。ということは、OHPを何で作るかによってモアレの具合が変わることになる。付け加えれば、実際のOHPの場合には透過率を考えなければならない。透過率というものは単なる重ね合わせでない、具体的に言えば、加算演算でなく乗算演算である。それでも、話としては大体は同じことである。

 今回はOHPの話に絞ったが、透過原稿でなく反射原稿についても同じである。むしろ、反射原稿の方が乗算演算でなく、加算演算である分、今回の話そのままである。したがって、一般的なモアレについてインク(もしくはそれに相当するもの)の加算演算の具合によって、モアレの発生具合が違うと考えられる。

 また、話の単純のために白黒の話に限ったが、カラーのモアレなどについてもほぼ同じであろう。トナーとインク、また、混ざりやすいものと混ざりにくい物の違いなどでも面白い結果が出そうである。TVや液晶のようにほぼ線形の重ね合わせが成り立つであろうものと比較するのも面白そうである。

 今回の話を考えている途中で、OHPの重ね合わせと干渉の共通点については、結構奥が深いような気がしてきた。そのため、別の回でもう少し詳しく考えたい。


1998-11-22[n年前へ]

OHPによるモアレと光の干渉の相似について考える。  

ヒラックス・ディザの提案

- ヒラックス・ディザの提案 -
(1998.11.22)
 「モアレのデバイス依存について考える。」の時にOHPの重ね合わせについて考えた。その時に、OHPの重ね合わせで光の干渉を表現するやり方について説明した。その時に、「OHPの光、すなわち、干渉性などほとんどない光を使って、光の表現をするのであるが、本質はほとんど同じである」という気がしたので、考えてみたい。また、OHPの重ね合わせに関連して、面白いディザ処理を思い付いたので、それについても考えてみたい。

「位相保存ディザマトリックス」

 まず初めに、4 x 1ドットからなる基本マトリックスを考える。その各ドットは白か黒の値を持つ。例えば、このような感じである。

4x1ドットからなるマトリックス

 この「黒、黒、白、白」というパターンを次の図と見比べる。

位相遅れ0の矩形波、(4つに分割すると、「黒、黒、白、白」となる)
「黒、黒、白、白」というパターンがよく似ていることがわかると思う。4x 1ドットの左を位相0として、各ドットを左から位相0,90,180,270としてやる。すると、4x1ドットのマトリックスで任意の位相の矩形波を表現できることになる。表現した例を以下に示す。

4x1ドットのマトリックスで各位相の矩形波を表現した例1

「モアレのデバイス依存について考える。」で行ったようにこのようなパターンをOHPで打ち出し、重ね合わせてみる。例えば、位相0と位相180のものを重ね合わせたらどうなるだろうか。4x1ドットのマトリックスの全てが黒になる。すなわち、真っ黒になるのがわかるだろう。それでは、位相0と位相90のものではどうだろうか。4x1ドットのマトリックスの内、3ドットが黒、1ドットが白である。位相が同じものどうしを重ね合わせると、元と同じく、2ドットが黒、2ドットが白である。
 ということは、「位相が同じ物どうしであれば、元の明るさを保持する」、「位相が逆であれば真っ黒になる」、「位相が少しずれているのあれば、明るさはその分少し暗くなる」という性質があることがわかる。光の干渉の場合とほとんど同じ性質を持っているのがわかると思う。違うのは、同じ位相のものどうしが重ね合わさった時に、重ね合わせた分明るさが2倍になるか、そうでなくてそのままなのかという違いだけである。
 つまり、この4x1ドットのマトリックスは「きちんと演算が成立する位相情報が記録されている」ということになる。そして、位相が異なるものを重ね合わせた時の位相情報の保存までも考えてやるならば、先ほどの例1は次のように位相の定義を変えてやるほうがいいと思う。

各矩形波の黒の中心位置として位相の値を定義し、4x1ドットのマトリックスで各位相の矩形波を表現した例2

 この例2では位相の数字は各矩形波の中心位置を現すことにしている。それでは、この定義を用いて、位相90,180のものを足しあわせたらどうなるだろうか。下に示すのがその結果である。

例2の定義を用いて位相90,180を足しあわせると

 位相90と位相180のものを足しあわせると、波形はブロードになり、中心すなわち位相135のものができているのがわかる。また、明るさはこれまでが、2/4だったものが1/4であることになり、強度も弱まっているのが表現されている。

 つまり、このようなマトリックスによる表現は波の持つ位相と強度と波形を表現し、演算も成り立っていることがわかる。それでは、例2の基本マトリックスが縦方向に繰り返されている画像(1(基本マトリックス)x8ピクセル)を考える。こんな感じである。

例2が繰り返されているもの

 これは下方向から進行している矩形波の様子そのままである。なお、この図でも基本となるマトリックスは4x1ドットであるから、この例では要素としては1x8ピクセルを示しているのである。どの要素も振幅(強度)自体は同じである。平均の明るさは同じである、と言い換えても良い。また、波形自体も同じである。しかし、位相が異なっている。波の進行そのままである。

さらに強度情報を加える

 このような白、黒のみの2値表現(といってもこの表現にはモアレが欠かせず、そのためには2値表現がふさわしい)では、波の位相、波形、強度を独立に変化させることはできない。例えば、波の波形を変えると強度も変わってしまう。それを独立にしてやろうと思ったら、階調を増やしてやれば良い。しかし、2値表現のままという制限付きであるから、面積階調を使うことになる。これまで4x1ドットのマトリックスで表現していたものを、例えば、4x4ドットのマトリックスにしてやればよい。以下にその例を示す。例Aの強度が例Bの1/4であることがわかるだろう。


4x4ドットのマトリックスで強度の快調を表現した例A

4x4ドットのマトリックスで強度の階調を表現した例B

 このような「位相、波形、強度情報を保存し、演算も成立する」マトリックス表現を仮に「HiraxDither(ヒラックス・ディザ)」と呼ぼう。先の「モアレのデバイス依存について考える。」で使ったスペックルパターンの例はこのヒラックス・ディザの簡易なもの(2x1基本マトリックスのもの)を使っていた。
 また、「モアレのデバイス依存について考える。」で使った同心円状の画像のモアレのパターンは実はヒラックスパターンの特殊な例(1x1基本マトリックスのもの)を用いていたのである。そこでは、単に位相情報しか記憶されていない。この場合には、白、黒が位相情報を現していたのである。だから、黒、黒どうしの所(すなわち、位相が同じ所)では平均の明るさは変化せず、黒、白が重なった部分(すなわち、位相が反対である所)でのみ打ち消し合い、暗くなっていたわけである。波形も、強度情報もこの場合には記録されていない。

「ヒラックス・ディザ」とホログラフィーの相似点

 このようなヒラックス・ディザの「ディザ・パターン内部、すなわち、微視的には位相情報や振幅情報を記録し、巨視的に見ると強度分布のみが認識される。また、相互の演算(干渉)によって違う画像を再生することができる。」という特徴は実によくホログラフィーと似ていることがわかる。

 また、もう少し深く考えると、もっと他の分野とも繋がるかもしれない。いずれ、また考えてみたい。

1998-12-19[n年前へ]

音階を勉強する 

単音シンセサイザーをつくる

 今回は、音階そのものについて勉強をしてみる。世の中には色々な音階がある。いわゆる12音階の中でも、純正調、平均率などいろいろある。12音階でないものもある。どのような音階があって、それぞれどのような音程になっているのか調べてみたい。といっても、まずは7音音階、すなわち、ダイアトニックスケールだけを考える。
 参考文献は手元にあった、「音楽の不思議」 別宮貞雄 著 音楽之友社である。なお、江尻氏の音律周波数表、音律について、音律実験(http://www.tg.rim.or.jp/~ejiri/)では色々な音階についての情報を知ることができる。5音階、すなわち、ペンタトニックスケールについての情報もある。同様なWEBサイトととしては「調律法ききくらべのページ」(http://www.top.or.jp/~murashin/index.htm)がある。ARATA氏の「MIDIで古典調律を」(http://www.nifty.ne.jp/forum/fmidicla/htmls/kotenj.html)にもかなりの情報がある。

 ここでは、簡単にピタゴラス音階、ツァルリーノ音階(純正調音階)、12平均率だけを考える。

 まずは、ピタゴラス音階を作る。Aという基準音を作る。その音に対して振動数が3/2倍の音をEとする。更に、Eに対して振動数が3/2倍の音をBとする。また、Aの振動数に対して、3/2倍の音をDとし、Dの4/3倍の音をGとする。そして、CGの3/2倍の音をCとする。最後に、Cの4/3倍の音をFとする。
 各音の倍、あるいは1/2の音のオクターブ違いの音を考えると、結果としてC,D,E,F,G,A,Bのダイアトニックの7音音階ができあがる。このピタゴラス音階は旋律が良く響くという性質がある。よく響くという言い方は誤解を生じるかもしれない。「うまく旋律がおさまる」といった方がいいかもしれない。

各音の間の振動数の比
D/CE/DF/EG/FA/GB/AC/B
ピタゴラス音階9/89/8256/2439/89/89/8256/243
ツァルリーノ音階(純正調音階)9/810/916/159/810/99/816/15
12平均率2^(2/12)2^(2/12)2^(1/12)2^(2/12)2^(2/12)2^(2/12)2^(1/12)

 次に、ツァルリーノ音階(純正調音階)は、各音の間の振動数の比を見てもわかるように、和音はよく響く。しかし、旋律として聞いた場合には、必ずしも良いわけではない。しかも、転調はできない。現在、一番使われている12平均率は振動数比をみてもわかるように必ずしも、和音の響きが良いわけではない。しかし、周波数を見てもわかるようにピタゴラス音階とツァルリーノ音階(純正調音階)の中ほどであり、和音の響き、旋律どちらも悪いわけではない。
 ただし、1曲の中で厳密に音階が同じというわけでもないらしい。プロの弦楽四重奏などでの演奏では、必ずしも12平均率でなく、曲の中でも意識して音程を変えるという話だ。
 また、ツァルリーノ音階(純正調音階)用に曲を作って聞いてみても、それほど良くなるとは思えない。確かにきれいに響くのだが、(私の感じでは)それだけなのである。

 セントで表したものも示す。セントは基準音の振動数Nに対して、振動数Mである音を、1200x log_2(M/N) と表す単位である。 セントで表せば、12平均率は当然きりのいい数字になる。

セントで表した各音の振動数
CDEFGABC
ピタゴラス音階020440849870290611101200
ツァルリーノ音階(純正調音階)020438649870288410881200
12平均率020040050070090010001200

音階についてあまり長々と考えてもきりがないので、ひとまずここまでにしておく。なにしろ、奥が深すぎる。最後に各音階の周波数表を示す。なお、Cの音はいずれも440Hzにしてある。ここでいうCは音名ではない、階名である。つまり、絶対的な音の高さを示すもの(音名)でなくて、相対的な音の高さを示すもの(階名)である。むしろ、よく使われるドと言ったほうが良いかもしれない。「Aをドにして歌ってみよう」という時の「ド」である。ところで、ドレミファソラシドの語源はどこにあるのだろう?SoundOfMusicがdoeの歌のイメージから"do a dear ..."と鼻歌を歌うことはあるが、語源は一体?次の宿題にしたいと思う。
 さて、使用した周波数は全て江尻氏の音律周波数表、音律について、音律実験 (http://www.tg.rim.or.jp/~ejiri/)に記載されていたセントから最初の音を440Hzとし、周波数に変換してある。

HzCDEFGAHC
平均率 12Equal440494554587659740831880
純正律 Pure(5-3)440495550587660733825880
純正律 Pure(5-3)'440495550594660743825880
純正律 PureQ-39(3-5)440489550587652733815880
純正律 PureT-71(5-3b)440495570594660760855880
メルセンヌ純正律440495550587660733825880
ピタゴラス律440495557587660743835880
中全音律440492550588658736822880
キルンベルガー 第2440495550587660738825880
キルンベルガー 第3440492550587658736825880
キルン-ヴェルク440492552587658736828880
ヴェルク 第1技法第3番440492551587658735827880
ヴェルクマイスター 第3'440495553589660740830880
ラモー440492550588658736822880
ヴァロッティ-ヤング440493552588659737826880
ヤング 第2440493552587659737826880
43平均律440493551588658737825880
53平均律440495550587660733824880
 それでは、このような音階を奏でることの出来るシンセサイザーを作ることにする。
National InstrumentsのLabViewのExample例の中でWindows環境でSoundを入出力するViがあったのでこれを利用する。また、その使用例としてプッシュホンの発信音を出力するものがあった。これを適当にいじって作ってみる。今回は簡単のために単音のみの出力である。いずれ、もうすこしちゃんとしたものを作ってみたい。

 作成したアプリケーションをここにおいておく。
Onkai.lzh 1,176kB(配布終了です。)
LabViewのライセンス上、ダウンロード数が50近くになったら削除する。(配布終了です。)

onkai.exeの動作画面
 まずは、赤丸部分のボタンを押して実行モードにする。
 実行中の画面はこのようになる。
音階の選択画面
 このように色々な音階を
選ぶことが出来る。
 鍵盤をマウスで押しても音が出る。また、ファンクションキーのF1からF8でも音を出すことができる。ちなみに「ホンキートンク」は適当につくったでたらめの音階である。それぞれの音階を単音で聞いても違いが分かるだろうか。



■Powered by yagm.net