c/c++语言开发共享滚球的声音

我正在寻找最真实的播放滚球声的方法。 目前我正在使用Wav样本,只要球正在移动,我就会一遍又一遍地玩 – 这感觉不对劲。

我一直在考虑完全合成声音,我对此几乎一无所知(几乎没有),我将非常感谢任何有关在表面上制作特定材料制成的球的声音合成的教程/研究材料/样品另一种材料 如果这个想法完全错误,请提出另一种方法。

谢谢!

    我猜你会通过对声音进行动态频率调整来获得最大的收益,这使得播放频率与球的速度成正比。 我不知道你使用什么类型的声音库,但大多数会支持这个的一些变体。

    例如,在FMOD中,您可以使用Channel :: setFrequency方法。 理想情况下,您可以根据WAV的原始采样频率(Fo),球的当前速度(Vc)以及默认WAV右侧(Vi)的球的“理想”速度来计算您想要的播放频率。 通常喜欢的东西:

    F = Fo *(Vc / Vi)

    随着球越来越远离“理想”速度,这将倾向于分解。 您可能希望有几种不同的WAV适用于您在特定阈值速度下切换到的不同速度范围。 在每个WAV的支架内,您可以进行相同类型的频率调整。

    另一个注意事项:这可能不值得做每一帧。 我猜这样做每秒超过20次会浪费时间。

    附录:这样的播放频率缩放也可用于模拟多普勒效应。 一旦调整了播放频率,就可以根据球的速度相对于“听众”(摄像机)执行另一个频率刻度。

    你试过播放声音,然后向后播放,然后循环播放吗? 我以图形方式使用这个技巧来创建重复模式。 我对声音知之甚少,但可能有用吗?

    一种方法可能是分析滚球的声音,并将其分解为其分量波形。 然后你就可以使用合成波生成自己的wav文件。
    你应该可以在声音样本上使用FFT来做到这一点。

    一个缺点是声音可能会合成声音 – 您必须添加噪音等,以使其听起来更逼真。 让它听起来足够真实可能是最难的部分。

    我觉得你不需要麻烦来合成它。 即使听起来令人信服也太难了。

    根据场景的方式,您可以向前/向后循环声音并模拟应用低通滤波器和/或改变其音高的多普勒效应。

    顺便说一句, freesoung.org是免费样品的好地方。 它们不是专业记录的,但却是操纵的良好起点。 另一方面,如果您能以便宜的方式找到它们,那么合理的想法会有一些很好的样本cds(它们实际上是行业标准)。 你只需要搜索哪一个有滚球声。

    我非常喜欢这篇SIGGRAPH论文中描述的方法:

    它描述了在锅中合成摇滚的声音(不,真的:)。 我们的想法是使用模态合成(即卷积脉冲响应),结果非常有说服力。

    以下是该论文附带的video演示的链接:

    这里是JASS库的链接(由作者之一编写),用于为video创建声音:

    我不确定你是否可以让它在智能手机上运行,​​但是有了足够高效的卷积程序/近似值,你可能会做一些有趣的事情……

    我的问题是’为什么?’ – 你觉得这有什么好处,还是只是为了好玩? 你的问题意味着你对你正在使用的wav不满意,但我坚信你合成自己的声音听起来要差得多。

    如果您的wav样本听起来不正确,我建议您尝试寻找另一个样本。 合成声音并不容易,并且永远不会像您的样本那样逼真。

    实时合成可能需要更多资源来进行处理和计算。 您最终可能会将合成声音预渲染为wav文件并执行播放。

    如果你想模拟不同材质的声音,那么你可以使用一些DSP,甚至是简单的技巧,比如减慢或加速wav播放。 最简单的方法是在另一个应用程序中预先渲染这些文件,并为每次使用存储一份文件副本。

    需要了解更多c/c++开发分享滚球的声音,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!

      以上就是c/c++开发分享滚球的声音相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/980386.html

      (0)
      上一篇 2021年12月13日
      下一篇 2021年12月13日

      精彩推荐