如何将事件监听器添加到tone.js中正在播放的音符中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将事件监听器添加到tone.js中正在播放的音符中相关的知识,希望对你有一定的参考价值。

我正在构建一个由Tone.js驱动的小型Web应用程序,以训练自己弹奏关键钢琴(可能还会进行一些其他练习)。到目前为止,您可以选择根音符和音阶类型,然后单击“播放”,它将循环播放该音阶。我还从一个tone.js示例中获取了一个键盘/合成器,您可以单击钢琴键,使用键盘上的键或选择连接到计算机的Midi键盘来使用和播放声音。 >

我要尝试做的下一步是创建一个条,该条会在弹奏音阶中的音符时亮绿色,在弹奏音阶之外的音符时亮红色,并可能记录连续演奏了多少个音符正确或类似的东西。我遇到的问题是,似乎没有办法直接从tone.js获取用户正在演奏的音符。我可以将键盘上的按键转换为音符,仅此而已。我无法捕获任何人单击键盘的事件。我也无法从tone.js获取所选的midi输入设备,以便能够解释与tone.js合成器一起演奏的钢琴键。

我已经尝试使用jquery附加事件监听器,因为虚拟钢琴键只是按钮,但是在影子DOM中无法访问它们。

有人使用tone.js和tonejs / ui知道是否可行,或者我是否必须以某种方式在code.js之外进行编码?有任何解决方法的想法吗?

编辑:我已经完成了v1.0.0。我能够与Tone.js一起收听Midi设备,并将它们转换为正在播放的音符。这是一个不错的解决方案,但是正如我已经提到的,最好直接从Tone.js合成器中播放音符以简化代码,允许训练器栏使用鼠标单击的音符,等等。可以在教练栏上以八度数显示正在播放的音符。

git回购:https://github.com/erikstagg/music-theory

我正在构建一个由Tone.js驱动的小型Web应用程序,以训练自己弹奏关键钢琴(可能还会进行一些其他练习)。到目前为止,您可以选择根音和音阶类型,然后单击...

答案

例如,您可以在主文档上收听mousedown事件。

以上是关于如何将事件监听器添加到tone.js中正在播放的音符中的主要内容,如果未能解决你的问题,请参考以下文章

如何将信息窗口添加到标记事件侦听器 [重复]

如何正确地将事件侦听器添加到 React useEffect 挂钩?

如何将事件侦听器添加到多个按钮,每个按钮修改数据的不同部分

添加事件侦听器,在播放完声音后更改/删除类

如何将侦听器添加到音频元素以进行连续播放

如何将侦听器添加到 grpc 方法?