Friday, May 30, 2008

GlovePie 學生作業示範

--------------------------------以下是程式
// 200804 class
//c (csharp) d (dsharp) e f (fsharp) g (gsharp) a (asharp) b
//do re me fa so la si
//¦ñ«µ
if pressed(f1) then midi.C4Velocity = 100%
if pressed(f1) then midi.E4Velocity = 100%
if pressed(f1) then midi.G4Velocity = 100%
if pressed(f2) then midi.D4Velocity = 100%
if pressed(f2) then midi.F4Velocity = 100%
if pressed(f2) then midi.A4Velocity = 100%
if pressed(f3) then midi.F4Velocity = 100%
if pressed(f3) then midi.A4Velocity = 100%
if pressed(f3) then midi.C5Velocity = 100%
if pressed(f4) then midi.D4Velocity = 100%
if pressed(f4) then midi.F4Velocity = 100%
if pressed(f4) then midi.B4Velocity = 100%
midi.Cowbell = F12
midi.BassDrum2 = F11
midi.SideStick = F10
midi.AcousticSnare = F9
midi.HandClap = F8

// c5
Say("keyboard music")= Keyboard.enter
midi.c5 = Keyboard.Z
midi.csharp5 = Keyboard.S
midi.d5 = Keyboard.x
midi.dsharp5 = Keyboard.d
midi.e5 = Keyboard.c
midi.f5 = Keyboard.v
midi.fsharp5 = Keyboard.g
midi.g5 = Keyboard.b
midi.gsharp5 = Keyboard.h
midi.a5 = Keyboard.n
midi.asharp5 = Keyboard.j.
midi.b5 = Keyboard.m
midi.c6 = Comma

//c6
midi.c6 = Keyboard.q
midi.csharp6 = Keyboard.2
midi.d6 = Keyboard.w
midi.dsharp6 = Keyboard.3
midi.e6 = Keyboard.e
midi.f6 = Keyboard.r
midi.fsharp6 = Keyboard.5
midi.g6 = Keyboard.t
midi.gsharp6 = Keyboard.6
midi.a6 = Keyboard.y
midi.asharp6 = Keyboard.7
midi.b6 = Keyboard.u

// end

--------------------------------以上是程式

Tuesday, April 29, 2008

我的 虛擬 音樂鍵盤

以下範例使用 WINDOWS XP作業系統 不確定在其他作業系統是否一樣能跑

前言:
用REASON 或CUBASE 或 PC 內建合成器時, 沒有樂器鍵盤只用滑鼠點出音符, 是件麻煩又很不"音樂"的做法. 希望同學能用免費的程式 "GlovePie" 和 "MidiYoke" 設計出適合自己的MIDI 控制介面.
 
GlovePIE 簡介:
GlovePIE 是一個 可程式化的虛擬輸入(輸出)程式. 可以"翻譯"很多種輸入輸出資料. 可能用在:
1. 把電腦鍵盤的輸入變成成MIDI NOTE (或其他)資料 (接下來會介紹...)
2. 把電腦滑鼠的輸入變成成MIDI NOTE (或其他)資料 (接下來會介紹...)
3. 把一般電玩控制器輸入變成其它資料 (MIDI, 鍵盤, 滑鼠, 合成語音 或其他控制器等)
4. 把特殊電玩控制器(Wiimote, Playstatio_ 3 SIXAXI_)輸入變成其它資料 (MIDI, 鍵盤, 滑鼠, 合成語音 或其他控制器等) (注意: 特殊輸入裝置先要能被作業系統抓到 GlovePIE 才能進一步進行設定)
5. 下載或確定GlovePIE 認得的輸入裝置 輸出信號等資料請參考官方網站http://carl.kenner.googlepages.com/

用電腦鍵盤控制 Micr_soft GS Wavetable SW 合成 part 1
1. 跑GlovePIE (下載ZIP 檔後解壓縮 GlovePIE030, 按兩下 GlovePIE.exe 就可執行, 不必安裝)
2. 設定MIDI 輸出到電腦內建合成器 GlovePIE > CP-Settings > MIDI 確定MIDI 音樂播放選的是 ~ ~ SW 合成
3. 按 GUI > Choose Manually > Category 選 Notes Octaves 5.. 10 > 按 note60: Middle c5 > Detect Input > 按下電腦鍵盤Z > Apply > 按 Untitled > 按 Run > 按 "Z鍵" (應該會聽到電腦發出"Do") > File > Save As > 挑一個你確定的地方存成 "my midi kb 1" > File > Exit
4. 恭喜, 你已經設計出一個可以彈 Middle c5 的虛擬 kb 了.

以上程式在 GlovePIE 看起來像這樣
--------以下是程式
// Type your program here, or click the GUI tab to autogenerate it!
midi.c5 = Keyboard.Z
--------以上是程式

"//" 在 GlovePIE 裡可以接:
1. 檔案說明
2. 希望 GlovePIE (暫時)不要執行指令 (可以幫助挑出複雜程式問題所在)

用電腦鍵盤控制 Micr_soft GS Wavetable SW 合成 part 2
my midi kb 1 只能彈一個音, 很不實用. 接下來們試著做個長一點的 midi kb, 順便熟悉一下 編輯GlovePIE 的兩種方法.
1. 跑GlovePIE
2. File> Recent > my midi kb 1.PIE
3. GUI > Choose Manually > Category 選 Notes Octaves 5.. 10 > 按 note61: Middle csharp5 > Detect Input > 按下電腦鍵盤s > Apply > 按 my midi kb 1 > File > Save As > 挑一個你確定的地方存成 "my midi kb 2
4. 按 my midi kb 2 現在應該有3行字
5. 把第一行 "//" 後全部文字刪掉 打上"我的MIDI鍵盤 c5- e6 或 my midi kb c5 - e6"
6. File Save 或 CTIL+S 存檔
7. RUN 按 Z 或 S 都會聽到鋼琴聲
8. Stop
9. 接下來我們要反覆以上動作直到 z s x d c v g b h n j m , l . ; / 都對應到某個 MIDI NOTE
10. 如果你不確定 c, csharp, d. dsharp ... 的順序 沒關係 到GUI > Choose Manually 你可以看出我們要把 note60 - note 76 對應到電腦鍵盤. 你可以反覆Detect Input 步驟. 或者試試用 CTL+C (Copy) CTL+V(Paste) 加快速度
11. 用COPY copy 我們寫好的的兩行程式 然後 PASTE 6 次 編輯視窗會變成以下這樣
--------以下是程式
// my midi kb c5 - e6
midi.c5 = Keyboard.Z
midi.csharp5 = Keyboard.s
midi.c5 = Keyboard.Z
midi.csharp5 = Keyboard.s
midi.c5 = Keyboard.Z
midi.csharp5 = Keyboard.s
midi.c5 = Keyboard.Z
midi.csharp5 = Keyboard.s
midi.c5 = Keyboard.Z
midi.csharp5 = Keyboard.s
midi.c5 = Keyboard.Z
midi.csharp5 = Keyboard.s
--------以上是程式

12. 手動把以上程式修成這樣
--------以下是程式
// my midi kb c5 - e6
midi.c5 = Keyboard.Z
midi.csharp5 = Keyboard.s
midi.d5 = Keyboard.x
midi.dsharp5 = Keyboard.d
midi.e5 = Keyboard.c

midi.f5 = Keyboard.v
midi.fsharp5 = Keyboard.g
midi.g5 = Keyboard.b
midi.gsharp5 = Keyboard.h
midi.a5 = Keyboard.n
midi.asharp5 = Keyboard.j
midi.b5 = Keyboard.m

//back to GUI input here
midi.c6 = Keyboard.Comma
midi.csharp6 = Keyboard.l
midi.d6 = Keyboard.dot
midi.dsharp6 = Keyboard.semicolon
midi.e6 = Keyboard.slash
--------以上是程式
注意: 因為逗號 句號 斜線 分號 要用 英文輸入 slash, dot, Comma, semicolon 建議用 GUI> 選音符 > detect input > apply 輸入
13. save
14. run 希望z, s, x, d, c, v, g, b, h, n, m, ,, l, ., ;, /,都有聲音 (z x c v b n m , . / 是鋼琴的白鍵!)
15, 也許加一點說明讓自己清楚音名和唱名的關係
--------以下是程式
// my midi kb c5 - e6
//do
midi.c5 = Keyboard.Z
// do sharp
midi.csharp5 = Keyboard.s
// re
midi.d5 = Keyboard.x
// re sharp
midi.dsharp5 = Keyboard.d
// me
midi.e5 = Keyboard.c
// fa
midi.f5 = Keyboard.v
// fa sharp
midi.fsharp5 = Keyboard.g
// so
midi.g5 = Keyboard.b
// so sharp
midi.gsharp5 = Keyboard.h
//la
midi.a5 = Keyboard.n
// la sharp
midi.asharp5 = Keyboard.j
//si
midi.b5 = Keyboard.m
//do
midi.c6 = Keyboard.Comma
// do sharp
midi.csharp6 = Keyboard.l
// re
midi.d6 = Keyboard.dot
// re sharp
midi.dsharp6 = Keyboard.semicolon
// me
midi.e6 = Keyboard.slash
--------以上是程式
別忘了 存檔

16 如果你沒有空 可以 COPY " --------以下是程式 --------以上是程式" 之間的指令 到GlovePIE, SAVE成自己喜歡的檔名 然後跑跑看

17. 根據你的需要, 可以把電腦其它按鍵對應到想要的 MIDI NOTE. 理論上你甚至可以外接幾個鍵盤 讓每個鍵盤對應到想要的MIDI NOTE(留個鍵盤輸入字母 其他鍵盤跑MIDI NOTE 說不定就不必一直 RUN STOP GlovePIE 了)


用電腦滑鼠控制 Micr_soft GS Wavetable SW 合成part 1
1. 跑GlovePIE
2. 按 GUI > Choose Manually > Category 選 Other Controls > 按 FirstNote > Detect Input > 滑鼠往右滑 (INPUT SOURCE 以下顯示為 MOUSE... x...) > Apply > 按 Untitled > 按 Run > 滑鼠左右移動可聽到鋼琴聲 > File > Save As > 挑一個你確定的地方存成 "my mouse kb 1" > File > Exit
3. 程式會像這樣
--------以下是程式
// my mouse kb 1
midi.FirstNote = MapRange(Mouse.x, 0,1, 0,127)
--------以上是程式

4.用滑鼠當鍵盤 my mouse kb 1 有點難控制彈到想要的音符 接下來我們限制彈奏的範圍 看效果會不會好點

用電腦滑鼠控制 Micr_soft GS Wavetable SW 合成part 2
1. 跑GlovePIE > File > Recent > my mouse kb 1
2. 把 (Mouse.x, 0,1, 0,127) 改成 (Mouse.x, 0,1, 60,63)
3. save as "my mouse kb 2"
4. run. 移動滑鼠 現在只能聽到 4個音符
Mouse.x, 0,1, 60,63 翻成中文大概是 MOUSE 左右的移動 會彈出 midi.60-63 音符
還可試試把
Mouse.x, 0,1, 60,63 改成
Mouse.x, 0.2, 0.5, 60,63 或
Mouse.x, 0.5, 0.2, 60,63
聽聽看有什麼不同

5. my mouse kb 2 程式參考
--------以下是程式
// my mouse kb 2
midi.FirstNote = MapRange(Mouse.x, 0,1, 60,63)
//midi.FirstNote = MapRange(Mouse.x, 0.2,0.5, 60,63)
//midi.FirstNote = MapRange(Mouse.x, 0.5,0.2, 60,63)
--------以上是程式


用電腦滑鼠控制 Micr_soft GS Wavetable SW 合成part 3
我們用GUI輸入法 說明Mouse.x, 0.5,0.2, 60,63 是什麼意思
1. 跑GlovePIE
2. 按 GUI > Choose Manually > Category 選 Other Controls > 按 FirstNote > Detect Input > 滑鼠往右滑
3. 現在你會看到 Format 0..127 這是指所有的 midi note 0-127
如果範圍太大 可以按 Limit output to the range min 60 max 63 這是指 midi note 60-63
Input Device
Mouse x 是指將滑鼠的左右移動換成... 把 x 改成 y 則轉換滑鼠上下移動
Convert from range min 0 max 1 是指轉換範圍是最左到最右
試試 min 0.2 max 0.5 或 min 0.2 max 0.5
apply> run 看結果有何不同
4. file > save as "my mouse kb 3"
5. my mouse kb 3 程式參考
--------以下是程式
// my mouse kb 3
midi.FirstNote = MapEnsureRange(Mouse.x, 0,1, 60,65)
//midi.FirstNote = MapEnsureRange(Mouse.x, 0.2,0.5, 60,65)
//midi.FirstNote = MapEnsureRange(Mouse.x, 0.5,0.2, 60,65)
--------以上是程式


用電腦滑鼠控制 Micr_soft GS Wavetable SW 合成part 4
在此我們試著把mouse 上下移動轉換成MIDI PITCHWHEEL 控制資料
1. File > Recent > my mouse kb 1
2. GUI > Choose Manually > other controls > Pitch Wheel > Detect Input > 上下移動滑鼠 (注意 Input Source 要顯示 Mouse y, 如果不是y 可拉下選單手選到y) > Appy
3. File > Save as > my mouse kb 1 with pitchwheel
4. run 左右移動聽聽看聲音 左右上下移動聽聽看聲音是否不同
如果效果不明顯 請縮小 midi.FirstNote = MapRange (Mouse.x, 0,1,0,127) 對應的鍵盤範圍
5. my mouse kb 1 with pitchwheel 程式參考
--------以下是程式
// my mouse kb1 with pitchwheel
midi.FirstNote = MapRange(Mouse.x, 0,1, 0,127)
// use this for clearer effect
//midi.FirstNote = MapRange(Mouse.x, 0,1, 60,70)

midi.PitchWheel = MapRange(Mouse.y, 0,1, 0,1)
--------以上是程式

打開 my midi kb 2
加上 midi.PitchWheel = MapRange(Mouse.y, 0,1, 0,1) 這行指令
再用GUI > Catagory > 14-bit Controls 0..31 > cc1, 33 ModWheel > Edit Manually > 拉下 Input Devoice 選單選 Mouse > part of device 選單選 x > Apply
把這程式存成 my midi kb 2 with PitchModWheel 這個虛擬音樂鍵盤除了音符還有鍵盤常有的modulation wheel和 pitchbend wheel. 這對一般編曲已經十分足夠

my midi kb 2 with PitchModWheel 程式參考
--------以下是程式
// my midi kb 2 with PitchModWheel
//do
midi.c5 = Keyboard.Z
// do sharp
midi.csharp5 = Keyboard.s
// re
midi.d5 = Keyboard.x
// re sharp
midi.csharp5 = Keyboard.d
// me
midi.e5 = Keyboard.c
// fa
midi.f5 = Keyboard.v
// fa sharp
midi.fsharp5 = Keyboard.g
// so
midi.g5 = Keyboard.b
// so sharp
midi.gsharp5 = Keyboard.h
//la
midi.a5 = Keyboard.n
// la sharp
midi.asharp5 = Keyboard.j
//si
midi.b5 = Keyboard.m
//do
midi.c6 = Keyboard.k
// do sharp
midi.csharp6 = Keyboard.lComma
// re
midi.d6 = Keyboard.dot
// re sharp
midi.dsharp6 = Keyboard.semicolon
// me
midi.e6 = Keyboard.slash

midi.PitchWheel = MapRange(Mouse.y, 0,1, 0,1)
midi.ModWheel = MapRange(Mouse.x, 0,1, 0,1)
--------以上是程式


進階GlovePIE 程式編寫範例 (未完...)

滑鼠
移動, 滑鼠左右鍵和鍵盤A 的組合

if keyboard.a=1
midi.FirstNote = MapRange(Mouse.x, 0,1, 63,65)
else
midi.FirstNote = MapRange(Mouse.x, 0,1, 60,62)
endif

midi.SecondNote = MapRange(Mouse.y, 0,1, 48,50)
midi.c4 = Mouse.LeftButton
midi.d4 = Mouse.rightButton

midi.PitchWheel = MapRange(Mouse.y, 0,1, 0,127)/127

用F9壓出 C 大調和弦

midi.c4 = Keyboard.F9
midi.e4 = Keyboard.F9
midi.g4 = Keyboard.F9

其它指令請參考
GlovePIE030/documentation.rtf
Command and other Statements
MIDI

... 未完












Thursday, February 28, 2008

關於聲音

我們定義聲音大概從以下4方面著手

1 音高 pitch
聲波反覆震動的次數 通常以每秒震動幾次為單位 Hz

聲波以固定頻率震動時 我們會感覺到固定音高 例如: 電視撥放前的 1000 Hz 測試音
聲波以隨機頻率震動時 我們會感覺到雜音(NOISE) 例如: 廣播電台頻道間的雜訊
注意頻率較低雜音我們稱為 BROWN NOISE 幾乎全頻的雜音我們稱為 WHITE NOISE

人耳聽覺範圍大概 20 -20000 Hz

2 音量 loudness
聲波的振幅

振幅大感覺聲音大聲 振幅小讓我們感覺小聲 或者聽不到

3 音色 timbre
聲波波形的不同

因為材料 震動方式等不同原因 不同物品或樂器會發出不同音色的聲音
我們用可以用音色分辨樂器 認人或者 ...

這很難說清楚 用示波器幫忙 可以看到不同樂器發出的聲音 波型上的不同

4 音場 acoustic
發聲體 空間 和 收聽者 之間的空間關係



Friday, February 22, 2008

影像與聲音 96 學年度 第 2 學期

教學目標: 實際數位聲音處理, 數位音樂創作, REMIX, 為影像配樂. 需自備電腦及電腦音樂程式

每週授課進度表
週次 月/日 授 課 內 容
2/25 課程介紹、作業規範/ 數位聲音 電子聲音 50個以上形容數位聲音的單字
3/3 軟硬體 處理聲音示範 怎樣讀音樂軟體說明書 (以ABLETON LIVE為例)
3/10 我常去的電腦音樂相關網站 (作業: 提供一個免費音樂相關的網路遊戲或程式 需附網址)
3/17 在課堂上 分享這程式或網站 好玩在哪裡 (需確認教室電腦能否上該網站或跑該程式)
3/24 CUBASE (NUENDO )音樂創作示範
3/31 X 3.28- 4月初 自行參觀2008第三屆台灣國際兒童電視影展魔法花園 實際玩一玩展出的 多媒體裝置 地點. 敦南誠品
4/7 ABLETON LIVE 音樂創作示範 (交作業: 形容魔法花園其中一兩項作品如何操作 使用心得及如何改善 )
4/14 同學音樂電腦音樂創作 解決問題 播放及給分 PART 1 (要帶電腦來SHOW出創作過程)
4/21 X 期中考試週
4/28 同學音樂電腦音樂創作 解決問題 播放及給分 PART 2 (要帶電腦來SHOW出創作過程)
5/5 1976 - 耳機裡的新浪潮 REMIX 示範 (作業: REMIX 1分鐘任何音樂)
5/12 同學 REMIX 音樂作品 問題解決及部分作品呈現及給分 (要帶電腦來SHOW出創作過程)
5/19 同學 REMIX 音樂作品 作品呈現及給分 (要帶電腦來SHOW出創作過程)
5/26 X 畢業班學期考試
6/2 "克蘭詩" 電視廣告配樂流程 及方法 (作業:: 分組為FLASH 或現成短片配樂)
6/9 FLASH 或現成短片配樂作品 問題解決及部分作品呈現及給分 (要帶電腦來SHOW出創作過程)
6/16 FLASH 或現成短片配樂作品 呈現及給分 (要帶電腦來SHOW出創作過程)
6/23 X 期末考試週
6/30