พวกคุณส่วนใหญ่คงรู้จัก C scale ที่สำคัญ:
C D E F G A B C
สเกลที่สำคัญคือลักษณะโดยช่วงเวลาระหว่างบันทึกที่อยู่ติดกันซึ่งวัดในเซมิโคลนคือ:
2 2 1 2 2 2 1
จาก intervales เหล่านี้เราสามารถสร้างสเกลหลักใด ๆ ที่เริ่มต้นในบันทึกใด ๆ ( คีย์ของสเกล) หมายเหตุ 12 ประการในระบบปรับแต่งอารมณ์ 12 โทนเท่ากันคือ:
C C♯ D D♯ E F F♯ G G♯ A A♯ B
อย่างเท่าเทียมกัน (ทดแทนบางรายการเทียบเท่า enharmonic ):
C D♭ D E♭ E F G♭ G Ab A B♭ B
ด้วย semitone ระหว่างโน้ตคู่ที่อยู่ติดกันแต่ละคู่
แต่ละสเกลจะต้องมีโน้ตทั้งเจ็ดตามลำดับโดยเริ่มจากปุ่ม มิฉะนั้นคุณอาจมีโน้ตสองอันในรูปสี่เหลี่ยมห้าแฉกเดียวกันซึ่งจะทำให้เกิดความสับสน ดังนั้นใน G # สำคัญ / โยนกคุณมี F # # แทน G; นักดนตรีจะดูว่าโน้ตในรูปดาวห้าแฉกนั้นพวกเขาได้เรียนรู้อุบัติเหตุไปแล้วในแต่ละสเกล แน่นอนในG # สำคัญ F # # จะแสดงในบรรทัด F # # โดยไม่เกิดอุบัติเหตุอุบัติเหตุอยู่ในลายเซ็นคีย์ - แต่เนื่องจากลายเซ็นคีย์นั้นจะต้องใช้ 2 sharps สำหรับ F จึงมักจะได้รับการแจ้งเตือนว่าเป็นเมเจอร์ Ab
การขยับ2 2 1 2 2 2 1
ช่วงเวลาเรามาถึงเจ็ดโหมดที่แตกต่างกันของระดับเสียงคู่:
- โยนก :
2 2 1 2 2 2 1
- สอดคล้องกับขนาดใหญ่ - โดเรียน :
2 1 2 2 2 1 2
- Phrygian :
1 2 2 2 1 2 2
- ลิเดียน :
2 2 2 1 2 2 1
- มโซลิเดียน :
2 2 1 2 2 1 2
- Aeolian :
2 1 2 2 1 2 2
- สอดคล้องกับสเกลเล็กน้อยตามธรรมชาติและสเกลเล็กน้อยที่ไพเราะเมื่อมากไปหาน้อย (เมื่อขึ้นไปสเกลเล็กน้อยที่ไพเราะได้ยกระดับที่ 6 และ 7 นอกจากนี้ยังมีสเกลเล็กน้อยที่สอดคล้องกันโดยเพิ่มขึ้น 7 องศาเมื่อเทียบกับธรรมชาติ ผู้เยาว์). - Locrian :
1 2 2 1 2 2 2
ดังนั้นความท้าทายคือการเขียนโปรแกรมที่ใช้เป็นอินพุต (ผ่านstdin ) คีย์และโหมดและเอาต์พุต (ผ่านstdout ) สเกลที่สอดคล้องกัน กรณีทดสอบบางอย่าง ( stdin ( key
mode
) => stdout ( scale
)):
Input: Output:
C mixolydian => C D E F G A Bb
F mixolydian => F G A Bb C D Eb
G mixolydian => G A B C D E F
G# ionian => G# A# B# C# D# E# F##
Bb aeolian => Bb C Db Eb F Gb Ab
การอ้างอิงเพิ่มเติม:
มีกี่คีย์ (หลักและรอง) มีกี่อัน? ทำไม?