Silverlightで音楽してみる


 移調: 5度上短3度上指定 [今のドが何に移るかを(on,sp,tn)で]
 反転  反行  一拍の長さ:(ミリ秒)  音のみ再生  停止


・上画面クリック入力:その音名で最新音に近いのを音符追加
・楽譜クリック入力:調固有音で判断して音符追加
  4n+1度以上の高低差で自動で声部を変えます
何もない所をクリックするとスクロールできます

・↑↓←→で赤いカーソルを移動
fキーあるいはEnterキーあるいは音符クリックでフォーカスモード切り替え(緑)
・フォーカスした状態で↑↓で音高変更、←→でカーソル移動
  Shift↑↓で移動、Shift←→で長短度変更
 (フォーカス状態で音符がない所に移動すると自動生成)
・ ; (+が書いてあるキー)と - でそれぞれ♯と♭をつける
・Deleteキーで音符を削除
なんかうまくいかないとき:@日本語入力オフ A枠内を一度クリック

・音を右クリック入力で現在のカーソルの位置にて転調
・観察ボタンで疑似再生、再生中にクリックすると停止
・右下にあるSaveっていう字をクリックすると入力エリアにテキスト出力
・隣にあるLoadっていう字をクリックすると入力エリアから読み込み
・色々な考察:ページが増えたので別に目次ページを設置しました。
  長とか短の意味とか周波数のデータ。

2012/2/14 作り始め 2012/2/18 とりあえず一段落。
2012/12/17 Yanagi氏のある記事からソースコードをぱくって、
 音(正弦波)を再生する機能の搭載に成功しました!ありがとうございます。

おまけ
Google ChromeのF12コンソール等から利用できるグローバル変数など
(javascriptが分かる人向け)
・playone(f):周波数fの音を鳴らす
・playBar(x):(x+1)拍目を再生する
・Notes[x][y]:(x+1)拍目の第(y+1)声目の音符のオブジェクト
・NI:一番最近触った音符のオブジェクト
音符オブジェクトが持つプロパティ:i,j,h,on,sp,tn,f
・(i,j,h): 上画面で"ド"を(i,j)=(0,0)として
 i:左下方向、j:右方向 による音名の座標
 hは真ん中のドから上のシの範囲でh=0、 1オクターブ高くなるごとにだとh++;
・(on,sp,tn): 真ん中のドでon=0, レミファと上がるごとにon++;
 spはシャープの数, tnは短の数
・グローバル関数 trs1(i,j,h), trs2(on,sp,tn) で相互に変換できます
・f:計算される周波数(Hz)
例えばNI.fで最近触った音の周波数を参照できます

inserted by FC2 system