iOS / C / C ++ / Cocos2D:如何“模拟”电吉他拨片滑音

时间:2012-10-16 23:41:40

标签: ios cocos2d-iphone synthesizer

我认为这是一个相当奇怪的问题,但让我们把它放在正确的背景下。我不是在寻找模拟整个吉他声音范围或者编写我自己的合成器,而是模拟整个吉他(please see answers to this type of questions here)。 我“只是”想要了解滑动选择声音,如果可能的话,不要激怒音乐家。如果声音类型不清楚请看这里:

http://youtu.be/y4_wjNRLe4M?t=1m39s http://youtu.be/VdrFTyUCGYs?t=2m57s

我想给用户一种感觉,即如果滑动条向右移动,产生的滑动声音的长度与滑动条的相对运动成比例。相反,如果用户向左移动滑动条,则会使用相同的概念播放滑动下来的声音。

供参考。我正在使用Cocos2D 2.0和iOS 5.1。

我发现了与Cocos2d Cookbook第6章“修改音频属性”之后的效果模糊相似的东西(这里是从第4章演示示例到free App的链接) 6),作者修改单声道合成器音调,根据用户在屏幕上的手指位置改变音高和增益(参见this video以了解我在谈论的例子中仍然不清楚)。 / p>

    //Play our sound with custom pitch and gain
    CDSoundSource *sound = [[sae soundSourceForFile:@"synth_tone_mono.caf"] retain];
    [sound play];
    sound.looping = YES;
    [notes setObject:sound forKey:key];
    sound.pitch = point.x/240.0f;
    sound.gain = point.y/320.0f;

这不是最好的解决方案,而是一个不错的近似值。任何人都可以提出更好的建议吗?

编辑:我正在努力通过记录向上滑动并向下滑动等于最大长度的声音来近似。然后一旦移动滑动拾取条就开始声音并且一旦移动完成就停止声音(在Cocos2d中,这将对应于触摸开始并且触摸结束于将代表滑动选择的特定精灵)。然后滑动镐将在原始位置恢复,以避免必须处理滑动从不同位置开始的情况。当然是一个近似值,我会使用它,因为它在开发时间和计算性能方面都很便宜(我猜任何模拟声音的东西在计算上都会更“昂贵”)。我打开这个问题,看看是否有人提出了更好的想法或解决方案(库仍然很好,因为我仍在考虑完全模拟幻灯片拾音的可能性。)

0 个答案:

没有答案