สวัสดีครับ วันนี้มาทำความรู้จักกับดนตรีแนวหนึงที่เรียกว่า live coding กันนะครับ ซึ่งจริงๆLive coding นี้เป็นคำศัพย์ที่หยิบยืมมาจากวงการโปรแกรมเมอร์ ซึ่งหมายถึงการเขียนโค๊ดสดๆนั่นเองนะครับ
วึ่งมันเหมาะเจาะที่จะนำทำเป็นดนตรีอย่างยิ่งเพราะเราสามารถเขียนโค๊ดเป็นดนตรีได้เลย ไม่ว่าจะเป็นการเขียนเพื่อสังเคาะห์เสียงหรือควบคุมอุปกรณ์อิเล็คทรอนิคต่างๆ ให้ออกมาเป็นเพลง ซึ่งในปัจจุบันก็นับเป็นแนวดนตรีแยกย่อยของอิเล็คทรอนิคนั่นเองครับ ซึ่งสิ่งที่ผมจะมาแนะนำก็คือเจ้า orca sequencer ซึ่งถือว่าเป็นโปรแกรม live coding ตัวหนึงที่ใช้งานไม่ยากจนเกินไป การทำงานของมันก็เป็นซีเควนเซอร์ 1 ตัวครับ ไม่มาสายโปรแกรมเมอร์จ๋า มีหน้าตาสวยงามเหมาะแก่การสายดนตรีจะนำไปใช้ประกอบการแสดงดนตรีอิเล็คทรอนิคอย่างยิ่งครับ เมื่อใช้งานก็จะแสดงผลคล้ายๆกับหน้าจอของแฮกเกอร์หรือคล้ายกับเราหลุดมาจากหนัง the matrix ยังงั้ยเลยครับ
ติดตั้งโปรแกรม
เอาหละครับใครที่เผลอกดเข้ามาอ่านแล้วก็ลองดูซักหน่อยเผื่อจะสนุกเริ่มแรกเลยให้เราเข้าไปที่ลิงค์นี้ https://hundredrabbits.itch.io/orca เพื่อดาวน์โหลดโปรแกรมมาก่อนครับ ซึ่งหากชื่นชอบโปรแกรมนี้เมื่อเรากดโหลดก็สามารถระบุจำนวนเงินเพื่อสนับสนุนผู้ผลิตได้ ถ้าอยากลองใช้ก่อนก็กดที่ no thank ข้างบนจะได้ไฟล์zip มาหนึ่งอัน จากนั้นให้สร้างโฟลเดอร์ชื่อorca ขึ้นมาแล้วแตกไฟลไปไว้ในโฟลเดอร์นี้ทั้งหมด ที่นี้ก็เรียกใช้ไฟล์ Orca.exe ได้เลย ซึ่งตัวOrca เองนั้นทำงานแค่ส่ง MIDI,OSC,UDP ออกไปภายนอกเท่านั้น ตัวโปรแกรมไม่สามารถสร้างเสียงด้วยตัวเองได้นะครับ ดังนั้นเราจึงจำเป็นต้อง มีอีก1 โปรแกรมเพื่อส่ง MIDI ออกไปเข้าที่DAWหรือซินอะไรพวกนี้ โดยผมจะใช้โปรแกรมชื่อว่า Loop MIDI เจ้าโปรแกรมตัวนี้ก็จะมีหน้าที่ต่อสร้างสายสัญญาณMIDI เพื่อเชื่อมระหว่างสองโปรแกรมนั่นเองครับดาวโหลดได้ที่นี้ http://www.tobias-erichsen.de/software/loopmidi.html เมื่อเปิดโปรแกรมขึ้นมาก็จะได้หน้าตาแบบนี้ เพื่อนๆสามารถกดเครื่องหมายบวกเพื่อสร้างสายสัญญาณแบบจำลองได้ โดยจะมีชื่อเรียก loopMIDI Port 1 2 3 4 ไปเรื่อยๆครับ แต่เราจะใช้แค่อันเดียวก็พอเพราะมันมีถึง16แชลแนลด้วยกัน

จากนั่นให้เปิด DAW หรือ ซินธ์อะไรก็ได้ที่ถนัดแล้วเลือก MIDI input ที่ตั้งไว้นะครับ ในที่นี้ผมเลือก MIDI input port เข้าที่ Ableton Live โดยติ๊กที่ช่อง input loopMIDI port เป็น on และลองเอาพวกซินธ์ใส่ในแทร็คแล้วกด monitor in ไว้เพื่อให้เราได้ยินเสียงเมื่อ orca ส่ง MIDI มานั่นเอง

หลังจากนั้น ให้กลับมาที่ ORCA แล้วกด CTRL + ] เพื่อเลือก midi port ที่orca ให้ตรงกับ Ableton ตามวงกลมสีแดงที่วางไว้ ก็เป็นอันขั้นตอนการเชื่อมต่อครับ

Base 36
ต่อมาดูที่ภาษาที่จะใช้สื่อสารกันในorcaกันก่อนซึ่งหากใครเคยฝึกเขียนโปรแกรมก็จะพบว่าในโลกนี้มีหลายภาษาโปรแกรมมากเช่น C,Python,Lua,Ruby ในOrca ก็จะมีภาษาของมันครับ ซึ่งภาษาที่Orca รับคำสังก็จะแบ่งเป็น
กลุ่มเป็น operator ซึ่งหมายถึงตัวดำเนินการต่างๆ เช่น ขยับไปทางซ้าย วิ่งไปข้างบน เดินถอยหลัง อ่านค่าจากสองตำแหน่งด้านหน้า พวกนี้จะใช้คำสั่งเป็นตัวอักษรพิมพ์ใหญ่เพียงตัวเดียวครับและสามารถนำหลายคำสั่งมาผสมกันได้
ต่อมาคือกลุ่มของ I/O หรือการระบุชนิดของ input/output นั่งเองครับจะแทนด้วยสัญลักษ์เช่นเครื่องหมาย : หมายถึงMIDI out เครื่องหมาย = หมายถึง OSC out ตามด้วยค่าต่างๆ
อีกกลุ่มหนึงคือตัวเลข จะใช้ระบบของเลขฐาน 36 มาแทนเลขฐานสิบที่เราใช้กันปกตินะครับโดยเป็นระบบเลขฐานที่มีสัญลักษณ์ 36 ตัว ประกอบไปด้วยเลข 0-9 และอักษรละติน A–Z โดยสัญลักษณ์เลข 0–9 มีค่าเท่ากับเลขศูนย์ถึงเลขเก้า และตัวอักษร A–Z มีค่าเท่ากับเลขสิบถึงเลขสามสิบห้าครับดุได้จากตาราง อย่างเช่น 10 ก็จะเขียนเป็น A แทนครับ 18 ก็เขียนเป็น I แทน เพราะเวลาOrca อ่านค่าต่างมันจะอาจแยกเป็นตำแหน่งหละหนึงตัวนั่นเอง ส่วนการนับลำดับวิธีการนับตามแบบโปรแกรมเมอร์เราจะเริ่มจากศูนย์ก่อนนะครับจำตรงนี้ไว้ให้ดี เช่น 0 1 2 3 อันนี้คือ 4ตำแหน่ง
ส่วนการทำงานของ Orca นั้นจะทำงานตามสัญญาณนาฬิกาตามซึ่งระบุไว้ที่ Tempo และ frame ด้านล่างครับจะเริ่มทำงานได้โดยการเปิดปิดนาฬิกาจาก คำสั่งclock ด้านบน หรือกดคีย์ลัด spacebar ก็ได้
สิ่งที่เราต้องทราบพื้นฐานใน Orca ก็มีเพียงเท่านี้ครับ

MIDI Out
หลังจากเชื่อมต่อแล้วเราจะมาเริ่มใช้ orca ด้วยคำสั่งง่ายๆกันก่อนโดยจะส่งMIDI ออกไปที่โน๊ต อันแแรกเลยที่เราต้องทราบคือคำสั่ง MIDI out ใน ocra จะใช้เครื่องหมาย ทวิภาค : และตัวเลขด้านหลัง 5 ตำแหน่งทีจะระบุข้อมูล midi ที่จะส่งออกไปครับโดยเรียงลำดับ จากซ้ายไปขวาคือ channel, octave, note, velocity, length โดยเรียงลำดับตามนี้ เช่น :05G6a ซึ่งจะพิมพ์ลงไปตรงส่วนใหนของตารางก็ได้นะครับ โดยจะแยกออก
เป็นตำแหน่งที่1 : คือระบุ MIDI Out
ตำแหน่งสองคือระบุแชลแนลของ midi เลข0หมายถึงแชลแนลแรกหรือแชลแนลที่ 1 นั่นเองครับ ถ้าเป็นเลข2ก็จะหมายถึงแชลแนลที่ 3 มาต่อที่เนื่องจาก MIDI มีแชลแนลตั้งแต่ 1-16ครับ
ตำแหน่งที่3 เลข5 จะหมายถึง ออคเตฟของโน๊ตนั้นๆ ในที่นี้ก็คือออคเตฟที่ 5
ตำแหน่งที่4ตัวG ในทีนี้จะหมายถึงโน๊ตซอลครับ ถ้าซอลชาร์ปจะใช้เป็นตัวพิมพ์เล็กแทน
ตำแหน่งที่ 6 ซึ่งจะตรงกับตำแหน่งของ Velocity หรือค่าน้ำหนักของโน๊ต ซึ่งแบ่งเป็น 16 ระดับจาก 0 ถึง g ครับ
ตำแหน่งที่ 7 หมายถึงความยาวซึ่งเท่ากับประมาญ 1 โน๊ตตัวดำครับ ในที่นี้เป็น A ก็ทีความยาวเท่ากับ 10 frame
ใครงงก็ดูรูปตามได้เลยครับ

ตอนนี้ก็ระบะค่า MIDI ที่จะส่งเรียบร้อยแล้ว แต่ เอ๊ะยังไม่มีเสียงออกมาเลย เนื่องจากเราต้องใช้คำสั่ง trigger หรือในภาษาคอมจะเรียกกันว่า bang ครับ bang ก็คือการสั่งให้เริ่มทำงานนั่นเอง
ถ้าเปรียบเป้นคนก็คือตอนนี้เรามีรายการที่จะทำแล้วแต่ยังไม่ได้รับคำสั่งให้ทำงาน เมื่อเรา(ชุดคำสั่ง)ได้รับ Bang(เครื่องหมาย*)งานของเราก็จะเริ่มทำนั่นเองครับ
โดย orca นั้นจะสั่ง bang ได้หลายรูปแบบ หลายทิศทาง ง่ายที่สุดก็คือการใช้ D ซึ่งตัวดีนี้จะส่ง Bang ออกทางชอ่งด้านใต้ตัวอักษร เมื่อเราพิมพ์ D ลงไปจะมีจุดสว่างขึ้นมาสามจุดคือ ด้านซ้าย ด้านขวา(input ) และด้านล่าง(output) ให้เราลองพิมพ์ D ลงไปตรงที่ว่างและกด spacebar เพื่อเริ่มนาฬิกา ก็จะเห็นเครื่องหมาย* กระพริบด้านล่างตัวอักษรD ที่นี้ลองนำD ไปวางให้ตรงกับด้านหน้าของคำสั่ง MIDI ที่เราเขียนไว้ ก็จะเป็นการ ส่งข้อมูลที่ระบุไว้ไปที่Ableton เรียบร้อยครับ

Making Melody
บทเรียนนี้จะเป็นการเริ่มสร้างทำนองครับ โดยมีการทำงานของคำสั่ง T และ C มาดูที่ T กันก่อนนะครับโดยเมื่อเราใส่ T ลงไปในที่ว่างจะเห็นมีจุด2จุดด้านซ้าย(..T)2ตำแหน่งที่และ output ที่จุดด้านล่างนะครับ ยกตัวอย่าง เช่น 14Tabcd จุดด้านซ้ายของTสองจุดก็คือ 4 สี่คือจำนวนข้อมูลด้านขวาครับมี4ตัวอักษร ส่วน1ก็คือลำดับของค่าด้านขวาที่อ่านอยู่ในขณะนั้นซึ่งก็คือตัวbนั่นเองเพราะตัวaเราจะนับเป็นศูนย์ครับ ที่นี้เมื่อเราเพิ่มสี่เป็นห้าหกไปเรื่อยจะเห็นว่าจำนวนแถวด้านขวาจะออกยาวไปเรื่อยๆ แต่ตอนนี้จะใช้แค่4จุดก่อนนะครับจากนั้น เราสามารถใส่ค่าอะไรไปก็ได้ที่ด้านขวาของT ในตัวอย่างผมได้ใส่โน๊ตabcd ไปนั่นเองครับ จากนั้นลองเลื่อนเคอร์เซอร์สีเหลืองมาที่ 1แล้วเปลี่ยนเป็น 0 1 2 3(4ตำแหน่ง) จะเห็นว่าค่าOutputด้านล่างจะเปลี่ยนไปตามตำแหน่งที่อ่านจากด้านขวา(abcd)ครับ

ต่อมาจะใช้คำสั่งC ซึ่งC จะทำงานโดยการสองค่าจากด้านขวาคือจำนวนที่จะนับจาก 0 และแสดงผลทางด้านใต้ ค่าด้านซ้ายคือความเร็วของการนับต่อ frame ยกตัว อย่าง 2C4
คือการนับ 4 ตำแหน่ง(0 1 2 3) ในทุก2 frameโดยด้านล่างของ C จะ output เป็นตัวเลขในพิกัดด้านขวาครับ

ที่นี้ผมจะต่อ output ด้านล่างของ C ที่วิ่งเป็นตัวเลข 0 1 2 3 เชื่อมต่อให้เป็น ค่าตัวแรกของ T เท่ากับว่า Tก็จะอ่านค่า ไปในลำดับ 0 1 2 3 นั่นเองครับ ได้output ของ c ออกมาเป็น โน๊ตวิ่งไปแบบอัตโนมัติที่ เป็นค่า abcd

ลำดับสุดท้ายจะเป็นการนำ output ของ T ที่เตรียมไว้ต่อเข้ากับคำสั่งMIDIอันแรกสุดที่เขียนนะครับซึ่งเป็นคำสั่ง :05G6a โดยจะเชื่อมต่อตรงตำแหน่งที่ 4 หรือค่าโน๊ตนั่นเองครับก้จะได้ยินเสียงmelody โดยเราสามารถเลือกปรัปความเร็วในการอ่านโน๊ตได้จากการระบุตัวเลขด้านหลังของD หรือหากโน๊ตมีเสียงยาวเกินไปก็ทดลองเปลี่ยนความยาวเป็นค่าเช่น 1 2 3 4 แทนก็ได้ครับ

และผมได้พิมพ์ตัวอย่างที่เสร็จแล้วไว้ในลิ้งค์นี้ https://pastebin.com/BTbhgWt1 เผื่อไว้หากเพื่อนไม่เข้าใจก็โหลดไปดูก่อนได้ครับ และในวีดีโอก็คือตัวอย่างเสียงที่ผสมเสร็จแล้วโดยใช้คำสั่งอื่นร่วมด้วยในระดับที่ซับซ้อนขึ้นไปอีกเอาไว้ให้ดูเป็นตัวอย่างครับ หากมีผู้สนใจเยอะก็จะมีสอนตอนต่อไปที่แอดวานซ์ขึ้นไปในคราวหน้านะครับ
“Sound of New Gen”
Mr Arranger
—————————————————-
ติดต่อโฆษณา : 0945653266
.
เพื่อไม่ให้พลาดโพสต์ของเรา ฝากกดติดดาว ⭐️ ให้กับ MrArranger
และติดตามเราผ่านช่องทางอื่นๆ ได้ดังนี้ :
Website : www.mrarranger.com
Twitter : www.twitter.com/mrArrangerTH
YouTube : Mr. Arranger
Instagram: www.instagram.com/mrarrangerthailand
Page Facebook
https://www.facebook.com/mrarranger
.
#คอร์สเรียนทำเพลงออนไลน์และเจอตัว
?mrarranger.com
?บทความทำเพลง mrarranger.com/blog
?ช่องยูทูป Mr Arranger
?IG : MrarrangerThailand
—————————————
?เข้ากรุ๊ปแบ่งปันความรู้และเทคนิค
?กรุ๊ป Mix & Mastering Thailand https://goo.gl/bU4HSJ
?กรุ๊ป Pro tools User Thailand >>
?กรุ๊ป Ableton Live User Thailand >>
?กรุ๊ป Mr.Arranger Thailand
?กรุ๊ป Cubase User Thailand >> https://goo.gl/tVFcmg
?กรุ๊ป FL Studio User Thailand>> https://goo.gl/XuidjP
?กรุ๊ป Live Soundengineers Thailand>> https://goo.gl/BRm5Zw
?กรุ๊ป แต่งเองเล่นเองนักเลงพอ Byเหนือ เอฟ >> https://goo.gl/GGYac8
ติดตามข่าวสารและโปรโมชั่นพิเศษก่อนใครที่
Line@ : @arranger
#mrarranger #music #FLstudio #สอนออนไลน์ #คอร์สเรียนออนไลน์ #ทำเพลง #สร้างเพลง #โรงเรียนสอนทำเพลง #AbletonLive #Logic #Cubase #รับผลิตเพลง #อัดร้อง #เพลงโฆษณา #เพลง #รับทำเพลงทุกรูปแบบ #เรียนทำเพลง
