นี่คือสิ่งที่ตรงกันข้ามของดนตรี: มีอะไรในคอร์ดนี้? ซึ่งจะพิมพ์บันทึกในคอร์ดที่กำหนด เวลานี้อินพุตคือรายการบันทึกย่อในคอร์ดและงานของคุณคือส่งออกว่าเป็นคอร์ดใด
โปรแกรมของคุณควรรองรับคอร์ด triadic ต่อไปนี้ ตัวอย่างให้กับรูตซีคอร์ดกับรูทอื่น ๆ เป็นคอร์ดเดียวกันกับโน้ตทั้งหมดที่หมุนดังนั้น C จะกลายเป็นโน้ตรูทนั้นเช่น Dmaj ประกอบด้วย D, F # และ A
C C#D D#E F F#G G#A A#B
Db Eb Gb Ab Bb
Cmaj C E G
Cm C D# G
Caug C E G#
Cdim C D# F#
Csus4 C F G
Csus2 C D G
โปรดทราบว่า Caug นั้นเหมือนกับ Eaug และ G # aug และ Csus4 นั้นเหมือนกับ Fsus2 คุณสามารถส่งออกอย่างใดอย่างหนึ่ง แต่มีโบนัสถ้าคุณออกพวกเขาทั้งหมด
และคอร์ดที่เจ็ดสำหรับโบนัสจะแสดงรายการในตารางต่อไปนี้:
C C#D D#E F F#G G#A A#B
Db Eb Gb Ab Bb
C7 C E G A#
Cm7 C D# G A#
Cmmaj7 C D# G B
Cmaj7 C E G B
Caug7 C E G# A#
Cdim7 C D# F# A
กฎระเบียบ
- คุณสามารถเขียนโปรแกรมที่สมบูรณ์หรือฟังก์ชั่น
- อินพุตเป็นรายการโน้ตคั่นด้วยช่องว่างหรืออักขระอื่นที่สะดวก นอกจากนี้ยังสามารถเป็นอาร์เรย์ของสตริง (ถ้าใช้รับข้อมูลจากฟังก์ชั่นการโต้แย้ง) หรือการเป็นตัวแทนสตริงของอาร์เรย์ดังกล่าว
- อินพุตไม่จำเป็นต้องอยู่ในลำดับเฉพาะ
- อาจมีบันทึกซ้ำซ้อนในอินพุต พวกเขาจะต้องได้รับการปฏิบัติเช่นเดียวกับที่มีเพียงหนึ่งในนั้น
- เอาต์พุตเป็นชื่อของคอร์ด ในกรณีที่มันจะออกหลายชื่อกฎเดียวกันสำหรับการป้อนข้อมูลนำไปใช้
- หากอินพุตไม่ใช่คอร์ดที่รองรับคุณควรพิมพ์โน้ตตามที่เป็น โปรแกรมของคุณสามารถรองรับคอร์ดอื่น ๆ ที่ไม่อยู่ในตารางด้านบน (ซึ่งใช้ได้ แต่ไม่มีโบนัส)
- คุณสามารถใช้สัญลักษณ์อื่น ๆ ที่ระบุไว้ในบทความวิกิพีเดีย แต่ถ้าคุณเลือก
C
สำหรับวิชาเอก C คุณควรเพิ่มคำนำหน้าที่มนุษย์สามารถอ่านได้ในทั้งสองกรณีเพื่อแยกคอร์ดด้วยโน้ตเดี่ยว - คุณไม่สามารถใช้ฟังก์ชันในตัวสำหรับงานนี้ (ถ้ามี)
- นี่คือรหัสกอล์ฟ รหัสที่สั้นที่สุดเป็นไบต์ชนะ
ตัวอย่าง
- อินพุต:
C D# G
เอาต์พุต:Cm
. - อินพุต:
C Eb G
เอาต์พุต:Cm
. - อินพุต:
C Eb F#
เอาต์พุต:Cdim
. - การป้อนข้อมูล:
F A C#
เอาท์พุท:Faug
,Aaug
,C#aug
,Dbaug
หรือFaug Aaug C#aug
,Faug Aaug Dbaug
ในลำดับใด - อินพุต:
F D F F F F A A F
เอาต์พุต:Dm
. - อินพุต:
C D
เอาต์พุต:C D
.
โบนัส
- -30 ถ้าพิมพ์ออกมาทั้งหมดถ้ามีการตีความมากกว่าหนึ่งครั้ง (สำหรับ aug, sus4 / sus2 และ dim7)
- -70 ถ้ามันรองรับคอร์ดที่เจ็ดด้วย
- -200 ถ้ายอมรับอินพุต MIDI และพิมพ์แต่ละคอร์ดที่ได้รับ โปรดทราบว่าโน้ตไม่จำเป็นต้องเริ่มต้นหรือสิ้นสุดในเวลาเดียวกัน คุณตัดสินใจว่าจะเกิดอะไรขึ้นในสถานะตัวกลาง (ตราบใดที่มันไม่พังหรือหยุดทำงาน) คุณอาจคิดว่าไม่มีบันทึกย่อในช่องสัญญาณเพอร์คัชชัน (หรือมีเพียงช่องเดียวหากสะดวก) ขอแนะนำให้ระบุเวอร์ชันของข้อความ (หรืออาเรย์) สำหรับการทดสอบโดยเฉพาะอย่างยิ่งถ้ามันขึ้นอยู่กับแพลตฟอร์ม
B#
, Cb
ฯลฯ
Csus4 is the same as Gsus2
คุณบอกว่า ฉันคิดว่าคุณหมายถึงCsus2 is the same as Gsus4
ไม่ได้คุณ?