void Awake()
    {
        for (int i = 0; i < All_keys.Length; i++)
        {
            ani[i] = All_keys[i].GetComponentInChildren<Animator>();
            Sprit[i] = All_keys[i].GetComponentInChildren<SpriteRenderer>();
            sound_ok[i] = true;
            key_played[i] = false;
        }
        

        if (key_played.Length != All_keys.Length)
        {
            Debug.LogError("number of keys are mismatched!");
        }
        natural_keys = 19;
        Assign(0);
        audio_source = GetComponent<BypassAudioSource>();
        camera = Camera.main;
        for (int i = 0; i < natural_keys; i++)
        {
            note[i] = All_keys[i].GetComponentInChildren<note_labeller>();
        }
        if(PlayerPrefs.HasKey("pentatonic"))
        {
            if(PlayerPrefs.GetInt("pentatonic") == 0)
            {
                Pentatonic_Mode(true);
            }
            else if (PlayerPrefs.GetInt("pentatonic") == 1)
            {
                Pentatonic_Mode(false);
            }
        }
    }
 void Start()
 {
     if (Camera.main.aspect >= Max_AspectThreshold)
     {
         Res = 2;
     }
     else
     {
         Res = 1;
     }
     source = gameObject.GetComponentInParent <BypassAudioSource>();
     for (int i = 0; i < Main.All_keys.Length; i++)
     {
         Sprit[i] = Main.All_keys[i].GetComponentInChildren <SpriteRenderer>();
     }
     SaveMenuState();
 }
 void Initialize_Pitch_Components()
 {
     audi      = GetComponent <BypassAudioSource>();
     base_freq = audi.m_rate;
 }