2012-02-04 78 views
2

我正在寻找关于如何在我的游戏中滚动一对D6骰子随机播放音频的建议。我希望每一个骰子听起来都不一样,但合理合理。我不想制作一堆预先录制的骰子,我想要更多的变体。请注意,我不需要将音频与动画同步(我使用的动画非常简单和抽象)。滚动骰子的程序音频

我的假设是,我需要一个基本的音频片段来处理单个模具击中一个表面的声音。 (对于生成这些内容有什么建议?或者最好是捕捉它们?)然后,我需要一些方法来改变和组合这些基本声音的变体,以创建独特的滚动声音....或者我太无知,无法理解这将是复杂的,我应该尝试一种不同的方法?

我正在开发用于Android的Java,但如何合理组合或程序化地生成任何语言的音频教程或说明将不胜感激。我不需要实时支持,因为我认为我可以提前生成下一个卷的音频并缓存它,直到骰子实际滚动。

回答

0

我的解决方案是使用免费录音软件来捕捉一次滚动的声音。正确的软件将能够将这些文件分成包含每个打击乐和剩余音频的小样本。只有几个记录的掷骰子会给你几十个“命中”样本。然后,使用Java,加载对每个样本的引用,并设计算法,以适当的时间修改以半随机序列播放它们。然后,在播放之前,您不需要将音频混合到单个流中即可进行多种多样的操作。

+1

这是预先录制的声音和完整的程序声音之间的很好的中途。事实上,我所录制的模具包中有很多明显不同的“点击”,所以这应该是相对直接的实施(一旦标记和分割音频的乏味工作完成)。 – 2012-05-04 04:01:12

0

您可以从综合工具包(STK)中查找"Shaker" class的程序代码。 STK是一个C++库,但实际创建音频样本的过程并不难完成。默认情况下有很多类型的振动器。我希望你可以参与参数化并根据需要进行修改。

+0

这很棒。它看起来像是一个非常有用的库,可用于离线生成声音,并且可能可以在线工作(尽管这可能会有更多工作)。这不是我在搜索时遇到的事情,非常方便。 – 2012-05-04 03:58:25

2

骰子可以产生两种类型的声音 - 一种是当击中环境时;一次击中其他骰子。读一个骰子碰撞声音的摄谱仪可以给你泛音的比例。它很容易在像Pure Data这样的软件中进行原型设计。这个想法是,通过稍微改变基频,你应该有一个更程序性的碰撞声音。您可以使用随机数来做变化并预测碰撞。它可能不是完美的声音,但它可能是一个开始。

这可能很模糊,但我希望它仍然有帮助:D。