private void Awake() {
mixer = bass.outputAudioMixerGroup.audioMixer;
beat = FindObjectOfType<BeatMatcher> ();
melodies = Resources.LoadAll<AudioClip>("Audio/Final/Teleports");
notes1 = Resources.LoadAll<AudioClip>("Audio/Final/Layer 1");
notes2 = Resources.LoadAll<AudioClip>("Audio/Final/Layer 2");
notes3 = Resources.LoadAll<AudioClip>("Audio/Final/Layer 3");
notes = new List<AudioClip[]> ();
notes.Add (notes1);
notes.Add (notes2);
notes.Add (notes3);
rayMask |= 1 << LayerMask.NameToLayer ("Platform");
teleports = new Dictionary<Note, AudioClip[]> ();
teleports.Add(Note.i, Resources.LoadAll<AudioClip>("Audio/Final/Teleports/i"));
teleports.Add(Note.III, Resources.LoadAll<AudioClip>("Audio/Final/Teleports/III"));
teleports.Add(Note.iv, Resources.LoadAll<AudioClip>("Audio/Final/Teleports/iv"));
teleports.Add(Note.v, Resources.LoadAll<AudioClip>("Audio/Final/Teleports/v"));
teleports.Add(Note.VI, Resources.LoadAll<AudioClip>("Audio/Final/Teleports/VI"));
teleports.Add(Note.VII, Resources.LoadAll<AudioClip>("Audio/Final/Teleports/VII"));
pulses = new Dictionary<Note, AudioClip[]> ();
pulses.Add (Note.i, Resources.LoadAll<AudioClip>("Audio/Final/Pulse/C"));
pulses.Add (Note.III, Resources.LoadAll<AudioClip>("Audio/Final/Pulse/Eb"));
pulses.Add (Note.iv, Resources.LoadAll<AudioClip>("Audio/Final/Pulse/F"));
pulses.Add (Note.v, Resources.LoadAll<AudioClip>("Audio/Final/Pulse/G"));
pulses.Add (Note.VI, Resources.LoadAll<AudioClip>("Audio/Final/Pulse/Ab"));
pulses.Add (Note.VII, Resources.LoadAll<AudioClip>("Audio/Final/Pulse/Bb"));
dashes = Resources.LoadAll<AudioClip>("Audio/Final/Dashes");
bubbleCatch = Resources.Load<AudioClip> ("Audio/Final/Bubble_catch");
bubbleRelease = Resources.Load<AudioClip>("Audio/Final/Bubble_release");
crash = Resources.Load<AudioClip> ("Audio/Final/Layer 2 crash");
noteToMelody = new Dictionary<Note, AudioClip[]> ();
noteToMelody.Add (Note.i, buildMelodyClipArray (melodies, 2, 3, 6, 7, 9));
noteToMelody.Add (Note.III, buildMelodyClipArray (melodies, 6, 7, 9, 1));
noteToMelody.Add (Note.iv, buildMelodyClipArray (melodies, 8,0,2,3));
noteToMelody.Add (Note.v, buildMelodyClipArray (melodies, 9,1,4,5));
noteToMelody.Add (Note.VI, buildMelodyClipArray (melodies, 0,2,3,6,7));
noteToMelody.Add (Note.VII, buildMelodyClipArray (melodies, 1,4,5,8));
noteToDashMelody = new Dictionary<Note, AudioClip[]> ();
noteToDashMelody.Add (Note.i, buildMelodyClipArray (dashes, 2, 3, 6, 7, 9));
noteToDashMelody.Add (Note.III, buildMelodyClipArray (dashes, 6, 7, 9, 1));
noteToDashMelody.Add (Note.iv, buildMelodyClipArray (dashes,8,0,2,3));
noteToDashMelody.Add (Note.v, buildMelodyClipArray (dashes,9,1,4,5));
noteToDashMelody.Add (Note.VI, buildMelodyClipArray (dashes,0,2,3,6,7));
noteToDashMelody.Add (Note.VII, buildMelodyClipArray (dashes,1,4,5,8));
}