Ejemplo n.º 1
0
        private void btnPlay_Click(object sender, EventArgs e)
        {
            MemoryStream ms = new MemoryStream();

            getWaveStream(ms, lstView.SelectedItems[0].Index);

            WinMM.PlaySound(ms.ToArray(), IntPtr.Zero, WinMM.WINMM_SND_SYNC | WinMM.WINMM_SND_MEMORY);
        }
Ejemplo n.º 2
0
Archivo: Md.cs Proyecto: azret/mozart
    static bool Noise(
        string cliScript,
        Func <bool> IsTerminated)
    {
        if (cliScript.StartsWith("--noise"))
        {
            cliScript = cliScript.Remove(0, "--noise".Length).Trim();
        }
        else if (cliScript.StartsWith("noise"))
        {
            cliScript = cliScript.Remove(0, "noise".Length).Trim();
        }
        else
        {
            throw new ArgumentException();
        }

        string wavFile = "noise.wav";

        Set filter = new Set(
            "C3"
            );

        var Model = System.Ai.Mel.Noise();

        SaveMidi(
            Model.GetBuffer(),
            "MIDI",
            Path.ChangeExtension(wavFile, ".md"));

        // Model = LoadFromFile(Path.ChangeExtension(wavFile, ".md"),
        //     out string fmt, out CBOW.DIMS);

        Console.Write($"\r\nSynthesizing: {Path.ChangeExtension(wavFile, ".g.wav")}...\r\n");

        Wav.Write(
            Path.ChangeExtension(wavFile, ".g.wav"),
            Wav.Synthesize(Model.GetBuffer())
            );

        StartWinUI(
            () => {
            return(Model);
        },
            Path.ChangeExtension(wavFile, ".g.wav")
            );

        WinMM.PlaySound(Path.ChangeExtension(wavFile, ".g.wav"),
                        IntPtr.Zero,
                        WinMM.PLAYSOUNDFLAGS.SND_ASYNC |
                        WinMM.PLAYSOUNDFLAGS.SND_FILENAME |
                        WinMM.PLAYSOUNDFLAGS.SND_NODEFAULT |
                        WinMM.PLAYSOUNDFLAGS.SND_NOWAIT |
                        WinMM.PLAYSOUNDFLAGS.SND_PURGE);

        return(false);
    }
Ejemplo n.º 3
0
 public static void Deinitialize()
 {
     try {
         if (gcHandle != null)
         {
             WinMM.PlaySound((byte[])null, (UIntPtr)0, (uint)0);
             gcHandle.Value.Free();
             gcHandle = null;
         }
     } catch (Exception e) {
         LOG.Error("Error in deinitialize.", e);
     }
 }
Ejemplo n.º 4
0
 public static void Deinitialize()
 {
     try {
         if (_gcHandle != null)
         {
             WinMM.PlaySound(null, (UIntPtr)0, 0);
             _gcHandle.Value.Free();
             _gcHandle = null;
         }
     } catch (Exception e) {
         Log.Error("Error in deinitialize.", e);
     }
 }
Ejemplo n.º 5
0
Archivo: Play.cs Proyecto: azret/mozart
    static bool Play(
        string cliScript,
        Func <bool> IsTerminated)
    {
        if (cliScript.StartsWith("--play"))
        {
            cliScript = cliScript.Remove(0, "--play".Length).Trim();
        }
        else if (cliScript.StartsWith("play"))
        {
            cliScript = cliScript.Remove(0, "play".Length).Trim();
        }
        else
        {
            throw new ArgumentException();
        }

        string md = cliScript;

        if (!File.Exists(md) &&
            string.IsNullOrWhiteSpace(Path.GetExtension(md)))
        {
            if (File.Exists(Path.ChangeExtension(md, ".md")))
            {
                md = Path.ChangeExtension(md, ".md");
            }
        }

        var Model =
            File.Exists(md)
            ? System.Ai.Model.LoadFromFile(md, System.Ai.Cli.SIZE, out string fmt, out int dims)
            : BuildFromFragment(md);

        Console.Write($"Synthesizing: {Path.ChangeExtension(md, ".g.wav")}...\r\n");

        Wav.Write(Path.ChangeExtension(md, ".g.wav"),
                  Wav.Synthesize(Model.GetBuffer()));

        StartWinUI(() => { return(Model); }, Path.ChangeExtension(md, ".g.wav"));

        WinMM.PlaySound(Path.ChangeExtension(md, ".g.wav"),
                        IntPtr.Zero,
                        WinMM.PLAYSOUNDFLAGS.SND_ASYNC |
                        WinMM.PLAYSOUNDFLAGS.SND_FILENAME |
                        WinMM.PLAYSOUNDFLAGS.SND_NODEFAULT |
                        WinMM.PLAYSOUNDFLAGS.SND_NOWAIT |
                        WinMM.PLAYSOUNDFLAGS.SND_PURGE);

        return(false);
    }
Ejemplo n.º 6
0
Archivo: Mic.cs Proyecto: azret/mozart
 public void WM_KEYDOWN(IntPtr hWnd, IntPtr wParam, IntPtr lParam)
 {
     if (wParam == new IntPtr(0x20))
     {
         WinMM.PlaySound(null,
                         IntPtr.Zero,
                         WinMM.PLAYSOUNDFLAGS.SND_ASYNC |
                         WinMM.PLAYSOUNDFLAGS.SND_FILENAME |
                         WinMM.PLAYSOUNDFLAGS.SND_NODEFAULT |
                         WinMM.PLAYSOUNDFLAGS.SND_NOWAIT |
                         WinMM.PLAYSOUNDFLAGS.SND_PURGE);
         _hMic32?.Toggle();
     }
 }
Ejemplo n.º 7
0
        public static void Play()
        {
            SoundFlags flags = SoundFlags.SND_ASYNC | SoundFlags.SND_MEMORY;

            try {
                if (soundBuffer != null)
                {
                    WinMM.PlaySound(gcHandle.Value.AddrOfPinnedObject(), (UIntPtr)0, (uint)flags);
                }
                else
                {
                    WinMM.PlaySound((byte[])null, (UIntPtr)0, (uint)flags);
                }
            } catch (Exception e) {
                LOG.Error("Error in play.", e);
            }
        }
Ejemplo n.º 8
0
 public static void Play()
 {
     if (soundBuffer != null)
     {
         //Thread playSoundThread = new Thread(delegate() {
         SoundFlags flags = SoundFlags.SND_ASYNC | SoundFlags.SND_MEMORY | SoundFlags.SND_NOWAIT | SoundFlags.SND_NOSTOP;
         try {
             WinMM.PlaySound(gcHandle.Value.AddrOfPinnedObject(), (UIntPtr)0, (uint)flags);
         } catch (Exception e) {
             LOG.Error("Error in play.", e);
         }
         //});
         //playSoundThread.Name = "Play camera sound";
         //playSoundThread.IsBackground = true;
         //playSoundThread.Start();
     }
 }
Ejemplo n.º 9
0
Archivo: Md.cs Proyecto: azret/mozart
    static bool Md(
        string cliScript,
        Func <bool> IsTerminated)
    {
        if (cliScript.StartsWith("--md"))
        {
            cliScript = cliScript.Remove(0, "--md".Length).Trim();
        }
        else if (cliScript.StartsWith("md"))
        {
            cliScript = cliScript.Remove(0, "md".Length).Trim();
        }
        else
        {
            throw new ArgumentException();
        }

        string inWavFile = Path.GetFullPath(cliScript);

        if (!File.Exists(inWavFile) &&
            string.IsNullOrWhiteSpace(Path.GetExtension(inWavFile)))
        {
            if (File.Exists(Path.ChangeExtension(inWavFile, ".wav")))
            {
                inWavFile = Path.ChangeExtension(inWavFile, ".wav");
            }
        }

        var inWav = Wav.Read(inWavFile);

        Set filter = new Set(
            "C3"
            );

        Matrix Model = System.Ai.Mel.ShortTimeFourierTransform(inWav,
                                                               filter,
                                                               0.01,
                                                               -20,
                                                               +20);

        SaveMidi(
            Model.GetBuffer(),
            "MIDI",
            Path.ChangeExtension(inWavFile, ".md"));

        Model = System.Ai.Model.LoadFromFile(
            Path.ChangeExtension(inWavFile, ".md"),
            System.Ai.Cli.SIZE,
            out string fmt, out CBOW.DIMS);

        Console.Write($"\r\nSynthesizing: {Path.ChangeExtension(inWavFile, ".g.wav")}...\r\n");

        Wav.Write(
            Path.ChangeExtension(inWavFile, ".g.wav"),
            Wav.Synthesize(Model.GetBuffer())
            );

        StartWinUI(
            () => {
            return(Model);
        },
            Path.ChangeExtension(inWavFile, ".g.wav")
            );

        WinMM.PlaySound(Path.ChangeExtension(inWavFile, ".g.wav"),
                        IntPtr.Zero,
                        WinMM.PLAYSOUNDFLAGS.SND_ASYNC |
                        WinMM.PLAYSOUNDFLAGS.SND_FILENAME |
                        WinMM.PLAYSOUNDFLAGS.SND_NODEFAULT |
                        WinMM.PLAYSOUNDFLAGS.SND_NOWAIT |
                        WinMM.PLAYSOUNDFLAGS.SND_PURGE);

        return(false);
    }