问题标签 [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 - JS 在 ToneJS 中切换文本和状态
我很少使用 JS,无法弄清楚为什么“play-stop-toggle”中的文本没有显示。
我想要的结果是:
- [已解决] 中的文本在您单击它时和
<div id="play-stop-toggle" onclick="togglePlay()">Play</div>
之间切换,PLAY
并且STOP
- 相应地,
Tone.Transport.stop()
应该Tone.Transport.start()
切换以使声音var filter = new Tone.Filter
停止/开始播放。
目前,文本只会在第一次点击时从播放切换到停止,但不会切换回来。而且从来没有声音出来。
javascript - 在 Javascript 函数中嵌套事件
我正在使用 ToneJS 的网站上创建多个切换按钮。基本上,我希望不同的按钮播放不同的曲目。
我已经像这样创建了两个相同的按钮。
按钮 1:
按钮 2:
目前他们正在播放相同的循环,因为以下代码是全局定义的:
我将如何将 、 和 嵌套在其中filter
,synth
以便loop
我function togglePlay()
可以根据切换的按钮定义不同的声音?
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 对象?
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 沙箱。
如果我运行上面的代码,我得到:错误:“缓冲区未设置或未加载”
更新:我让播放器运行,但遇到了另一个问题,该问题已在以下线程中讨论。您可以在帖子底部的代码框中找到解决方案。
tone.js - 如何使用 Tone.js 演奏旋律
我有很多这样的笔记
如何根据这个数组演奏旋律?有没有更好的方法来存储旋律?
或者也许我应该为此使用另一个库?
谢谢!
reactjs - 如何在 useEffect hook(react) 中启用 Playertone.js 的音量滑块?
我目前正在尝试调整由tone.js 提供的播放器组件的音量。
我启动了一个新 Player 并利用 useRef 将对象的引用保存在current
.
播放器包含 url、loop、volume 等键。
在 useEffect 之外,我有一些控制播放和停止方法的事件处理程序,以及一个在 useEffect 中切换循环状态的循环按钮。他们都工作。
我面临的问题是,每当我想调整音量时,都会调用 useEffect ,这会导致重新渲染。
我基本上希望能够在创建的 Player 对象中更改音量的关键参数(值)。移动滑块时会重新渲染,但音量不会改变。
我只是把它说出来,希望有人以前做过。
我之前的问题没有得到解答,最终我自己解决了。我认为使用网络音频 API 的人似乎并不多。
我相信虽然在这种情况下我只需要一个熟练的反应。
可能有一个简单的解决方法,但我只是缺乏知识。
几周前我开始学习反应。
这是我的代码
console.logs 显然只是为了测试。我将阅读文档同时希望找到解决方案。
谢谢你的帮助。
javascript - 无法切换 ToneJS 振荡器的 start()/stop()
我将一些 JS 与 ToneJS 库拼凑在一起,以打开/关闭一些声音。
在里面loop
我有一个鼓点,我目前已经注释掉了。当它被注释时,该togglePlay()
函数将按预期启动和停止它。
但是,fmOsc2
andfmOsc3
函数将在我切换开始时启动,但在我切换停止时不会终止。
作为参考,下面是 HTML 端的样子:<div class="trackPlay" id="play-stop-toggle" onclick="togglePlay()">PLAY</div>
如何获得fmOsc2
和fmOsc3
功能以切换按钮状态?
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 的默认刻度数?
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:
javascript - Tone.js 完全停止所有播放声音
简而言之,按下按钮我想使用 aPolySynth
和 a演奏一些音符Sequence
。如果用户反复按下按钮,我希望播放的内容停止,然后重新开始。这很可能是因为信封的衰减/维持。
问题:无论我尝试什么,我都无法完全取消/静音先前播放的音符,以防序列再次开始(再次单击按钮)。
我的合成器:
我的顺序:
我玩它的方式,这是一个事件处理程序:
我怎么能在开始播放之前完全杀死所有声音(如果有的话)?