用于音乐编程的.NET API?

发布于 2024-09-08 03:49:53 字数 1539 浏览 5 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

夏末 2024-09-15 03:49:53

通过 NAudio .com/search/label/NAudio" rel="nofollow noreferrer">Mark Heath,一个很棒的 .NET 音乐库,我认为它应该包含在 BCL 中。

徽标
(来源:google.com
midi-dot-net
Tom Lokovic 的另一个伟大的 C# 项目。

Checkout NAudio by Mark Heath, a great .NET music library I would say it should be contained in the BCL.

logo
(source: google.com)
midi-dot-net
Another great C# project by Tom Lokovic.

迷乱花海 2024-09-15 03:49:53

dotnet rock 的主人 Carl Franklin 对此做了一些工作,如果您查看他的代码示例,它可能会有所帮助: http://www.franklins.net/dotnet.aspx

他还在 Midi 路由器上进行了屏幕投射

希望这有帮助

Carl Franklin the host of dotnet rocks has done some work with this, if you look at his code samples it may help: http://www.franklins.net/dotnet.aspx.

He also did a screen cast on Midi routers.

Hope this helps

随风而去 2024-09-15 03:49:53

不知道这是否有帮助: http://www .c-sharpcorner.com/UploadFile/mgold/SheetMusicRecorder09242005060541AM/SheetMusicRecorder.aspx

它是一个音乐键盘,但您应该能够对源代码进行逆向工程并对其进行调整以适应您想要做的事情。

Don't know if this will help or not: http://www.c-sharpcorner.com/UploadFile/mgold/SheetMusicRecorder09242005060541AM/SheetMusicRecorder.aspx

its a musical keyboard, but you should be able to reverse engineer the source code and adapt it to suit what you are trying to do.

闻呓 2024-09-15 03:49:53

我之前使用过 Midi Toolkit 作为起点,也许你觉得有用。

顺便说一句,JFugue 不仅是一个库,而且还是一种语法。我正在努力将其移植到 Ruby,如果有人(也许是你?)将其移植到 .NET =)

I've used Midi Toolkit before as a starting point, perhaps you find it useful.

BTW, JFugue is not only a library, but also a syntax. I'm working on porting it to Ruby, and it'd be nice if someone (you, maybe?) port it to .NET =)

风柔一江水 2024-09-15 03:49:53

DryWetMIDI 具有基于 MIDI 的音乐编程功能。那里没有声音生成,只有编写 API 允许创建 MIDI 文件。一个简单的例子:

Pattern pattern = new PatternBuilder()

    // Insert a pause of 5 seconds
    .StepForward(new MetricTimeSpan(0, 0, 5))

    // Insert an eighth C# note of the 4th octave
    .Note(Octave.Get(4).CSharp, MusicalTimeSpan.Eighth)

    // Set default note length to triplet eighth and default octave to 5
    .SetNoteLength(MusicalTimeSpan.Eighth.Triplet())
    .SetOctave(5)

    // Now we can add triplet eighth notes of the 5th octave in a simple way
    .Note(NoteName.A)
    .Note(NoteName.B)
    .Note(NoteName.GSharp)

    // Get pattern
    .Build();

// Now we can export pattern to MIDI file

MidiFile midiFile = pattern.ToFile(TempoMap.Default);
midiFile.Write("My Great Song.mid");

正如你所看到的,它目前还不是 JFugue 的替代品,因为这里没有特殊的语法,只有 .NET API。

DryWetMIDI has MIDI based music programming capabilities. There is no sound generation there, only composing API allowing to create MIDI files. A quick example:

Pattern pattern = new PatternBuilder()

    // Insert a pause of 5 seconds
    .StepForward(new MetricTimeSpan(0, 0, 5))

    // Insert an eighth C# note of the 4th octave
    .Note(Octave.Get(4).CSharp, MusicalTimeSpan.Eighth)

    // Set default note length to triplet eighth and default octave to 5
    .SetNoteLength(MusicalTimeSpan.Eighth.Triplet())
    .SetOctave(5)

    // Now we can add triplet eighth notes of the 5th octave in a simple way
    .Note(NoteName.A)
    .Note(NoteName.B)
    .Note(NoteName.GSharp)

    // Get pattern
    .Build();

// Now we can export pattern to MIDI file

MidiFile midiFile = pattern.ToFile(TempoMap.Default);
midiFile.Write("My Great Song.mid");

As you can see it is not a replacement of JFugue at now since there is no special syntax here, just .NET API.

花开浅夏 2024-09-15 03:49:53

嗯,不仅像 JFugue,而且我还使用了 .Net 的 BASS 库。您可以在 un4seen 网站 找到该库,

它具有音频控制和 midi 插件。希望有帮助。

Well, not just like JFugue but I've used the BASS library for .Net. You can find the library at the un4seen web

It has audio control and midi thru plugins. Hope it helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文