问题标签 [tone.js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
660 浏览

javascript - Tone JS - Transport.stop(); 不适用于预定事件

我正在将 Tone JS 用于一个项目,并且我正在使用Transport.scheduleOnce通过Sampler安排事件。这是我到目前为止所拥有的,这也是其中的一个小提琴(您可能需要单击运行几次才能听到最初加载小提琴时的音频)

我的代码:

我正在尝试使用该Transport.stop()方法在 1 秒后停止播放音频,但它似乎不起作用。我想我已经按照我应该的方式遵循了文档,所以我哪里出错了?

0 投票
2 回答
1218 浏览

javascript - 如何使用 Tone.js 的 Tone.player 暂停音乐(mp3)?

我是tone.js 的新手,我只想要一个简单的暂停按钮。我知道有一个 stop() 和 start() 但这不是暂停,什么时候重新开始音乐只是转到歌曲的开头。

我使用tone.js,因为我想操纵音乐并做一些合成声音。我也使用 p5.js 但不知何故暂停剂量不起作用。它抛出一个错误,说“无法读取未定义的属性'长度'。所以我想使用tone.js,但只需要弄清楚如何暂停音乐。谢谢。

这是代码

0 投票
1 回答
124 浏览

javascript - Tone JS - 过滤器不适用于采样器

我正在使用 Tone JS 发出声音,我想在我的 Sampler 乐器中添加一个过滤器,我从文档中的理解是,我可以通过使用connect采样器上的方法并将过滤器作为参数传递来做到这一点:

当声音播放时,上面没有应用过滤器效果,我不知道为什么?

0 投票
1 回答
212 浏览

web-audio-api - Tone.js Follower 创建侧链音量控制

我想通过另一个源控制一个源的增益,以根据源一的否定包络在源 2 上创建增益自动化。

这是我的逻辑:

哪里gainTwo是一个增益节点连接到playerTwo这是一个代码笔示例: https ://codepen.io/adam_fr/pen/BazVEwe

预期的结果是gainTwo.gain每次都playerOne被触发,但我得到的是相反的,第二个源仅在第一个源播放时播放。

0 投票
1 回答
494 浏览

javascript - 在传输播放时安排 ToneJS 事件

我的 Tone JS 应用程序中有 4 个音符正在播放,并且想在传输当前播放时将第 3 个音符更改为其他音符。这是我的代码:

JS:

HTML:

当我单击替换 3rd note 按钮时,它会删除旧事件,这很好,但是当它安排新事件时,它与旧 3rd note 的位置不同步。

解决此问题的一种方法是停止传输,然后单击以替换第三个音符,然后再次单击播放,但是我希望能够在传输仍在播放时执行此操作。我哪里错了?

这是一个演示问题的小提琴:

https://codesandbox.io/s/tonejs-forked-fxhzm?file=/src/index.js:0-1643

0 投票
1 回答
147 浏览

javascript - 将播放列表添加到 Tone.js 音频播放器

简短版:我正在构建一个具有播放列表功能的音频播放器。播放器可以工作,但播放列表按钮不会更改最初提供的 URL。

长版:我使用 Tone.js 的 GrainPlayer(*) 播放由多个 mp3 组成的歌曲。播放器本身(包括播放和停止按钮)工作正常,但仅适用于最初为变量 melodyURL 和 percussionURL 提供的 URL。

我还包括了在歌曲之间切换的播放列表按钮,因此更改了 melodyURL 和打击乐 URL 的 URL。但是新的 URL 没有分配给 GrainPlayer。

我错过了什么?任何帮助表示赞赏。

提前致谢,

乔治

*) GrainPlayer,因为我还必须在不影响音高的情况下调整播放速率。

0 投票
1 回答
103 浏览

web-audio-api - 停止振荡器时 Web Audio API 点击声音

当使用网络音频 API 制作振荡器时,我总是在停止它时听到咔哒声。我已经搜索了周围,但没有一个解决方案对我有用。我尝试了如何在停止播放声音时避免这种“点击”声音中的所有实现?和更多

我读到的一种解决方案是等待下一个零幅度值,然后立即停止播放。有没有办法使用网络音频 api 做到这一点?

我正在考虑为我的项目切换到 Tone.Js,因为声音在没有点击的情况下播放。他们如何解决问题?

我很惊讶没有内置解决方案

0 投票
1 回答
144 浏览

javascript - Tone.js 不会为 iO 上的 Cordova 加载

我正在尝试加载 Tone.js 库以在我的 Cordova 应用程序中使用,并将 iOs 作为目标平台。当我启动 iPhone 模拟器时,我在控制台中看到了这个错误:

[shim] BKSProcessAssertion "ConnectionTerminationWatchdog" initialized with invalid pid

该应用程序未加载,我只看到空白屏幕。

我试图从 CDN 加载库,如下所示:

<script src="https://cdnjs.cloudflare.com/ajax/libs/tone/13.4.9/Tone.min.js" ></script>

并且还来自本地文件系统:

<script src="js/libs/tone/13.4.9/Tone.min.js"></script>

似乎没有任何区别。当我尝试从 Safari 调试应用程序时,我看到网页甚至没有加载。似乎加载库以某种方式使应用程序永远挂起,直到它崩溃。

我尝试在没有库的情况下加载应用程序,然后尝试使用 javascript 从控制台加载它,如下所示:

在我运行这个命令之后,Safari 就像在 Tone.js 或加载器内部有一个无限循环一样死掉了。我正在尝试不同版本的 Tone.js lib - 没有发现任何区别。

这是我使用的环境:

0 投票
0 回答
233 浏览

angular - 使用角度的tone.js在两个通道中混合两个音频文件

我有两个音频文件(音乐和语音),我想使用tone.js 通道组件将它们混合在一起。目前我可以同时播放两个文件,如下所示

我想将这两个音频文件发送到tone.js 频道。

在此先感谢您的任何指点

0 投票
1 回答
163 浏览

javascript - 反应按钮,使用tone.Js,在第一次按键后中断,错误:setValueAtTime 的参数无效:{},2.2188208616780045

然后获得第一个按钮按下的音调,我收到此错误...

错误:setValueAtTime 的参数无效:{},2.2188208616780045

不确定这个错误来自哪里,我为每个鼠标事件设置了时间,所以这应该可以防止任何错误。

我的代码: