void Awake() { midiStreamSynthesizer = new StreamSynthesizer(44100, 2, bufferSize, 40); sampleBuffer = new float[midiStreamSynthesizer.BufferSize]; midiStreamSynthesizer.LoadBank(bankFilePath); midiSequencer = new MidiSequencer(midiStreamSynthesizer); _metronome = FindObjectOfType <Metronome>(); _metronome.BeatSubscribe(DoBeep); _metronome.BeatEvent += Play; }
private void Start() { _audioSource = GetComponent <AudioSource>(); _beeps = new AudioClip[] { AudioClip.Create("", 1000, 1, samplerate, true, d => OnAudioRead(d, 0), OnAudioSetPosition), AudioClip.Create("", 1000, 1, samplerate, true, d => OnAudioRead(d, 1), OnAudioSetPosition), AudioClip.Create("", 1000, 1, samplerate, true, d => OnAudioRead(d, 2), OnAudioSetPosition), AudioClip.Create("", 1000, 1, samplerate, true, d => OnAudioRead(d, 3), OnAudioSetPosition), AudioClip.Create("", 1000, 1, samplerate, true, d => OnAudioRead(d, 4), OnAudioSetPosition), AudioClip.Create("", 1000, 1, samplerate, true, d => OnAudioRead(d, 5), OnAudioSetPosition), AudioClip.Create("", 1000, 1, samplerate, true, d => OnAudioRead(d, 6), OnAudioSetPosition), AudioClip.Create("", 1000, 1, samplerate, true, d => OnAudioRead(d, 7), OnAudioSetPosition) }; _metronome = FindObjectOfType <Metronome>(); _metronome.Beat += DoBeep; }