Compiling Supercollider 3.5 under Ubuntu Precise with gedit support
- Get the source. Now Supercollider's source at sourceforge.net is at version 3.5-rc3
http://sourceforge.net/projects/supercollider/files/Source - Prepare required packages:
Add this PPA repository: https://launchpad.net/~supercollider/+archive/ppa
or use command
$ sudo add-apt-repository ppa:supercollider/ppa && sudo apt-get update
Then...
$ sudo apt-get build-dep supercollider
$ sudo apt-get install cmake libcurl4-openssl-dev emacs libqt4-dev - Unpack the source package.
- Compile:
$ cmake -DSC_ED=on
$ make
$ sudo make install
Since supercollider source code was designed to support gedit 2, in Ubuntu Precise running gedit 3, we have to copy or symlink two files for the plugin to work in gedit:
- $ mkdir ~/.local/share/gedit
$ mkdir ~/.local/share/gedit/plugins
$ cp /usr/local/lib/gedit/plugins/supercollider.* ~/.local/share/gedit/plugins - Trying in out:
$ sclang
sclang: error while loading shared libraries: libscsynth.so.1: cannot open shared object file: No such file or directorySo now I will cheat a bit ... :
$ sudo cp /usr/local/lib/libscsynth.so.1 /usr/lib
- Open gedit --> (menu) Edit --> Preferences --> (Tab) Plugins --> check at SuperCollider.
NOW I'M READY TO ROCK! Wahahhaah ... Starting Jack server ...
(in gedit)
{WhiteNoise.ar()!2}.play;
(press Ctrl-E)
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ Woohoo~ It works!
Kijjaz’s Recipe: Tomato-Gorgonzola Soup
แล้ววันนี้ก็เป็นวันที่สอง ที่ทดลองทำสูตรอาหารนี้ โดยตั้งชื่อว่าเป็นซุปมะเขือเทศ แบบ ..
Tomato-Gorgonzola Soup!
ความตั้งใจนี้ก็เริ่มมาจากที่ ตอนนี้ที่บ้านย้ายมาอยู่กันที่พัทยา แล้วก็ซื้อของกินมาติดบ้านไว้เยอะๆ อาหารบางอย่างก็หายากขึ้นเรื่อยๆ ในช่วงที่คนซื้อของไปช่วยเหลือคนที่ประสบกับภัยน้ำท่วมกัน สุดท้ายเราได้มะเขือเทศมาเยอะพอสมควร จนไม่แน่ใจว่ากินเปล่าๆไปเรื่อยๆจะหมดทันหรือไม่ จึงหาวิธีการนำมาทำอาหารชนิดอื่นๆด้วยที่ไม่ใช่แค่เอามาผัดๆอย่างเดียว
กระบวนการทำ ทำตามนี้ (จะพยายามเขียนเหตุผลที่คิดประกอบด้วย ถ้าคิดออก)
- นำมะเขือเทศที่จะทำซุป ไปแช่ไว้ในช่องฟรีส ให้แข็ง (ผมแช่ไว้ทั้งคืน)
- เอามะเขือเทศแข็งๆ มาตั้งทิ้งไว้ให้ละลาย .. เหตุผลที่เอาไปเข้าช่องฟรีสก่อน เพราะต้องการจะให้น้ำในเซลล์ต่างๆของมะเขือเทศ แข็งเป็นน้ำแข็ง ทำให้เกิดการทำลายผนัง และ เนื้อเยื่อของเซลล์มะเขือเทศ (ฆ่าอย่างโหดเหี้ยม) เมื่อเอามาละลายแล้ว น้ำในเนื้อมะเขือเทศ จะไหลออกมาเป็นน้ำใสๆ รสชาติออกเหม็นเขียวเล็กน้อยแต่เมื่อชิมดู ก็รู้สึกว่ามีความ อูมามิ (รสกลมกล่อม / รสน้ำต้มกระดูก) อยู่บ้าง .. เวลาละลายมะเขือเทศในขั้นตอนนี้ น้ำที่ไหลออกมานั้น อย่าเททิ้ง เพราะว่าคือ "น้ำจากมะเขือเทศ" ที่เป็นสิ่งสำคัญเราต้องการในการทำซุปนี้นั่นแหละ!
- พอละลายดีแล้ว ผมเอาช้อนมา ยีๆๆ ให้มะเขือเทศแตกๆออกเป็นเละๆ สับๆให้มันขาดเป็นชิ้นเล็กๆลง แล้วกวนไปกวนมา ให้เนื้อมะเขือเทศออกมาผสมกับน้ำใสๆที่เยิ้มออกมาในตอนแรก ตอนนี้จะได้เป็นเหมือนน้ำมะเขือเทศสีแดงๆ
- นำเอาน้ำมะเขือเทศที่ได้ ใส่ในหม้อ ตั้งไฟให้เดือด ใส่เนยเหลว, โหระพา ลงไปในน้ำ ปล่อยให้เดือดไว้ก่อน
- ต่อไปจะมาทำน้ำที่เป็นฝั่งของนมบ้าง
- เอานมมาใส่ถ้วย
- ใส่ชีสลงไปพอประมาณ ไม่ต้องเยอะไป (ในกรณีนี้ ใช้ Gorgonzola Cheese ซึ่งเป็น Blue Cheese ในแบบ Italian) ส่วนตัวผมคิดว่า ใช้ชีิสอะไรก็ได้ที่ชอบ ส่วนตอนนี้ที่คิดไว้ว่าจะใช้ Blue Cheese ก็เพราะคิดว่า ถ้าเอา Blue Cheese มากินเปล่าๆคงไม่ไหวแน่ๆเลยกับความเหม็นของมัน เลยตัดสินใจว่าจะเอามาทำอาหารอะไรซักอย่าง เพื่อกลบกลิ่นเหม็น แล้วดึงความหอมลึกๆของ Blue Cheese มาผสมเพื่อเป็นสีสันให้กับรสเรียบๆของมะเขือเทศ
- เอาเข้าไมโครเวฟจนร้อน แล้วเอาช้อนมา ยีๆ คนๆ ให้ชีสละลายกระจายๆไปในนม แผ่นๆราที่เกาะอยู่ตาม Blue Cheese หลุดกระจาย ลอยอยู่อย่างสม่ำเสมอในน้ำนมนั้น
- หลังจากนั้น เทนมอันนี้ลงไปรวมกับมะเขือเทศที่ต้มไว้
- ปรุงเพิ่มด้วย ซอสมะเขือเทศเล็กน้อย (เอาความหวาน), เกลือ, พริกไทย, กระเทียมผง (หรือคิดว่า ถ้าต้มกระเทียมสดจริงๆกับตอนแรกที่ต้มมะเขือเทศก็ได้ แต่ไม่ต้องใส่เยอะ) โดยเฉพาะพริกไทย ถ้าใช้พริกไทยดำ ก็ใส่เยอะๆให้ความแซ่บกับน้ำได้
- ความเค็มจะได้มาจากชีสพอประมาณแล้ว ไม่ต้องใส่เกลือเยอะ ลองชิมเรื่อยๆ
Blurring Timbre: between Pitch and Rhythm
สองความรู้สึกที่เป็นองค์ประกอบสำคัญของงานดนตรีต่างๆ ก็คือ pitch และ rhythm (ส่วน harmony ก็มีทั้งความเป็น pitch (เสียงความถี่ต่างๆกัน) และ rhythm ด้วย (เล่นในจังหวะไหน เปลี่ยนแปลงไปอย่างไร)) ไอเดียใหม่ที่คิดได้ก็คือ ทำอย่างไร ให้ตัวเพลง เข้าสู่จุดที่ pitch และ rhythm เริ่มสูญสลาย คือ sense of pitch สูญสลายไป (เริ่มฟังไม่ออกว่าเป็นโน้ต) และ sense of rhythm หายไป (เริ่มเคาะไม่ถูกว่าจังหวะอยู่ตรงไหน)
เรื่องนี้ต้องอาศัยเรื่อง Psychoacoustics ในการอธิบายเล็กน้อย ก็คือ คนรับรู้ความรู้สึกของ pitch ในย่านความถี่ไหน? โดยปกติแล้ว คนเราก็มักจะเริ่มได้ยินความเป็น pitch ได้ที่ประมาณ 20-30hz ขึ้นไป
ส่วนจังหวะนั้น เวลาที่มีอะไรรัว เช่นประมาณ 10-20hz ก็ยังพอจะฟังเป็นจังหวะได้ เช่นการรัว snare ของลุง Buddy Rich เป็นต้น แต่เมื่อสูงไปกว่านั้น สมองก็เริ่มตีความเป็น pitch
การที่เราจะทำให้เสียงนั้น เบลอร์ ระหว่างความเป็น pitch และ rhythm นั้น ก็คือการใช้เสียงที่มี cycle การเกิดอยู่ในช่วงแถวๆ 20hz นี่แหละ (ถ้ามองในเชิงของว่าเสียงเหล่านี้ห่างกันประมาณเท่าไหร่ ก็คำนวณได้ 1 วินาที หารด้วย 20hz ได้เป็น 0.05 วินาที หรือ 50ms
การที่เราทำให้เสีย รัว อยู่ในช่วงความห่างประมาณนี้ (ไม่จำเป็นต้อง 50ms เป๊ะๆ แต่เพิ่มลดได้) สิ่งที่รู้สึกได้แทนที่จะเป็นความรู้สึกของ pitch ก็คือจะเรียกว่า timbre หรือ tone color หรือ เนื้อเสียง นั่นเอง
ซึ่ง ถ้าเราทำเพลงขึ้น จากเทคนิคนี้ เราจะได้ออกมาเป็น sound ในลักษณะไหนนะ? ก็ต้องลองดูกันครับ ขอเวลาทำหน่อย
Irreversible Sounds, Irreversible Songs
มีแนวคิดใหม่ ที่ไม่ใช่เรื่องใหม่เลย เกี่ยวกับการออกแบบ เสียงแต่ละเสียง (หรือ bar หรือ ท่อน) ไปจนกระทั่ง เพลงหนึ่งเพลง ได้แนวคิดมาว่า เราสามารถออกแบบโดยใช้แนวคิดของการ Irreversible ได้ ... ในที่นี้ Irreversible มีความหมายว่า Reverse ไม่ได้ ซึ่งแปลว่า เมื่อ Reverse แล้ว จะกลับมาเหมือนตัวเองอีกรอบ
ยกตัวอย่างวิธีการทำ Sound ที่เป็น Irreversible ก็คือ การนำเอาเสียงอันนั้น มา Reverse แล้ว บวกเพิ่มเข้าไปกับเสียงเดิม ก็จะได้ผลลัพธ์เป็นเสียงที่ Irreversible ทันทีเลย อีกอย่างที่ผมมองว่าทำได้ ก็คือ การนำเสียงมา Reverse แล้ว Inverse (นำเอามาคุณด้วย -1) แล้วค่อยบวกเพิ่มเข้าไป ... ลักษณะเสียงของเสียงที่ Inverse ฟังเผินๆจะเหมือนกับเสียงเดิม แต่ว่าพอเอามาบวกแล้ว ผลที่ได้มันจะต่างกันในเชิงของ Phasing
เสียงประเภท Irreversible มีลักษณะอย่างหนึ่งคือ ไม่ว่าเราจะฟังจากหน้าไปหลัง หรือหลังไปหน้า ก็จะมีผลลัพธ์แบบเดียวกัน คราวนี้ ถ้าเรานำแนวคิดนี้ มาสร้างเป็นเพลงทั้งเพลง (คือเพลงที่ฟังยาวๆ จากต้นเพลงไปท้ายเพลง หรือเอาเพลงมา Reverse เหมือนย้อนเทปจากหลังไปหน้า ก็จะได้เสียงแบบเดียวกัน) จะเป็นอย่างไร
หรือทำในเชิงของทั้งตัวเพลง และตัวเสียงด้วย คือตัวเพลงก็เป็น Irreversible ด้วย และ Sound ต่างๆที่นำมาประกอบเป็นเพลงก็เป็น Sound ประเภท Irreversible เช่นกัน ทำให้เกิดความ สมมาตร (Symmetry) ในแต่ละจุุดของเพลง เหมือนเป็นเพลงที่ประกอบขึ้นจากวัสดุต่างๆ ผสมกับกระจกสะท้อนแสง
ไว้ทำการทดลองในแนวนี้แล้วจะเอามาให้ฟังกันครับ
Reading & Playing Basic Jazz Chords
ขอทำเอกสารนี้ขึ้นมา สำหรับช่วยให้ข้อมูลเรื่องการทำความรู้จัก อ่าน และเล่นคอร์ดทาง jazz อย่างง่ายๆ จัดทำโดยเฉพาะสำหรับน้องๆ CU Band และ BANdSHI
พื้นฐานที่ต้องรู้
รู้จักโน้ตในสเกล Major ต่างๆ หรือ ถ้าจำไม่ได้ ก็สามารถที่จะไล่ได้ .. ให้ใช้อันนี้เป็น reference ได้ .. เป็นคีย์ Major ทั้งหมด
คีย์ - # หรือ b ที่มี
C - ไม่มี #, b
G - F#
D - F# C#
A - F# C# G#
E - F# C# G# D#
B - F# C# G# D# A#
F# - F# C# G# D# A# E#
C# - F# C# G# D# A# E# B#
C - ไม่มี #, b
F - Bb
Bb - Bb Eb
Eb - Bb Eb Ab
Ab - Bb Eb Ab Db
Db - Bb Eb Ab Db Gb
Gb - Bb Eb Ab Db Gb Cb
Cb - Bb Eb Ab Db Gb Cb Fb
รู้จัก Triads หรือคอร์ดที่มีโน้ต 1-3-5
คอร์ด Major ให้เขียนชื่อคอร์ดตรงๆเลย เช่น C, Eb (บางกรณีของ โน้ตแจ๊ส อาจะเห็น ma หรือ maj ต่อท้าย)
โน้ต 1 3 5
คอร์ด Minor ให้เขียน m หรือ mi หรือ min ต่อท้าย เช่น Cm, Ebm
โน้ต 1 b3 5
คอร์ด Diminished ให้เขียน dim หรือ กลมๆ (o) ต่อท้าย เช่น Cdim, Ebdim, Co, Ebo
โน้ต 1 b3 b5
Seventh Chords
คอร์ด 7 มีสามอย่าง
- maj7 เป็นคู่ 7 Major จาก Root
- 7 เป็นคู่ 7 Minor จาก Root
- 6 เป็นคู่ 6 Major จาก Root
ให้เขียนหลังจากที่เขียนว่าเป็น Major หรือ Minor ส่วนกรณี dim จะมีแค่กรณีเดียวคือ dim7 หรือ o7
เช่น Cmaj7, C7, C6, Cm maj7, Cm7, Cm6, Cdim7 หรือ Co7
ยกตัวอย่างโน้ตที่เล่น: Cm maj7 = C Eb G B, Cm6 = C Eb G A, Cdim7 = C Eb Gb Bbb หรือ C Eb Gb A
คอร์ด dim7 หรือ o7 มีโน้ต 1 b3 b5 bb7 หรือมองเป็น 1 b3 b5 6 หรือ 1 b3 #4 6 ก็ได้
Suspended Chords
มีสองประเภท คือ sus2 และ sus4
sus2 คือ ตัดตัว 3 แล้วเพิ่มตัว 2
sus4 คือ ตัดตัว 3 แล้วเพิ่มตัว 4
Csus2 = C D G, Csus4 = C F G
สามารถมาผสมกับ 7th ได้ เช่น
C7sus2 = C D G Bb, C7sus4 = C F G Bb
Tension Chords
คอร์ดตระกูล Triads ทั้งหลาย จะเห็นว่าสร้างขึ้นจากคู่ 3 ต่างๆ ซึ่งถือว่าเป็นขั้นคู่ที่ค่อนข้าง Consonant (เสียงกลมกล่อม) เมื่อคอร์ดเริ่มมี 7th ความกัด (Dissonant) ก็สูงขึ้น แต่เมื่อคอร์ดนั้นมีโน้ตต่างๆเพิมขึ้นเป็นพิเศษอีก ย่อมเกิดขั้นคู่กัดต่างๆอย่างแน่นอน จึงเรียก Tension Chords (ทำให้เกิดเสียง Tension พวกเสียงกัด ที่เพิ่มความเครียดให้กับการประสานเสียง)
สิ่งที่เกิดขึ้นได้ใน Tension Chords:
- การมี 9
- การมี 11
- การมี 13
- การเปลี่ยน 5
- ข้อกำหนดอื่นๆ
ทำความรู้จักคอร์ดประเภท 9, 11 13
ทำความรู้จักสัญลักษณ์: การ add โน้ตเข้าไปใน chord ให้เขียนไว้ในวงเล็บ เช่น (9) แปลว่า add 9 คือเพิ่มโน้ตตัว 9
การเปลี่ยน 5 ให้ใช้วงเล็บและชนิดของ 5 ที่ต้องการ เช่น (b5), (#5)
คอร์ด 9 คือคอร์ด 7th ที่ add 9 (เพิ่ม 9) .. 9 คือโน้ตเดียวกันกับ 2
คอร์ด 11 คือคอร์ด 7th ที่ add 11 .. 11 คือโน้ตเดียวกับ 4
คอร์ด 13 คือคอร์ด 7th ที่ add 13 .. 13 คือโน้ตเดียวกับ 6
แต่มีข้อกำหนดดังนี้:
คอร์ด 9 คือเหมือน 7 add 9 ปกติจะเขียน 7(9)
คอร์ด 11 มีสองกรณี: (1) ถ้าเป็นคอร์ด Major การเล่น 11 ต้องตัด 3 ทิ้ง เพราะ 11 (คือ 4) กับ 3 จะกัดกัน .. (2) ถ้าเป็นคอร์ด Minor การเล่น 11 ให้เล่น b3 เหมือนปกติ
คอร์ด 13 คือเหมือน 7 add 13, 9 ปกติจะเขียน 7(13 9)
ยกตัวอย่าง (โน้ตที่วงเล็บไว้ คือตัว 5 แปลว่า เล่นก็ได้ ไม่เล่นก็ได้ ปกติจะไม่จำเป็นต้องเล่น แต่ถ้าต้องความแน่น ก็ใส่ได้)
Cmaj9 = Cmaj7(9) = C E (G) B D
C9 = C7(9) = C E (G) Bb D
Cm9 = Cm7(9) = C Eb (G) Bb D
Cm maj9 = Cm maj7 (9) = C Eb (G) B D
C6(9) = C E (G) A D
Cm6(9) = C Eb (G) A D
C11 = C7(11 9) no 3 = C (G) Bb D F <-- คิดเป็น Bb on C หรือ Gm7 on C, หน้าตาเหมือนคอร์ด C7sus4(9) แต่เขียน C11 สะดวกที่สุด
Cm11 = Cm7(11 9) = C Eb (G) Bb D F
Cmaj13 = Cmaj7(13 9) = C E (G) B D A
C13 = C7(13 9) = C E (G) Bb D A
Cm13 = Cm7(13 9) = C Eb (G) Bb D A
นอกนั้น ถ้าต้องการใช้ tension ตัวไหน ให้เขียนลงไปเลย tension ที่ใช้ได้คือ b9 9 #9, 11 #11, 13 b13
ยกตัวอย่าง:
C7(b9) = C E (G) Bb Db หรือเล่นด้วย Edim7, Gdim7, Bbdim7, Dbdim7 = C#dim7
C7(#9) = C E (G) Bb D#
C7(b9 #9) = C E (G) Bb Db D#
Cmaj9(#11) = C E (G) B D F#
C9(#11) = C E (G) Bb D F#
C13(b9) = C E (G) Bb Db A
C7(b13 b9) = C E (G) Bb Db Ab
การเปลี่ยน 5
(เป็น tension chord ชนิดหนึ่ง) วิธีการเปลี่ยน เปลี่ยนได้สองอย่างคือ (b5) และ (#5) รวมไปถึงมีสองอย่างคือ (b5 #5) ให้เขียนวงเล็บเกี่ยวกับการเปลี่ยน 5 นี้ หลังจากวงเล็บที่ add ต่างๆ
ยกตัวอย่าง:
Cm(b5) = C Eb Gb <-- เหมือน Cdim
C(#5) = C E F# <-- เหมือน C aug คือคอร์ด augmented triad นี่เอง
C7(b5) = C E Gb Bb (คอร์ดอันนี้เจอค่อนข้างบ่อย)
C7(#5) = C E G# Bb (คอร์ดอันนี้เจอค่อนข้างบ่อย)
Cm7(b5) = C Eb Gb Bb (คอร์ดอันนี้เจอบ่อยมาก เรียกว่า half-diminished เป็นคอร์ด ii หรือ 7th chord คอร์ดที่ 2 ปกติของคีย์ minor)
C9(b5 #5) = C E Gb G# Bb D (เสียงเหมือน C whole-tone scale = C D E F# G# A# C)
ไม่มีคอร์ดที่เป็น b13 และ #5 พร้อมกัน เพราะเป็นโน้ตตัวเดียวกัน ถ้าจะไม่ใช้ 5 แล้วใช้ b6 แทน ให้เลือกเขียนเป็น (#5) ดีกว่า
ชื่อคอร์ดพิเศษอื่นๆอีก
คอร์ด alt. หรือ altered chord หมายถึง 7(#9)(#5)
เช่น C alt. คือ C7(#9)(#5) = C E G# Bb D#
มาจาก altered scale หรือ super locrian (เป็น mode อันหนึ่ง) ซึ่งมีโน้ต 1 b2 b3 b4 b5 b6 b7 8
เวลา add โน้ตให้คอร์ด dim7 ไม่ต้องเขียนว่าเป็นเลขอะไร ให้เขียนเป็นโน้ตเลย
Cdim7 add D คือ C D Eb F# A
Cdim7 add F คือ C Eb F F# A
Cdim7 add G# คือ C Eb F# G# A
Cdim7 add B คือ C Eb F# A B
Cdim7 add B, D คือ C D Eb F# A B .. เป็นต้น
(หมายเหตุ: โน้ตข้างบนนี้ มาจากสเกลตระกูล octatonic คือ diminished scale แบบ whole-half คือ C D Eb F F# G# A B C)
การเขียนคอร์ด on Bass
ใช้ชื่อคอร์ดหนึ่ง แล้วก็ on หรือเครื่องหมายทับ (/) บนเบสที่ต้องการเล่น เช่น
D/C = เบส C + D F# A
G7/C = เบส C + G B D F
Eb on A = เบส A + Eb G Bb
การเขียน Polychord
เป็นการเล่นคอร์ดอันหนึ่ง เพิ่มขึ้นไป สูงกว่าคอร์ดอีกอันหนึ่ง เล่นทั้งสองคอร์ดพร้อมกัน
วิธีการเขียนคือ ให้เขียนเหมือนเขียนสัดส่วน มีบน มีล่าง เช่น
A
-- จะกลายเป็น C E (G) Bb C# E A
C7
Db7
-- จะกลายเป็น G B (D) F + Db F Ab Cb <-- ซึ่ง Cb คือโน้ตตัวเดียวกับ B นั่นเอง
G7
การเล่น Modal Chord (คอร์ดที่ใช้ชื่อ Mode มาลงท้าย)
คอร์ด Lydian ให้เล่นเหมือน maj7(#11 9) ก็ได้ C Lydian --> C E B D F#
คอร์ด Ionian ให้เล่นเป็น 1 4 7 3' ก็ดี C Ionian --> C F B E
คอร์ด Mixolydian อนุโลมให้เล่นเป็น 11 ได้เช่น C Mixolydian --> C11 = Bb on C หรือ Gm7 on C
หรือจะเล่นเป็น C7 add 4 ก็ได้ = C E F (G) Bb
คอร์ด Dorian ให้เล่นเป็น m6(9) หรือ m13
C dorian --> Cm6(9) = C Eb (G) A D
C dorian --> Cm13 = C Eb (G) Bb D A
คอร์ด Aeolian ให้เล่นเป็น m(b6) คือ C Aeolian --> C Eb G Ab (ควรรักษา G ไว้ เพราะไม่งั้นจะกลายเป็นคอร์ด Ab Major)
คอร์ด Phrygian ให้เล่นเป็น m7(b9) คือ C Phrygian --> C Eb (G) Bb Db
คอร์ด Locrian ให้เล่นเป็น m7(b9)(b5) คือ C Locrian --> C Eb Gb Bb Db
Ideas for ‘Free Flow’, the new & different dance music style
ที่มา
ช่วงหนึ่ง ผมได้ฟังดนตรี Electronic หลากหลายสไตล์ขึ้น โดยเฉพาะสายที่เป็น Dance Music ทั้งที่ค่อนข้างจะ Pop/Mainstream จนไปถึงสายที่เป็น Experimental/Noise แล้วก็เกิดความคิดขึ้นมาว่า .. ถ้าเราอยากจะทำแนว Dance ขึ้นมาใหม่เลย โดยที่มีองค์ประกอบที่แตกต่างจาก Dance ต่างๆที่เคยมีมา เราจะทำได้ไหม?
วิเคราะห์ (ความเห็นส่วนตัวนะครับ ไม่ได้มีวิชาการมารองรับ)
- อะไรคือ Dance Music? .. ถึงแม้การเต้นบัลเลต์จะเป็นการเต้นเหมือนกัน ฮิๆๆ แต่จะขอพูดถึง Dance Music ที่คนทั่วไปเข้าใจ / ชอบเต้นกัน .. ลักษณะของมันก็คือ มันมีจังหวะ และเสียง ที่น่าเต้น น่าขยับตาม มี Groove มีความหนักแน่นของจังหวะ .. ผมมองว่า ไม่จำเป็นต้องเป็น Electronic Dance เท่านั้น .. (แล้วก็คิดภาพป๋า James Brown)
- ลักษณะเสียงที่มักจะได้ยินใน Dance Music ทุกประเภท? .. เสียงที่มี attack เช่น กลองต่างๆ Bass Drum, Snare Drum, ตี Hi-Hat โจ๊ะๆ เสียงเบสชัดๆ
- แล้วจริงๆแล้ว อะไรน่าจะเป็นหัวใจของการที่มันเป็นดนตรี Dance ได้? .. Groove, อารมณ์ที่เกิดจากการฟังความถี่ต่างๆ
- คำถาม: แล้วถ้าเราตัดข้อ 2. ออก (ห้ามมี attack) ออกไป จะสามารถคงข้อ 3. ไว้ได้หรือไม่? .. ตอบ: น่าสนแฮะ
- แล้วถ้าตัดข้อ 2. และ 3. ออกไปเลย คือ ไม่ต้องมีเสียงกระแทกๆ ไม่ต้องรีบนับจังหวะ จะกลายเป็นอะไร? .. ตอบ แถวนี้เขาเรียกแนว Ambiance (แต่ Ambiance ก็สามารถมี Groove ได้เหมือนกัน) .. ดังนั้น ถ้าจะคงความเป็น Dance ก็ยังต้องยึดกับการมี Groove
จึงกลายมาเป็น .. The Birth of Free Flow!
ความหมายของ Free Flow
free–flow·ing adj \-ˌflō-iŋ\ : characterized by easy freedom in movement, progression, or style
ยกตัวอย่างการใช้คำว่า Free Flow:
- There will be FREE FLOW of beers 14 June 2011 from 6.30pm onwards (while stocks last) but RSVP is needed in advance.
- Dad: Yo dawg, you going to dat bitch's party??
Son: Does it have a virgin free flow?
Dad: Yeah, its completely free!111!1! there's no entrance fee at all!11!!!1
(จาก http://www.urbandictionary.com/define.php?term=virgin%20free%20flow)
จะเห็นว่าเป็นคำที่มีความหมายไม่เลวครับ เลยอยากจะขอนำมาเป็นชื่อสไตล์เพลงเลย
แนว Free Flow เป็นอย่างไร?
- ความดังของเสียงต่างๆ (Amplitude, Amplitude Envelope): ห้ามมีเสียงกระแทก (Attack Time ของเสียงนั้นต้องยาวพอ เพื่อที่จะรู้สึกว่าเสียงค่อยๆ Fade เข้ามา), ห้ามมีเสียงที่ขาดลงทันทีทันใด (Release Time ก็ต้องยาวพอเช่นกัน)
หมายเหตุ: การที่อยู่ดีๆเสียงขาดไปโดยฉับพลัน ก็ถือเป็นการกระแทกเช่นกัน .. ดนตรีแนว Free Flow จะต้องไม่มีการกระแทก ไม่ว่าฟังแบบปกติ หรือเอามาฟังแบบ Reversed - ความถี่ของเสียงต่างๆ (Frequency): ห้ามเปลี่ยนความถี่ หรือย่านความถี่ของเสียงโดยฉับพลัน (เพราะไม่เช่นนั้น ก็จะเหมือนกับการเอาเสียงสองเสียงที่ต่างกัน แล้วใช้ Attack, Release ต่ำๆ จึงผิดกติกาข้อ 1.)
- ค่าการควบคุม (Control Values) อื่นๆต่างๆของเพลงก็เช่นกัน (เช่น ค่ีาของ Effect ต่างๆ) เป็นกรณีเดียวกับข้อ 2. คือ ให้เปลี่ยนอย่างนุ่มนวล ไม่มีการเปลี่ยนโดยฉับพลัน
- อนุญาตให้ใช้ Granular Synthesis ได้ สามารถสร้างเสียงเป็น Cloud ได้ .. แต่ต้องระวังไม่ให้มี Grain ใดที่อยู่ดีๆดังกระโดดออกมาจาก Cloud นั้นๆ .. Cloud ที่เหมาะกับสไตล์นี้ คือ Cloud ที่มี Grain มากๆ หรือ ความยาวของ Grain ค่อนข้างสูง จะได้ลดอัตราเสียงของการมีเสียงกระแทก
- ถ้ามีร้อง .. คำที่ใช้ ก็ต้องเข้ากับกฎนี้เช่นกันคือ ห้ามมีเสียงกระแทกหรือเปลี่ยนเร็วๆ เช่น ท ต ก พ ค ล ร ฯลฯ .. แต่เสียงที่มานุ่มๆได้ เช่น น (รีบๆ น ไม่ได้ ต้องค่อยๆเปิดลิ้น) ม (เช่นกันกับ น) อ (ต้องเฟดเสียงเข้า) ว .. ตอนเสียงจางไปก็เช่นกัน ใช้คำตายไม่ได้ ต้องเป็นคำเป็นเท่านั้น แล้วเฟดเสียงร้องออกทุกคำ
- แต่ต้อง Dance คือมีจังหวะให้โยกหัวตาม ไม่จำเป็นต้องจับจังหวะ 1 หรือจังหวะขึ้นห้องได้ แต่ว่าอย่างน้อยต้องมีอะไรที่ทำให้โยกตามได้ เช่นมีความเป็น pattern, cycle จนจับ groove ได้
รวมๆแล้ว จริงๆกฎข้อยากๆ มีอยู่ข้อเดียวครับ คือข้อ 1 เพราะ 2-5 ล้วนมีพื้นฐานจากข้อ 1 เท่านั้น ส่วนข้อ 6 เป็นเรื่องจำเป็น เพราะเราจะ Dance
Extreme Free Flow ~ !!!
ผมได้คิดข้อจำกัดเพิ่มสำหรับผู้ที่ต้องการทำ Free Flow ที่ขึ้นสูงระดับอุดมคติ (ไอ้ 1-6 ข้อข้างบน มันแค่ Popๆ เอาให้ง่ายเข้าไว้)
- ข้อมูลทุกอย่างที่ใช้ในเพลง สามารถเขียนเป็นรูปแบบของ Function ได้ คือ
s = f(t)
โดย s = สัญญาณที่จะนำไปใช้, t = เวลา โดยที่ t = 0 คือเวลาเริ่มต้นของเพลง - ค่า f(t) ต้องต่อเนื่องทั้งหมดในช่วงของ t ที่ใช้ในเพลง
- ให้ f'(t) คือ df(t)/dt
f'(t), f''(t), f'''(t), ... ก็ต้องเป็นฟังก์ชั่นต่อเนื่องเช่นกัน
ยกตัวอย่าง function ที่นำมาใช้ในกรณีนี้ได้ไม่ยากคือ linear, polynomial, exponential, logarithmic, trigonometry เช่น sin(), cos() แต่ต้องระวัง function tan() เพราะมีค่าไม่ต่อเนื่อง
เมื่อทำได้ถึง Extreme Free Flow ค่าทุกอย่างในเพลงจึงจะเป็นค่าที่ลื่นไหลอย่างหาจุดหักไม่ได้อย่างแท้จริง!!
(English Version)
Backgrounds:
These days I've been checking out more styles of electronic dance music, from pop & mainstream dance to more experimental & noisey ones. Then I got an idea: what if I wanna create a new dance music style with elements so different from other dance music?
Analysing Dance Music (based on my opinion only, non-academic!)
1. What is Dance Music? .. Ok, ballet is dance.. but I'd like to skip to everyday dance music first. The ones that we dance. Dance music has beats and the sounds & grooves that moves us. Dance Music doesn't have to be electronic at all. Think of James Brown!
2. What do we hear in Dance Music? .. I hear sharp attacks. e.g. Bass Drums, Snare Drums, punchy Hi-Hat & bass.
3. But what is the essential of dance? .. I say groove & that feeling of movement we percieve from sounds and frequencies.
4. Question: But if we eliminate the elements in 2. (no attacks allowed) .. Can we still maintain 3. (groove)? .. Answer: Hmmm.. Interesting!
5. Question: And if we eliminate both 2. and 3., what do we have? .. Answer: Ambiance. (but Ambiance can have grooves). So if we still wanna make it a dance, we still have to keep groove.
The Birth Of Free Flow!
free–flow·ing adj \-ˌflō-iŋ\ : characterized by easy freedom in movement, progression, or style
Example uses of the word Free Flow:
There will be FREE FLOW of beers 14 June 2011 from 6.30pm onwards (while stocks last) but RSVP is needed in advance.
Dad: Yo dawg, you going to dat bitch’s party??
Son: Does it have a virgin free flow?
Dad: Yeah, its completely free!111!1! there’s no entrance fee at all!11!!!1
(this one from http://www.urbandictionary.com/define.php?term=virgin%20free%20flow)
Now bad right? So I'm gonna use Free Flow as the name of this new style.
What are the characteristics of Free Flow?
1. Amplitude & Amplitude Envelope: No sharp attacks & no sharp release. (Long attack time & release time).
2. Frequency: No sudden changes in frequency of a sound. (Or it would sound like 2 sounds playing but with sharp release & then sharp attack of the new sound, which is against 1.)
3. Control Values (for example, in effects): Must be smooth as well.
4. Granular Synthesis & Cloud is allowed. But do not let one grain pop out too loud or it'd sounds like an attack. A nice cloud for this might have lots of grains per second or quite-long duration.
5. Vocal is allowed. But the spelling must be all smooth sounds. For example, ahhhhh ummmm meeee yawn <- these are ok. Thick <- Not ok. Ran <- Not ok. Lean <- Not ok. zzzZZZzzz <- ok.
6. But afterall, the song must be dance music! So there must be some groove/cycle/pattern in it so we can still bang our heads to it whether we can identify the first beat or not.
Actually, the hardest rule is number 1, because 2-5 are all generated from 1. And 6 is just to make sure that it must be dancable.
Extreme Free Flow ~ !!!
For those who are going to push Free Flow to the extreme, I've also prepared the model for generating Free Flow. Those 1-6 rules above are just childish comparing to this:
- All signals/values used for generating the song can be written in functional form:
s = f(t)
where s = (continuous) signal, t = time (starting from 0 where the song starts.)
- f(t) must be a continuous function.
- let f'(t) = df(t)/dt,f'(t), f''(t), f'''(t), ... all have to be contiuous functions as well.
Some good functions for making Free Flow music are: linear, polynomial, exponential, logarithmic, trigonometry .. like sin(), cos() .. but watch out for the jumps in tan().
If we can reach this stage, we can really produce a piece with all values all moving in perfect Free-Flow.
นำ [osc~] มาทำเสียง analog synth หนาๆ
อันนี้ก็จะเป็นตัวอย่างสิงที่ผมชอบทำเพื่อสร้างเสียง synth ที่ทำให้นึกถึงเสียงอุ่นๆ หนาๆ แบบยุค analog แต่จะสร้างเสียงขึ้นมาจากสิ่งที่มีอยู่แล้วเป็นพื้นฐานใน puredata ทุกอันครับ ก็คือ cosine wave oscillator สุดรักของพวกเรานี่เอง [osc~]
แนวคิดที่ผมจะใช้ก็คืออย่างนี้
- นำเสียง [osc~] มา คูณด้วยค่าค่าหนึ่ง เหมือนกับเป็น amplitude envelope เพื่อคุมความมากน้อยของการ "แตก" ในข้อถัดไป
- นำเสียงนั้นมาทำให้แตกโดยผ่าน [overdrive~] ซึ่งเมื่อค่า overdrive นี้สูงขึ้น (สูงมากกว่า 1 ไปเรื่อยๆ) ลักษณะของคลื่น ก็จะค่อยๆเปลี่ยนจาก sine wave ไปใกล้เคียง square wave มากขึ้น ?.. (ถ้าอุตริ ปรับค่า overdrive นี้ให้ติดลบ จะได้เสียงแตกแนว บดขยี้แปลกๆได้อีกด้วย แต่จะมีความรุนแรงมาก ลองฟังกันดูแล้วกันครับ ถ้าอยากมันส์)
- นำเสียงนั้นมา [moog~] เป็นการผ่าน low-pass filter ที่เลียนแบบวงจรจาก Moog Synthesizer สามารถปรับ cutoff frequency และ Q ได้
- นำเสียงที่ได้มาผ่าน [overdrive~] อีกอัน (อันนี้เทียบได้กับ "แตกหน้าตู้" ของเสียงที่จะออกมาอีกที)
- ได้เสียงที่ต้องการ
ลองดูจากภาพได้ครับ
เอา patch ไปฟังเล่นได้ครับที่นี่ (download this patch)
Fedora 14 for Music Making – Not Ubuntu 10.10 or 11.04
นี่ก็จะเป็นการเล่าประสบการณ์รวมๆครับ ที่ผมเคยลอง Linux Distribution ต่างๆมา (ไม่หลากหลายมาก) โดยหลักๆคือเพื่อทดลองเล่นโปรแกรมพวก Music / Music Synthesis / เขียนโปรแกรมทางดนตรี โดยเฉพาะเพื่อการเอามาเล่นสด (real-time) แบบลื่นๆ
สิ่งสำคัญที่ผมต้องการจากระบบก็คือ ความลื่น เพราะว่าเวลานำเอา Computer ไปเล่นพวก Electronic Music สดแล้ว เวลาเสียงกระตุกๆ มันจะฟังดูอ่อนด้อยลงไปทันที (แล้วก็หันไปมองคนที่เขาเล่น Mac กันลื่นๆ) ซึ่ง... ไม่ใช่สิ! เท่าที่เราลองมา Linux มันก็ลื่นได้นิ
.. (แต่นั่นมันก็นานมาแล้ว) ..
ครั้งแรกๆเลยที่ได้ลองเล่น Linux ช่วงนั้นประมาณ 5 ปีที่แล้วเลยทีเดียวครับ คือช่วงปี 2005 ตอนนั้นเลย Ubuntu 5.10 แล้วก็ 6.04-6.10 ตอนนั้นได้เปรียบเทียบกับการ install เอาจาก Debian พบว่าความลื่นในการเล่นพวก Music Synthesis แบบ real-time นั้น ไม่แพ้กันเลย .. จะมาต่างก็ตอนที่ เริ่มมีวิธีในการ install ตัว Linux Kernel ที่มี realtime preemptive ก็พบว่า ช่วยลด buffer overrun ไปได้บ้าง (กระตุกน้อยลง)
หลังจาก Ubuntu พัฒนาเพิ่มขึ้นเรื่อยๆ ความเร็ว ความลื่น ก็ตกลงเรื่อยๆอย่างน่าใจหาย ทำให้ผมชักสนใจลอง Linux Distribution หนึ่งที่ก่อนหน้านั้นผมไม่ค่อยได้สนใจ ก็คือ Fedora Core ตอนนั้น version 10
จุดเด่นที่ผมมอง Fedora Core เอง ไม่ได้อยู่ที่เรื่องที่เกี่ยวกับ Red Hat / Security / Server หรืออะไรทำนองนั้น แต่บังเอิญ?Center for Computer Research in Music and Acoustics หรือ CCRMA (อ่านว่า คาร์มา เหมือน "กรรม" ในภาษาไทย) แห่งมหาวิทยาลัย Stanford ซึ่งเป็นศูนย์ที่ใช้ computer ในการสร้างงานเสียง/ดนตรีสังเคราะห์ต่างๆ และมีงานวิจัยมากมายในสาขานี้ ได้สนับสนุน open-source software โดยเฉพาะการใช้ Linux Distribution ต่างๆสำหรับนักเรียนและการวิจัย (และเป็นการกระตุ้นให้งานต่างๆจากสถาบัน สามารถออกมาเป็น open-source ได้บ้างด้วย) โดยทางคณะ ได้เลือก Fedora Core เป็น?Distribution?มาตรฐานในการพัฒนาเครื่องมือต่างๆในทางดนตรีสังเคราะห์ โดยได้รับประโยชน์จาก open-source software ด้านดนตรีสังเคราะห์ที่มีอยู่แล้วในวงการนี้

ทาง CCRMA ได้ทำ และพัฒนา repository ชื่อ Planet CCRMA ขึ้นมา ซึ่งทำให้อาจารย์ นักศึกษา และบุคคลทั่วไป สามารถใช้ software ต่างๆสำหรับดนตรีสังเคราะห์ได้ง่ายๆ เพียงแค่ add repository นี้เข้าไปในระบบ Fedora Core ปกติที่มีอยู่แล้ว และแถมยังมี realtime preemptive kernel ให้เป็นพิเศษเสียด้วย
หลายๆ software ที่เป็น open-source อยู่แล้ว แต่ไม่มีใน distribution อื่น บางทีก็มีอยู่ใน repository นี้เหมือนกัน! และยังอัพเดทให้ทันสมัย ตั้งแต่ผมทดลองใช้ Fedora Core 10 + Planet CCRMA ปัจจุบันเพิ่งกลับมาลองเล่น Fedora Core 14 + Planet CCRMA ก็พบว่า มีการอัพเดท software ได้ดีมากๆ ต่างจากฝั่ง Debian / Ubuntu ซึ่งหลายๆ software ยังไม่มีคน build ไว้ใน repository
แต่ในทางกลับกัน หลายๆ software ก็สามารถหาง่ายๆได้ใน PPA เพื่อ Ubuntu เช่นกัน .. แต่นั่นยังไม่ใช่สิ่งที่ผมสนใจมาก
ที่สนใจเป็นพิเศษคือ ที่ผ่านมาค่อนข้างจะอกหัก จากการที่ Ubuntu ช้าลงเรื่อยๆอย่างน่าใจหายเมื่อ version ใหม่ๆออกมา .. จนถึงขั้นที่ ผมชักไม่รู้สึกภูมิใจแล้วเวลาเอา Laptop PC ที่มี Ubuntu อยู่ไปแสดงสด เพราะมักมีอาการกระตุก ทำให้ขาดความมั่นใจไปเลยรอบเลยทีเดียว
จนกระทั่งได้ตัดสินใจ ย้ายกลับมาทดลอง install Fedora 14 ตามด้วย RPM Fusion ตามด้วย Planet CCRMA (ซึ่งปัจจุบัน ยังไม่ได้ support Fedora 15 ซึ่ง Fedora 15 ยังอยู่ในขั้นทดลองกันอยู่) และพบว่า ความลื่นในแบบสมัยก่อนที่ผมเคยเห็นได้กลับมาแล้ว

ผมเองไม่มีความรู้อะไรเรื่องนี้เท่าไหร่ ว่าเกี่ยวข้องกับอะไรบ้าง เกี่ยวกับ kernel อย่างไร ฯลฯ แต่ในฐานะผู้ใช้ ผมพอใจมากๆเลยทีเดียวกับการหันมาทาง Fedora Core + Planet CCRMA สำหรับนำมาใช้ด้าน ดนตรีสังเคราะห์
นอกเหนือจาก Fedora Core ที่ใช้กับ Planet CCRMA ได้แล้ว .. ผู้ที่ใช้ CentOS ก็สามารถใช้ repository ของ Planet CCRMA ได้เช่นกัน
วันนี้ Ubuntu 11.04 เพิ่งจะ release ผมคงจะลองให้โอกาสมันอีกสักครั้ง ดูว่ายังพัฒนาขึ้นไหมในด้านนี้! .. ไม่งั้นผมอาจจะต้องใช้ Fedora Core เป็นหลักไปอีกนานเลยทีเดียว ^_^

![]()
Logo/Poster Design for Open-Source Next Generation Club

These graphics?work are licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Using Supercollider’s SwingOSC Plot
This little demonstration is using Supercollider http://supercollider.sourceforge.net with SwingOSC?http://www.sciss.de/swingOSC on Ubuntu 10.10.
The plot capability on Supercollider with the help of the graphical capabilities of SwingOSC (see Swing on Java) - you can plot many things easily in Supercollider. The things that you can plot right away: Function,?Env (envelope),?Buffer,?SoundFile,?Wavetable.
Let me demonstrate plotting some of these:
Plotting from a WhiteNoise unit generator:
Plotting from another unit generator Blip:
Plotting from an Array building from a function:
Plotting from an Envelope:
Plotting from a Wavetable:














