在 Silverlight 中实现复音音频的任何想法或可行的解决方案?
可以使用声音文件(例如 wmv)来播放单个音符,但是基于 12 个根音中的任何一个来保存和弦中 3、4、5 或更多音符组合的每个组合的样本是行不通的。在 WinForms 中,我可以使用 API 访问声卡或 MIDI 设备并生成音符及其持续时间以同时播放。
在 Silverlight 中我能做到多近?
在 Silverlight 中实现复音音频的任何想法或可行的解决方案?
可以使用声音文件(例如 wmv)来播放单个音符,但是基于 12 个根音中的任何一个来保存和弦中 3、4、5 或更多音符组合的每个组合的样本是行不通的。在 WinForms 中,我可以使用 API 访问声卡或 MIDI 设备并生成音符及其持续时间以同时播放。
在 Silverlight 中我能做到多近?
就在前几天, Charles Petzold发表了一篇关于Silverlight 3 的简单电子音乐音序器的博客——他发布了 Silverlight 3 示例和源代码。
高温高压
这是我在一月/二月写的 Silverlight 合成器。我为 RTW 更新了它并发布了源代码。它可能会帮助您上路。
它使用 MediaStreamSource 实时生成声音。
您可以读取一个或多个样本文件(波表)并使用查找+跳过算法来获得正确的频率,而不是使用算法来创建波形。
皮特
您可以使用 Silverlight 3 执行此操作。指定 MediaStreamSource 的能力将允许您执行自己的源文件混合。
然而,Silverlight 根本无法访问 MIDI 设备,无论是输入还是输出,因此输入需要来自鼠标/键盘,您需要自己播放和混合样本。