用AKPlayer播放低样本摆脱PopClick。

问题描述 投票:1回答:1

我正在创建一种鼓垫应用程序,似乎AKPlayer是AudioKit中众多类中最好的,可以播放我的样本。

问题是,当我开始播放一个低频(低音音符)的样本时,在播放样本时总是有一个咔嗒声(或 "啪")!这可以通过运行一个未修改的 "Mixing Nodes "Demo来轻松地听到。

通过运行一个未经修改的 "Mixing Nodes "demo,可以很容易地听到这个声音。AudioKit游乐场. 将除Bass以外的所有声音的音量调小,你会注意到每次Bass采样循环时的点击声。

值得注意的是:我玩了例子中包含的 "Bass loop.wav "文件,我略微淡入和淡出了样本,使波形在零开始和结束。当我这样做时,我没有得到重复之间的点击声。因此,这让我相信,一个样本在非零点开始或结束会导致点击。

问题是,我所拥有的样本并不都是以零开始的。

更重要的是,我希望用户能够 "击打 "一个音符,并重复演奏这个音符,所以例如你可能有一个低音符 "baaaaaaaaaaah",但我击打了几次,所以它像 "ba-ba-baaaaaaaaaaah "一样结结巴巴。 如果我停止并重新开始播放AKPlayer,我就会听到 "咔 "的一声--也许是因为我正从一个非零的采样数立即过渡到新的采样开始。

你可以在同样的游戏场中玩这个概念,只要关闭了 isLooping 在贝斯上,再加上以下几句。

        addView(AKButton(title: "Bass") { button in
            bass.stop();  bass.play()
        })

我曾和... stopEnvelopeTime 上,但这似乎没有达到预期的效果。当我在应用中点击一个垫子时,我不想增加延迟来等待当前播放的样本淡出,然后再开始播放样本。

有没有一些更好的API,我可以用它来使一个样本是多声道的。本身 这样,当我敲击当前正在播放的样本时,当前正在播放的样本就会淡出,但混合后,样本又会重新开始。马上? 而且,不用点击?

audiokit
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.