« Gotland Game Conference で展示したメディア学部の学生らのゲーム紹介(ウプサラ大学訪問その3) | トップページ | Gotland Game Conference で展示されたウプサラ大学の学生らのゲーム紹介(ウプサラ大学訪問その4) »

たった1行でユーザインタフェース

|

みなさん、こんにちは、

 
パソコンでは、MS Office など、いろいろのソフトが動いています。その多くのソフトは、押しボタンを押したり、メニュから項目を選んだりして使います。このように、視覚的に操作できるインタフェースをGUI(Graphical User Interface)と呼びます。
メディア学部のディジタル信号処理の授業「メディア情報処理の基礎」では信号処理ソフトScilab を使って、具体的な信号処理を体験しながら、実践的な知識を身に着けます。Scilabを使うと、周波数分析やディジタルフィルタの演算が簡単にできるのです。それ以外に、音や画像を便利に扱うことができるメリットがあり、1行で音を出すこともできます。
例えば、以下を入力することにより、コンピュータから440Hzの音を流すことができます。
このコンピュータへの指示は、440Hzの正弦波を1秒間に11025個のディジタル信号として作成してスピーカに送りなさいという意味です。
 
sound(sin(2*%pi*440*(0:1/11025:1)),11025);
 
さらにすばらしいことに、たった1行でGUIを作ることができるのです。
 
uicontrol('call','sound(sin(2*%pi*440*(0:1/11025:1)),11025)');
 
この1行で、押しボタンを押すと440Hzの音が出るGUIができてしますのです。一行で作ったGUIのパネルを図1に示します。
 

Gui

               図1 たった1行で作成した押しボタンを押すと音がでるGUI

 

uicontrolというのは、押しボタンなどのUserInterfaceを作る指示です。callは、正式にはcallbackと言って、このボタンが押された時に行うべきことを指示します。このcallbackとして先ほどの音を流す指示が書かれているわけです。

みなさんも是非試してみてください。ボタンを押すと音が出ます。

もう少し書き足す必要はありますが、ボタンに文字をいれることもできます。例えば、以下を入力すると、次の図2のようにボタンに文字が現れます。

 

uicontrol('pos',[10 10 100 20],'string','440Hz','call','sound(sin(2*%pi*440*(0:1/11025:1)),11025)');

 

'pos'というのはボタンの位置と大きさの設定です。ボタンの背景色を変更したりすることもできます。

 

Guiscilabstring

               図2 押しボタンに文字を表示

 

相川 清明

授業紹介」カテゴリの記事

高校生向け」カテゴリの記事

« Gotland Game Conference で展示したメディア学部の学生らのゲーム紹介(ウプサラ大学訪問その3) | トップページ | Gotland Game Conference で展示されたウプサラ大学の学生らのゲーム紹介(ウプサラ大学訪問その4) »