Coding Music
โดยส่วนตัวเป็นคนชอบเสพย์ดนตรี และอยากเล่นดนตรี แต่เล่นไม่เป็น และได้มารู้จักกับ การทำดนตรีโดยการเขียน code
Sonic Pi เป็น โปรแกรมที่เขียน code เพื่อสร้างเสียงต่างๆ (Coding Synthesizer) นำมาทำเพลงได้ Sonic Pi download
Synthesizer : Sonic Pi
Synthesizer คือ เครื่องมือที่ใช้เพื่อสังเคราะห์เสียงออกมา โดยปกติ Synthesizer ที่เป็น HW ก็จะมี ส่วนหลักๆคือ Oscillator > mixer > filter > amplifier จนได้เสียงที่ต้องการ ส่วนเพิ่มเติมที่ใช้ในการ modify เสียงเช่น ADSR envelope และ modulator
Oscillator กำเนิดสัญญาณเสียง โดยพื้นฐานทุกสัญญาณเริ่มต้นมาจาก sinusoid y(t) = A sin (ωt+φ) ซึ่งอยู่ในรูป function ของ เวลา โดย A คือ Amplitude, ω คือ ความเร็วเชิงมุม, t คือเวลา, φ คือ เฟส

และยังมีสัญญาณพื้นฐานอีกเช่น Square, Sawtooth


Mixer เป็น module สำหรับรวมสัญญาณที่มาจาก Oscillator
Filter เป็น module กรองสัญญาณบางความถี่ออก จะทำให้ สัญญาณมี character ที่เปลี่ยนไป เสียงเปลี่ยนไป เช่น LPF จะยอมให้ย่านความถี่ต่ำผ่าน, HPF จะยอมให้ย่านความถี่สูงผ่าน
Amplifier ทำหน้าที่ขยายสัญญาณสุดท้าย
Sonic pi เป็น Synthesizer ที่ Path ให้สำเร็จเรียบร้อย เลือกเสียงไปใช้ได้และ modify เสียงได้
::: Basic Code :::
use_synth :beepplay 60sleep 1
use_synthเป็น function เลือกใช้ Synthesizer ตัวอย่าง code ใช้ :beep
play 60เล่นโน๊ต MIDI 60 (C4)
sleep 1 หยุด 1 วินาที โดย จังหวะที่จะเล่นในเพลงนั้นเรียกว่า bpm (beat per minute)
ถ้าไม่กำหนด bpm ให้เพลงนั้น Sonic pi จะมี default เป็น bpm = 60 หมายความว่า ใน 1 นามี จะมี beat 60 beat ใน1นาทีดังนั้น sleep 1 = 1 วินาที
กรณี ตั้งค่า bpm = 120 use_bpm 120 หมายความว่า ใน 1 นามี จะมี beat 120 beat ใน1นาที ดังนั้น sleep 1 = 0.5 วินาที
Code เพลง TWINKLE TWINKLE LITTLE STAR
Code ค้นหา path ของ synth ใน Sonic Pi
ตารางเทียบ MIDI note, ความถี่, note A B C.
ขอให้สนุกกับการเขียน code และ sounds