Beispiel #1
0
        public void ChangeVolume(float volume)
        {
            volume *= volume * volume;

            NoteGenerator tng = new NoteGenerator();

            this.volume   = volume;
            workingBuffer = tng.NoteFromA3(13, 0.3f, waveform.sine);
            save("volume.wav");
            beep.Play();
        }
Beispiel #2
0
        public List <float> makeTrack(int[] scale, int keyIndex, float tempo, int nOf4Bars, waveform form, float timeSignature, float seed)
        {
            int[] wrapped;
            wrapped = getIndexes(keyIndex, scale, scale.Length / 3);
            List <float>  buffer   = new List <float>();
            List <float>  fourBars = new List <float>();
            NoteGenerator ng       = new NoteGenerator();
            Random        r        = new Random((int)(seed * 10000.0f));

            for (int i = 0; i < 4; i++)
            {
                fourBars.AddRange(ng.NoteFromA3(wrapped[r.Next(5)], (60 / tempo) * timeSignature * 4.0f, form));
            }
            for (int i = 0; i < nOf4Bars; i++)
            {
                buffer.AddRange(fourBars);
            }
            return(buffer);
        }