1

我在互联网上进行了广泛的研究,因为我需要一种方法来从程序中生成真正的贝司声音(如电贝司吉他)。问题是我一直在寻找 MIDI 方法来产生这种声音,但我不确定这是否正确,实际上我对这个主题知之甚少,这是我第一次尝试与从原始编码产生声音相关的任何事情。我一直在寻找不同的 API 来帮助我,它们中的大多数都是开源的,以查看它们在做什么,但我发现它们非常复杂,学习曲线非常陡峭,文档很少。我也一直在寻找开源程序,如 tuxguitar,用 java 制作,类似于 GuitarPro,所以我可以看到如何产生低音,我还有一些代码要扫描,所以我可以找到我要找的东西,但是我担心不会是我需要或能够做的。所以总结这一切,我的问题是:有没有一种方法可以通过本机代码或任何 API 产生真正的音乐贝司声音,而不必使用 MIDI 或类似的东西,最好在 c/c++ 或 java 中使用?非常感谢 PS 请原谅任何 sintaxis 或语言错误,我不是说英语的母语。

4

2 回答 2

7

MIDI 只是一个控制协议,与声音本身无关。它通常用于合成器控制(注意开/关消息等等),仅此而已。

大多数设备中都有一个合成器,可以在通过 MIDI 控制的同时为您产生声音。这是迄今为止最简单的入门方法,但您会发现大多数库存的通用 MIDI 合成器听起来并不那么好。

现在,就产生您所追求的声音而言,您正在谈论编写自己的合成器。没有魔法。没有捷径可走。这是一项艰苦的工作!通常,合成器会使用一组样本,然后对其进行操作。例如,您将有一个用于弹拨的样本,然后是另一个用于吉他声音的样本。这一切都将在ADSR 信封上进行控制。即使这样,听起来也不会令人惊奇,因为您只是在近似乐器的一小部分特征。

于 2012-08-05T05:46:49.900 回答
4

你可以尝试通过midi来控制声卡的内置合成器。但是如果你想要好的声音和乐器质量,我建议你了解VST,它是 Steinbergh 的一项技术,其中包括虚拟乐器 (VSTi) 和效果插件。

因此,从本质上讲,您可以创建或使用与现有商业和免费 VSTi 和 VST 插件一起使用的 VST 主机应用程序。然后,您可以重复使用听起来很棒的可用软件合成器和乐器仿真。正如 Brad 在他的评论中建议的那样,您可以通过 midi 控制主机应用程序。

虽然我在这里只宣传 VST,但维基百科链接包含来自不同品牌的其他技术的列表,这些技术正在做同样的事情。但你明白了。

于 2012-08-05T06:07:20.050 回答