5

我想这是一个相当奇怪的问题,但让我们把它放在正确的上下文中。我不是在寻找模拟整个吉他声音范围或编写自己的合成器,也不是模拟整个吉他(请在此处查看此类问题的答案)。如果可能的话,我“只是”想在不激怒音乐家的情况下给出幻灯片拾音器的想法。如果声音类型不清楚,请看这里:

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

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

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

我发现和我在Cocos2d Cookbook第6章“修改音频属性”段落后的效果有点相似(这里是第4章到第6章demo示例中免费App的链接),作者修改了一个单声道合成器音调根据用户在屏幕上的手指位置改变音高和增益(在仍不清楚的情况下,请参阅此视频以了解我正在谈论的示例)。

    //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 中,这将对应于代表滑动拾取的特定精灵上的触摸开始和触摸结束)。然后将滑动拾取器恢复到原始位置,以避免必须处理从不同位置开始滑动的情况。当然是一个近似值,我会使用它,因为它在开发时间和计算性能方面都很便宜(我猜任何可以模拟声音的东西在计算上都会更加“昂贵”)。

4

0 回答 0