问题标签 [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.
javascript - Tone JS - Transport.stop(); 不适用于预定事件
我正在将 Tone JS 用于一个项目,并且我正在使用Transport.scheduleOnce通过Sampler安排事件。这是我到目前为止所拥有的,这也是其中的一个小提琴(您可能需要单击运行几次才能听到最初加载小提琴时的音频)
我的代码:
我正在尝试使用该Transport.stop()
方法在 1 秒后停止播放音频,但它似乎不起作用。我想我已经按照我应该的方式遵循了文档,所以我哪里出错了?
javascript - 如何使用 Tone.js 的 Tone.player 暂停音乐(mp3)?
我是tone.js 的新手,我只想要一个简单的暂停按钮。我知道有一个 stop() 和 start() 但这不是暂停,什么时候重新开始音乐只是转到歌曲的开头。
我使用tone.js,因为我想操纵音乐并做一些合成声音。我也使用 p5.js 但不知何故暂停剂量不起作用。它抛出一个错误,说“无法读取未定义的属性'长度'。所以我想使用tone.js,但只需要弄清楚如何暂停音乐。谢谢。
这是代码
javascript - Tone JS - 过滤器不适用于采样器
我正在使用 Tone JS 发出声音,我想在我的 Sampler 乐器中添加一个过滤器,我从文档中的理解是,我可以通过使用connect
采样器上的方法并将过滤器作为参数传递来做到这一点:
当声音播放时,上面没有应用过滤器效果,我不知道为什么?
web-audio-api - Tone.js Follower 创建侧链音量控制
我想通过另一个源控制一个源的增益,以根据源一的否定包络在源 2 上创建增益自动化。
这是我的逻辑:
哪里gainTwo
是一个增益节点连接到playerTwo
。这是一个代码笔示例: https ://codepen.io/adam_fr/pen/BazVEwe
预期的结果是gainTwo.gain
每次都playerOne
被触发,但我得到的是相反的,第二个源仅在第一个源播放时播放。
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
javascript - 将播放列表添加到 Tone.js 音频播放器
简短版:我正在构建一个具有播放列表功能的音频播放器。播放器可以工作,但播放列表按钮不会更改最初提供的 URL。
长版:我使用 Tone.js 的 GrainPlayer(*) 播放由多个 mp3 组成的歌曲。播放器本身(包括播放和停止按钮)工作正常,但仅适用于最初为变量 melodyURL 和 percussionURL 提供的 URL。
我还包括了在歌曲之间切换的播放列表按钮,因此更改了 melodyURL 和打击乐 URL 的 URL。但是新的 URL 没有分配给 GrainPlayer。
我错过了什么?任何帮助表示赞赏。
提前致谢,
乔治
*) GrainPlayer,因为我还必须在不影响音高的情况下调整播放速率。
web-audio-api - 停止振荡器时 Web Audio API 点击声音
当使用网络音频 API 制作振荡器时,我总是在停止它时听到咔哒声。我已经搜索了周围,但没有一个解决方案对我有用。我尝试了如何在停止播放声音时避免这种“点击”声音中的所有实现?和更多
我读到的一种解决方案是等待下一个零幅度值,然后立即停止播放。有没有办法使用网络音频 api 做到这一点?
我正在考虑为我的项目切换到 Tone.Js,因为声音在没有点击的情况下播放。他们如何解决问题?
我很惊讶没有内置解决方案
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 - 没有发现任何区别。
这是我使用的环境:
angular - 使用角度的tone.js在两个通道中混合两个音频文件
我有两个音频文件(音乐和语音),我想使用tone.js 通道组件将它们混合在一起。目前我可以同时播放两个文件,如下所示
我想将这两个音频文件发送到tone.js 频道。
在此先感谢您的任何指点
javascript - 反应按钮,使用tone.Js,在第一次按键后中断,错误:setValueAtTime 的参数无效:{},2.2188208616780045
然后获得第一个按钮按下的音调,我收到此错误...
错误:setValueAtTime 的参数无效:{},2.2188208616780045
不确定这个错误来自哪里,我为每个鼠标事件设置了时间,所以这应该可以防止任何错误。
我的代码: