琉球音階キーボードの作成
2017年5月29日 (月) 投稿者: メディア技術コース
みなさん、こんにちは、
メディア学部のメディア専門演習の1つに「音・音声インタフェース」があります。この演習では、信号処理ソフトMATLABを使って、シンセサイザやボコーダを作ります。第6回目はキーボードの作成でした。MATLABは信号処理以外に優れた描画機能やインタフェース作成機能があります。押しボタンやスライダーを配置してグラフィカルユーザーインタフェース(GUI)を簡単に作ることができます。
MATLABと類似したフリーの信号処理ソフトScilabでも同じようなことができますので、今日は、「音・音声インタフェース」で作成したキーボード作成技法で、琉球音階のキーボードを作成してみましょう。
琉球音階はドレミファソラシからレとラを除いた、ドミファソシの5音による音階です。ただ、レの音が入った音楽もあるので、今日は、レもいれたものをつくってみましょう。
Scilabホームページ から、ソフトをダウンロードして以下を打ち込んでみてください。
f = [ 523 , 587 , 659 , 698 , 784 , 987 , 1046 ] ;
n = [ 'ド' , 'レ' , 'ミ' , 'ファ' , 'ソ' , 'シ' , 'ド' ] ;
for i = 1 : 7 ;
pb = strcat( [ 'sound( sin( 2*%pi*' string( f(i) ) '*( 0 : 1/22050 : 1) ) )' ] ) ;
uicontrol( 'position' , [ 40+60*i , 100 , 60 , 200 ] , ...
'string' , n(i) , 'callback' , pb ) ;
end ;
f で指定した周波数がドレミファソシドの周波数です。
音は7つありますから、次の for から end までで1番から7番のキーを作成します。
実は、キーはプッシュボタンなのです。
positionは4つの値で、キーを配置する場所、
「 左からの位置、下からの位置、横幅、高さ 」を指定します。
callbackというのは、キーが押されたときにpbで書かれた文字列を実行することを指定します。
pbの中身は、各周波数の正弦波を1秒作成して sound 命令で音を鳴らす、という内容です。なお、Scilabの標準サンプリング周波数は22050Hzですので、sound 命令では、特に指定していません。
「授業紹介」カテゴリの記事
- トップレベルの論文を読み込む「CG技術特論」(大学院授業紹介)(2019.03.13)
- 大学院授業:プロシージャルアニメーション特論の紹介(2019.03.08)
- 専門演習「空間インタラクティブコンテンツ」2018後期(3)(2019.02.22)
- タンジブルインタラクションデザイン最終発表(2019.02.13)
- 専門演習「空間インタラクティブコンテンツ」2018後期(2)(2019.02.12)
「高校生向け」カテゴリの記事
- チュラロンコン大学からのインターン学生との再会(2019.03.14)
- 大学院授業:プロシージャルアニメーション特論の紹介(2019.03.08)
- ゲームの学会?!(2019.03.07)
- 香港理工大学デザイン学部の紹介(2019.03.04)
- 香港理工大学デザイン学部を訪問し、学部長Lee先生にお会いしました!(2019.03.03)