INPUT: {144,128},9,40,*,*,* FORWARD: *,9,38,*,*,*
วิชา EMK101 : XTreme Karaoke Assignment
ขอเดาตอบก่อนเด้อครับ ยังไม่ได้ลองจริง เพราะไม่มี license บังเอิญว่าลงวินโดวส์ใหม่
- ท่านใดที่ไม่ต้องการปิดเสียง melody แต่ต้องให้ให้มีเสียงคลอเบา ๆ จะใช้คำสั่งอย่างไรAns :
INPUT: {144,128},8,*,*,*,* FORWARD: *,8,*,-50,*,*อยากให้เบามาก ก็ลบมากๆ ส่วนใหญ่ ค่าเฉลี่ยโน๊ตเมโลดี อยู่ที่ 100
- มีเพลงเก่า ๆ ที่ทำเสียงดนตรีเบาไป หรือบางเพลงดังไปถ้าจะปรับความดังของเครื่องดนตรีให้เท่ากันทุกเพลงโดยไม่ต้องไปแก้ไข midi ทุกเพลง แต่ใช้ Midi Tables ต้องทำอย่างไรAns volume ของแทร็ก หรือ velo ของโน๊ต คับ
ถ้า velo ตอนนี้คิดออกแค่ทางเดียว คือ ทุกอัน เจอกันที่ปลายทาง คือเต็มแม็ก 127 (แล้วมันจะเพราะเหรอครับ เหมือนเล่นคีย์บอร์ดที่ไม่มีทัชชิ่ง)
INPUT: {144,128},*,*,*,*,* FORWARD: *,*,*,127,*,*แต่ถ้า track volume หลังจากแกะรอย map function ข้างบนแล้ว
พบว่า INPUT: {144,128},9,40,*,*,* FORWARD: *,9,38,*,*,*
144 มันคือ 10010000 == note on ซึ่งคือ status byte โดยที่ lsb 4 byte ให้เป็นศูนย์ไว้ เนื่องจาก ท่านจะรอบวกค่าที่อยู่หลังคอมม่า แมนบ่
9 คือ 1001 มันคือ ch10
รวมแล้ว ก็คือ ถ้ามันจะ status byte เป็น 10011001 ซึ่งแปลว่า note on ณ ch10
ส่วน 40 กะ * คือ databyte 2 ตัว สำหรับโน๊ตออน มันก็คือ เลขโน๊ต กับ ความดัง
เพราะฉะนั้น ถ้าจะ map track volume
ก็ต้องไปเล่น CC7 อัดให้มันเต็มแม็ก
ลองคิดเล่นๆ ก่อน
CC มันคือ 1011 ถ้าจะยึดรูปแบบข้่างบนคือ 4 ตัวข้างหลังใส่ศูนย์ไปก่อน ก็จะได้ค่า 10110000 ==> 176
ส่วน ch ก็ ใส่ * ลงไป เพื่อทำกับทุกแทร็ก
7 มันคือ 0111 ซึ่งก็คือ 7 (cc7 = volume)
ตัวต่อไป มันก็คือ value ซึ่ง อยากให้เป็นค่าอะไร ก็ล็อกลงไปเลย สมมุติว่า เป็น 100 แล้วกัน
ลองเขียนให้อยู่ในรูปข้างต้น
INPUT : 176,*,7,*,*,* FORWARD : 176,*,7,100,*,*
เพิ่งคิดออกแค่นี้ครับ
ผิดถูกประการใด โปรดชี้แนะ อิอิ