繁体   English   中英

有没有办法限制单合成器一次只播放一个音符?

[英]Is there a way to limit monosynth to only play one note at a time?

我目前正忙于一项任务(使用 P5.JS),其中涉及使用网络摄像头作为用户输入来触发声音。 这通过在相机输入上创建一个网格并使用颜色差异来检测特定网格块中是否存在移动来工作。 如果有运动,则网格块被“激活”,这会在屏幕上触发一些视觉效果。 我已经将每个网格块链接到一个单合成音符,当网格块被激活时,相应的单合成音符就会播放。 但是,当我运行它时,我会听到沙哑且令人不快的声音,我认为这是因为 monosynth 试图同时播放许多不同的音符。 有没有办法可以限制它一次只演奏一个音符?

https://p5js.org/reference/#/p5.MonoSynth

在上面的链接中,我看到.play方法 function 有一个“持续时间”参数。 有没有办法让我在允许它播放另一个音符之前等待该持续时间完成? 或者可能是一种方法 function 检查 Monosynth 当前是否正在播放某些东西,然后在使用.play方法之前在if语句中使用它。

任何意见,将不胜感激。

PS:出于抄袭的原因,我不能在线分享我的任何代码。

即使您尽可能快地点击播放按钮,文档页面上的 MonoSynth 示例不会出现“刺耳和令人不快的声音”。

由于单声道合成器实际上是一个振荡器和一个包络,因此它不可能同时播放多个声音(并开始削波)。

由于我们看不到您的代码,因此我不得不依靠我的水晶球来猜测:您是否可能在开始演奏音符时实例化一个的单音合成器,而不是告诉单个单音合成器改变音高? 这样就可以解释了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM