![]() |
1
8
我猜你会因为对声音进行动态频率调整而获得最大的回报,这使得回放频率与球的速度成正比。我不知道您使用的是哪种类型的声音库,但大多数都支持这种变体。 例如,在 FMOD 您可以使用channel::setFrequency方法。理想情况下,您将根据wav的原始采样频率(fo)、球的当前速度(vc)和球的“理想”速度(默认wav听起来正确)计算所需的播放频率(vi)。一般来说,比如: f=fo*(vc/vi) 当球离“理想”速度越来越远时,这将趋于崩溃。您可能希望有几个不同的wav,它们适用于在特定阈值速度下切换到的不同速度范围。在每个wav的括号内,你会做同样的频率调整。 另一个注意事项:这可能不是每帧都值得做的事情。我想这样做超过每秒20次是浪费时间。 附录:像这样的回放频率缩放也可以用来模拟多普勒效应。一旦你调整了播放频率,你就可以根据球相对于“监听器”(相机)的速度来执行另一个频率比例。 |
![]() |
2
6
你试过向前播放声音,然后向后播放,然后循环播放吗?我使用这个技巧来创建重复模式。我对声音不太了解,但它可能有用吗? |
![]() |
3
5
一种方法可能是分析滚动球的声音,并将其分解为其组件波形。然后你就可以用合成波生成你自己的wav文件了。
一个缺点是声音很可能是合成的——你必须增加噪音,这样才能使声音更真实。让它听起来足够真实可能是最困难的部分。 |
![]() |
4
3
我认为你不需要麻烦来合成它。这太难让人信服了。 根据场景的不同,可以向前/向后循环声音,并使用低通滤波器和/或更改其音调来模拟多普勒效应。 顺便说一句, freesoung.org 是免费样品的好地方。他们没有专业记录,但是一个很好的操作起点。另一方面, sound ideas 有一些很棒的样品CD(它们实际上是行业标准),如果你能找到便宜的。你只需要搜索哪一个有滚动球的声音。 |
![]() |
5
3
我真的很喜欢这篇Siggraph论文中描述的方法: http://www.cs.ubc.ca/~kvdoel/publications/foleyautomatic.pdf 它描述了在锅中合成岩石滚动的声音(不,真的是)。其思想是使用模态综合(即卷积脉冲响应),结果非常令人信服。 以下是一个视频演示的链接,与纸张一起提供: http://www.cs.ubc.ca/~kvdoel/publications/foleyautomatic.mpeg 这里有一个链接到jass库(作者之一写的),它被用来创建视频的声音: http://www.cs.ubc.ca/~kvdoel/jass/jass.html 我不确定你是否能让它在智能手机上运行,但是有了一个足够有效的卷积程序/近似值,你也许能做一些有趣的事情…… |
![]() |
6
2
我的问题是“为什么?”-你觉得这有什么好处,还是只是为了好玩?你的问题意味着你对你正在使用的wav不满意,但我强烈认为合成你自己的wav听起来要差得多。 如果你的wav样本听起来不正确,我建议你再找一个样本。合成一个声音是不容易的,而且听起来永远不会像你的样品那样逼真。 实时合成可能需要更多的处理和计算资源。你很可能最终会将合成的声音预渲染成一个wav文件并执行回放。 如果你想模拟不同材料的声音,那么你可以使用一些DSP,甚至是一些简单的技巧,比如放慢或加快wav的播放速度。最简单的方法是在另一个应用程序中预渲染这些文件,并为每次使用存储一个文件副本。 |
![]() |
Community wiki · C中有哪些耗时的操作? 1 年前 |
![]() |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
![]() |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
![]() |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |