gpt4 book ai didi

windows-phone-7 - 找到几个 Octave 音符的音调?

转载 作者:行者123 更新时间:2023-11-30 23:54:29 24 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

2年前关闭。




Improve this question




我正在构建一个播放音符的 Windows Phone 7 应用程序。我想找到一些我可以使用的好的 .wav、.mp3 或 .midi 文件。我环顾四周,但没有找到任何东西。关于在哪里看的任何建议?

我还查看了像 NAudio 和 Midi.NET 这样的 .NET 框架,看看我是否可以以编程方式生成音调,但我一直无法弄清楚如何去做。

最佳答案

您可以使用 NAudio 自己创建 WAV 文件。使用这些文章中描述的技术:

  • Playback of Sine Wave in NAudio
  • Recording the Soundcard Output to WAV in NAudio

  • 这是一个小示例程序,可以帮助您开始计算基于 Octave 和半音的频率,具有 12 音阶:
    private WaveOut waveOut;
    private WaveRecorder waveRecorder;

    private void Button_Click(object sender, RoutedEventArgs e)
    {
    StartStopSineWave();
    }

    private void StartStopSineWave()
    {
    if (waveOut == null)
    {
    int octave = 1;
    int note = 0;
    var sineWaveProvider = new SineWaveProvider32();
    sineWaveProvider.SetWaveFormat(16000, 1); // 16kHz mono
    sineWaveProvider.Frequency = (float)(440 * Math.Pow(2, octave + note / 12.0));
    sineWaveProvider.Amplitude = 0.25f;
    waveRecorder = new WaveRecorder(sineWaveProvider, "sample.wav");
    waveOut = new WaveOut();
    waveOut.Init(waveRecorder);
    waveOut.Play();
    }
    else
    {
    waveOut.Stop();
    waveOut.Dispose();
    waveOut = null;
    waveRecorder.Dispose();
    waveRecorder = null;
    }
    }

    关于windows-phone-7 - 找到几个 Octave 音符的音调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4636126/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com