C# 用C语言弹奏钢琴音调#

C# 用C语言弹奏钢琴音调#,c#,C#,我正在尝试用C#制作一个简单的钢琴应用程序 它应该是一架非常简单的钢琴(最多5或6个键)。我找到了不同的选择,到目前为止,我找到的是: consol.beep();但我觉得它的声音不像钢琴的音色 保存和播放WAV文件。我曾想过获得钢琴音调的wav文件,但我觉得这是一个很难做到的方法,它不会畅销,任何可能会占用太多不必要的空间 是否有一个图书馆可以演奏钢琴般的音调或不同乐器的任何不同音调?查看Mike Gold的可下载源。我想它正是你想要的 您可能还想查看此帖子:。基本思想是,您只有一个示例,

我正在尝试用C#制作一个简单的钢琴应用程序

它应该是一架非常简单的钢琴(最多5或6个键)。我找到了不同的选择,到目前为止,我找到的是:

  • consol.beep();但我觉得它的声音不像钢琴的音色
  • 保存和播放WAV文件。我曾想过获得钢琴音调的wav文件,但我觉得这是一个很难做到的方法,它不会畅销,任何可能会占用太多不必要的空间

是否有一个图书馆可以演奏钢琴般的音调或不同乐器的任何不同音调?

查看Mike Gold的可下载源。我想它正是你想要的

您可能还想查看此帖子:。基本思想是,您只有一个示例,并且可以通过编程方式操纵声音文件的频率,从而生成不同的音符

对于可以帮助您的库,您可以查看:

  • @codeplex
  • @codeproject
  • @codeproject

您想过使用MIDI吗

这可能很有用

这一个非常有趣,它允许您以如下简单方式播放声音:

MidiPlayer.Play( new NoteOn( 0, 1, "C4", 127 ) );
您还可以查看此代码项目页面。 看

保存和播放WAV文件我想得到钢琴的WAV文件 但我觉得这样做很难,而且不会畅销 可能会占用很多不必要的空间

我不知道你在追求什么样的真实感,但高端数字钢琴每个键都有几个数字样本来代表硬/软按键的不同动态,所以我不排除这种可能性。一个重要的考虑因素是复调,即一次能听到多少音符

轻微的音高调整可以减少所需的样本数量,例如,一个音符通常可以上下调几个半音,而不会有太多的降级


或者,您也可以考虑播放MIDI示例。几乎所有的现代声卡都有基本的128个MIDI补丁,但质量差别很大。

grouplab.cpsc.ucalgary.ca页面不再指向可行的库。