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

Sunday, December 9, 2007

native instruments beatportsync

native instruments 送 TRAKTOR 精簡版 beatportsync

1 到以下頁面
http://www.native-instruments.com/index.php?id=beatportsync&utm_source=beatportsync&utm_medium=Newsletter&utm_campaign=NL528_djmulti_dec
2 按download now
3 給個可用的EMAIL 選PC 或MAC 版
* 如果PC MAC 版都要重複步驟2
* MAC 請注意OSX版本是否合
4 NI 會把下載連結寄到你給的EMAIL
5 按連結下載 (也許連結會有DEMO字樣 下來還是正常版別擔心)
6 這連結只維持 8 小時 超過八小時請從步驟 1 開始

7 解壓縮後可以安裝
8 第一次執行填個EMAIL 就可以跑了

PS NI 不會亂寄垃圾信 大概一個月一封別擔心

對不起這程式我也不太熟所以有問題請自力救濟

聲音編輯程式常用的功能

最基本的聲音編輯就像在做早期盤帶剪接(或影片剪接)
剪下你要的聲音 然後把他們連在一起

電腦顯示的聲音的波形只能粗略表現聲音的音量變化 不能完全代表聲音的本質
進行聲音編輯剪接時別忘了反覆播放想要的聲音和做一半的聲音剪接成果

剪貼做完後最好適度調整聲音音量
聽起來才會更順

注意: 必須能快速放大縮小波形 才能隨心所欲選取想要的聲音 避免剪太早(會減到不要的聲音或空白)或者把聲音後面較小聲部分太早剪掉

基本編輯功能
CUT 剪下
COPY 複製
PASTE 貼上
DELETE 刪掉

進階編輯功能
GAIN (或 TRIM) 增減某段聲音音量
MIX 將貼上聲音和原來聲音混合
OVER WRITE 用貼上聲音蓋掉某段聲音
REPLACE 用選取的聲音換掉某段聲音
NORMALIZE 找出某段聲音最大聲部分 算出這部分和 0 db 差多少 例如 2 db, 4 db. X db 然後將整段聲音音量加上以上差距 NORMALIZE 可以算是GAIN 的一種

基本聲音特效
REVERSE 反向: 將聲音倒播 像唱牌到轉發出的聲音
PITCH 音高: 改變聲音的音高
TIME STRETCH 改變聲音長度: 將聲音播放時間延長或縮短
FADE IN FADE OUT: 讓某段聲音從很小聲漸漸變大 或從大聲漸漸變小