สเกลหลัก (หรือสเกลโยนก) เป็นหนึ่งในสเกลดนตรีที่ใช้กันมากที่สุดโดยเฉพาะในดนตรีตะวันตก มันเป็นหนึ่งในเกล็ดคู่ เช่นเดียวกับเครื่องชั่งน้ำหนักดนตรีจำนวนมากมันประกอบด้วยโน้ตเจ็ด: แปดที่ซ้ำกันเป็นครั้งแรกที่สองเท่าของความถี่เพื่อที่จะเรียกว่าคู่ที่สูงขึ้นของโน้ตเดียวกัน
โน้ตดนตรีทั้งเจ็ด ได้แก่ :
C, D, E, F, G, A, B , C (ซ้ำเพื่อวัตถุประสงค์ตัวอย่าง)
สเกลที่สำคัญคือสเกลคู่ ใช้สืบทอดก่อนหน้าของบันทึกเป็นขนาดใหญ่(ที่จริงมันเป็นขนาด C เมเจอร์) ลำดับของช่วงเวลาระหว่างบันทึกย่อของมาตราส่วนหลักคือ:
ทั้งหมดทั้งหมดครึ่งทั้งหมดทั้งหมดทั้งหมดครึ่ง
โดยที่ "ทั้ง" หมายถึงน้ำเสียงทั้งหมด (เส้นโค้งรูปตัวยูสีแดงในภาพ) และ "ครึ่ง" หมายถึงน้ำเสียงกึ่งกลาง (เส้นสีแดงแตกในรูป)
ในกรณีนี้จาก C ถึง D มีทั้งโทนจาก D ถึง E มีทั้งโทนจาก E ถึง F มีอยู่ครึ่งโทน ฯลฯ
เรามี 2 องค์ประกอบที่มีผลต่อระยะห่างของเสียงระหว่างโน้ต เหล่านี้คือสัญลักษณ์ชาร์ป (♯) และสัญลักษณ์แบน (♭)
สัญลักษณ์ชาร์ป (♯) เพิ่มครึ่งเสียงให้กับโน้ต ตัวอย่าง. จาก C ถึง D เราพูดถึงว่ามีน้ำเสียงทั้งหมดถ้าเราใช้C♯แทน C ดังนั้นจากC♯ถึง D จะมีครึ่งเสียง
สัญลักษณ์แบบแบน (♭) ทำตรงข้ามกับสัญลักษณ์ชาร์ปซึ่งจะลบครึ่งเสียงออกจากบันทึกย่อ ตัวอย่าง: จาก D ถึง E เราพูดถึงว่ามีทั้งโทนถ้าเราใช้ Db แทน D จากนั้นจาก Db ถึง E จะมีน้ำเสียงครึ่ง
โดยค่าเริ่มต้นจาก Note ถึง Note จะมีทั้งโทนเสียงยกเว้นE to F
และB to C
มีเพียงครึ่งเสียงเท่านั้น
หมายเหตุในบางกรณีการใช้สนามเพิ่มประสิทธิภาพสามารถสร้างเทียบเท่ากับ Major Scale ตัวอย่างของสิ่งนี้คือC#, D#, E#, F#, G#, A#, B#, C#
ที่E#
และB#
เป็นแบบเสริม แต่ระดับตามลำดับของเมเจอร์สเกล
ท้าทาย
กำหนดสเกลเอาท์พุทค่าความจริงถ้ามันเป็นสเกลเมเจอร์หรือเทียบเท่ามิฉะนั้นเอาท์พุทค่าเท็จ
กฎระเบียบ
- อนุญาตให้ใช้วิธี I / O มาตรฐาน
- ใช้กฎมาตรฐานของกอล์ฟ
- คุณไม่จำเป็นต้องคำนึงถึงโน้ตที่ 8 สมมติว่าอินพุตจะประกอบด้วย 7 บันทึกเท่านั้น
- สมมติว่าแบนสองครั้ง (♭♭), คมสองเท่า (♯♯) หรือสัญญาณธรรมชาติ (♮) ไม่มีอยู่
กรณีทดสอบ
C, D, E, F, G, A, B => true
C#, D#, E#, F#, G#, A#, B# => true
Db, Eb, F, Gb, Ab, Bb, C => true
D, E, Gb, G, A, Cb, C# => true
Eb, E#, G, G#, Bb, B#, D => true
-----------------------------------------------
C, D#, E, F, G, A, B => false
Db, Eb, F, Gb, Ab, B, C => false
G#, E, F, A, B, D#, C => false
C#, C#, E#, F#, G#, A#, B# => false
Eb, E#, Gb, G#, Bb, B#, D => false