问题标签 [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 回答
73 浏览

javascript - JS 在 ToneJS 中切换文本和状态

我很少使用 JS,无法弄清楚为什么“play-stop-toggle”中的文本没有显示。

我想要的结果是:

  1. [已解决] 中的文本在您单击它时和<div id="play-stop-toggle" onclick="togglePlay()">Play</div>之间切换,PLAY并且STOP
  2. 相应地,Tone.Transport.stop()应该Tone.Transport.start()切换以使声音var filter = new Tone.Filter停止/开始播放。

目前,文本只会在第一次点击时从播放切换到停止,但不会切换回来。而且从来没有声音出来。

0 投票
2 回答
49 浏览

javascript - 在 Javascript 函数中嵌套事件

我正在使用 ToneJS 的网站上创建多个切换按钮。基本上,我希望不同的按钮播放不同的曲目。

我已经像这样创建了两个相同的按钮。

按钮 1:

按钮 2:

目前他们正在播放相同的循环,因为以下代码是全局定义的:

我将如何将 、 和 嵌套在其中filtersynth以便loopfunction togglePlay()可以根据切换的按钮定义不同的声音?

0 投票
0 回答
201 浏览

javascript - Tone.js 库在 Vue 中导入色调

我正在使用带有 vue.js 的tone.js 库版本(“tone”:“ ^14.7.34 ”)

Vue代码:

import Tone from "tone"

也试过

import { Tone } from "tone"

日志中的警告:“在 'tone' 中找不到导出 'default'(导入为 'Tone')

有谁知道我如何从tone.js 库中导入Tone 对象?

0 投票
0 回答
762 浏览

javascript - 如何让 Player 与tone.js 做出反应?

我已经阅读了tone.js 的文档几次,但仍然不知道为什么我的代码不起作用。

根据这篇文章https://github.com/Tonejs/Tone.js/wiki/Using-Tone.js-with-React-or-Vue 我们应该使用Sampler音频文件/样本而不是Player音调.js文档。

提供了一个指向沙盒的超链接,您可以在其中查看演示。

我上传了我的项目的声音文件,并且能够毫无问题地播放它。

在我的项目中,虽然我在控制台中收到以下错误:

url 键既不是音符也不是 midi 音高:声音

据我了解,这意味着采样器无法处理该文件。

这可能就是引入 Player 的原因。

我通过 Chrome 和最新的tone.js 版本运行本地服务器。

根据文档,我已更改Master为,Destination因为该方法不再在较新版本中使用。我以前用各种方法试过,都没有用。仅适用于 v.13.4.9 上的 Sampler 沙箱。

如果我运行上面的代码,我得到:错误:“缓冲区未设置或未加载”

更新:我让播放器运行,但遇到了另一个问题,该问题已在以下线程中讨论。您可以在帖子底部的代码框中找到解决方案。

跟我来:如何在 useEffect hook(react) 中启用 Playertone.js 的音量滑块?

0 投票
1 回答
87 浏览

tone.js - 如何使用 Tone.js 演奏旋律

我有很多这样的笔记

如何根据这个数组演奏旋律?有没有更好的方法来存储旋律?

或者也许我应该为此使用另一个库?

谢谢!

0 投票
1 回答
1059 浏览

reactjs - 如何在 useEffect hook(react) 中启用 Playertone.js 的音量滑块?

我目前正在尝试调整由tone.js 提供的播放器组件的音量。

我启动了一个新 Player 并利用 useRef 将对象的引用保存在current.

播放器包含 url、loop、volume 等键。

在 useEffect 之外,我有一些控制播放和停止方法的事件处理程序,以及一个在 useEffect 中切换循环状态的循环按钮。他们都工作。

我面临的问题是,每当我想调整音量时,都会调用 useEffect ,这会导致重新渲染。

我基本上希望能够在创建的 Player 对象中更改音量的关键参数(值)。移动滑块时会重新渲染,但音量不会改变。

我只是把它说出来,希望有人以前做过。

我之前的问题没有得到解答,最终我自己解决了。我认为使用网络音频 API 的人似乎并不多。

我相信虽然在这种情况下我只需要一个熟练的反应。

可能有一个简单的解决方法,但我只是缺乏知识。

几周前我开始学习反应。

这是我的代码

console.logs 显然只是为了测试。我将阅读文档同时希望找到解决方案。

谢谢你的帮助。

0 投票
1 回答
281 浏览

javascript - 无法切换 ToneJS 振荡器的 start()/stop()

我将一些 JS 与 ToneJS 库拼凑在一起,以打开/关闭一些声音。

在里面loop我有一个鼓点,我目前已经注释掉了。当它被注释时,该togglePlay()函数将按预期启动和停止它。

但是,fmOsc2andfmOsc3函数将在我切换开始时启动,但在我切换停止时不会终止。

作为参考,下面是 HTML 端的样子:<div class="trackPlay" id="play-stop-toggle" onclick="togglePlay()">PLAY</div>

如何获得fmOsc2fmOsc3功能以切换按钮状态?

0 投票
1 回答
119 浏览

javascript - tone.js - 为什么在 60 bpm 时 1 秒内有 192 个滴答声 (ppq)?

" Tone.js是一个用于在浏览器中创建交互式音乐的 Web 音频框架。"

在tone的传输对象中,当bpm值为60时,默认滴答数(细分或ppq)为192。它与bpm成正比,因此在120 bpm时,滴答数(细分,ppq)为384。

为什么选择这个数字(192 或 384),而不是 200(120 bpm 时选择 400)?它是否具有任何特定属性,使其更适合成为默认 bpm 的默认刻度数?

0 投票
2 回答
1286 浏览

javascript - Tone.js Error: 'Start time must be strictly greater than previous start time'

I am having a hard time understanding why I am getting thrown this error:

Debug.ts:8 Uncaught Error: Start time must be strictly greater than previous start time

The weird part is that it only throws me this error about 4/5 times I refresh the page. There is a 1/5 chance roughly that it will work with no problem. Here is my code:

0 投票
2 回答
1314 浏览

javascript - Tone.js 完全停止所有播放声音

简而言之,按下按钮我想使用 aPolySynth和 a演奏一些音符Sequence。如果用户反复按下按钮,我希望播放的内容停止,然后重新开始。这很可能是因为信封的衰减/维持。

问题:无论我尝试什么,我都无法完全取消/静音先前播放的音符,以防序列再次开始(再次单击按钮)。

我的合成器:

我的顺序:

我玩它的方式,这是一个事件处理程序:

我怎么能在开始播放之前完全杀死所有声音(如果有的话)?