Exemplo n.º 1
0
 public bool PlaySong(string fileName)
 {
     if (synth.SoundBank == null)
     {
         return(false);
     }
     Stop();
     mseq.LoadMidi(new MidiFile(fileName));
     mseq.Play();
     Play();
     return(true);
 }
Exemplo n.º 2
0
    public MeltySynthTest(bool enableEffects)
    {
        soundFont = new SoundFont(Settings.SoundFontPath);
        midiFile  = new MidiFile(Settings.MidiFilePath);

        var settings = new SynthesizerSettings(Settings.SampleRate);

        settings.EnableReverbAndChorus = enableEffects;
        settings.MaximumPolyphony      = 40;

        synthesizer = new Synthesizer(soundFont, settings);
        sequencer   = new MidiFileSequencer(synthesizer);

        sequencer.Play(midiFile, true);

        left        = new float[Settings.BlockSize];
        right       = new float[Settings.BlockSize];
        writeBuffer = new float[2 * Settings.BlockSize];

        var name = enableEffects ? "meltysynth_output.wav" : "meltysynth_output_noeffect.wav";

        if (Settings.OutputFile)
        {
            writer = new NAudioSampleWriter(name, Settings.WaveFormat);
        }
        else
        {
            writer = new NullSampleWriter();
        }
    }
Exemplo n.º 3
0
 public void Play()
 {
     //LoadMidi (new MidiFile (midiSource));
     sequencer.Play();
     audioSource.Play();
     Debug.Log("seq2 play");
 }
Exemplo n.º 4
0
            public void RenderWaveform(Synthesizer synthesizer, Span <float> left, Span <float> right)
            {
                if (sequencer == null)
                {
                    sequencer = new MidiFileSequencer(synthesizer);
                    sequencer.Play(midi, loop);
                }

                sequencer.Render(left, right);
            }
Exemplo n.º 5
0
            public void ProcessMidiEvents(Synthesizer synthesizer)
            {
                if (sequencer == null)
                {
                    sequencer = new MidiFileSequencer(synthesizer);
                    sequencer.Play(midi, loop);
                }

                sequencer.ProcessEvents();
            }
Exemplo n.º 6
0
            public void SetMidiFile(MidiFile midiFile, bool loop)
            {
                lock (mutex)
                {
                    sequencer.Play(midiFile, loop);
                }

                if (Status == SoundStatus.Stopped)
                {
                    Play();
                }
            }
Exemplo n.º 7
0
            public void FillBuffer(Synthesizer synthesizer)
            {
                if (sequencer == null)
                {
                    sequencer = new MidiFileSequencer(synthesizer);
                    sequencer.LoadMidi(midi);
                    sequencer.Play();
                }

                sequencer.FillMidiEventQueue(loop);
                synthesizer.GetNext();
            }
    public CSharpSynthTest()
    {
        midiFile = new MidiFile(Settings.MidiFilePath);

        synthesizer = new Synthesizer(Settings.SampleRate, 2, Settings.BlockSize, 1);
        synthesizer.LoadBank(Settings.SoundFontPath);
        sequencer = new MidiFileSequencer(synthesizer);

        sequencer.LoadMidi(midiFile);
        sequencer.Play();

        if (Settings.OutputFile)
        {
            writer = new NAudioSampleWriter("csharpsynth_output.wav", Settings.WaveFormat);
        }
        else
        {
            writer = new NullSampleWriter();
        }
    }
Exemplo n.º 9
0
 public void Play()
 {
     sequencer.Play();
     audioSource.Play();
 }