问题标签 [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 投票
0 回答
255 浏览

javascript - 为什么我的 Tone.Loop 似乎随机停止循环?

我的循环似乎随机停止。可能是什么问题?

我尝试使用循环的 Tone.Event,并且发生了同样的事情。也许,这是我对时间在 Tone.Loop 和内部 Transport.scheduleOnce 中的解释方式的理解。循环可能随时停止,因此如果经过大约 10 秒,请刷新并重新运行该函数,或者让它运行直到 Tone.Loop 最终停止,但它可能会停止。我可以保证。您可以在做其他事情时让它播放,当声音的音量停止进出时,您会知道循环已停止。我通过将 Loop 的本质直接绑定到 Tone.Context 的“tick”事件来解决这个问题;一切似乎都按预期运行。不过,我想知道循环失败的原因。

循环应该永远运行。

0 投票
1 回答
283 浏览

angular - 如何在 Angular 中使用 Tone.js UI 显示键盘?

在一个Angular 7应用程序中,我安装了Tone.js依赖项:

我可以弹奏音符,我想使用我在这个小提琴tone-keyboard中看到的元素来显示键盘

我的synth.component.html文件包含:

我的synth.component.ts文件包含:

但我收到以下错误:

我应该在文件中有一些额外import的声明吗?synth.component.ts

0 投票
0 回答
207 浏览

angular - 为什么我的 Tone.js Transport 没有连续运行多次?

我用来播放一些配乐,并且在组件加载时Tone.js对 Transport 进行分层:Angular

我观察到构造函数被调用了两次。所以我想确保在启动之前停止传输。我是否应该了解 Transport 仅在应用程序生命周期中启动一次?无论如何,在开始前停下来对我的问题没有帮助。

问题是,有时,当我尝试一个接一个地播放多个音轨时,记录器不会出现。

0 投票
2 回答
8938 浏览

javascript - 如何在本地 javascript 文件中使用 CDN

我正在尝试使用 Tone.js 用 javascript 制作音乐。每当我尝试使其工作时,都会收到错误消息“tonetutorial.html:26 Uncaught TypeError: Tone.Player is not a constructor”。

我在我的 HTML 文件的顶部。我目前正在使用括号来编写和预览我的代码。

这是我的javascript函数

这是 HTML

当我尝试运行它时,我被告知“Tone.Player”不是构造函数。在这种情况下我可以不使用网络 CDN 吗?我必须将 .min 下载到我的桌​​面吗?

0 投票
1 回答
1396 浏览

javascript - 如何在 Tone.js 中调整音频缓冲区?

我想在 Javascript 中转换音频,我认为最简单的方法是 Tone.js ( https://tonejs.github.io/docs/r13/PitchShift ),但我的实现没有播放任何声音,但没有错误. 我究竟做错了什么?

HTML(加载音频文件)

Javascript

0 投票
0 回答
101 浏览

javascript - 等到加载资产

我在这里有一个应用程序https://maliyshock.github.io/simon-says/ 对于这个应用程序,我正在使用这个库https://tonejs.github.io 我需要确保所有声音都成功下载. 在运行应用程序之前。

在我看来,在未来的更新中,它将成为吉他英雄,但带有 dubstep。:DI 将创建具有不同声音、节奏和持续时间的乐句。其主要特点是可重玩性。因为每首歌曲都是从短语库中生成的。

在 redux/react 堆栈中,我们应该通过 dispatch action 来更新应用程序的状态,告诉 reducer 要做什么。

问题是,我需要在游戏开始前下载所有声音。我看到的唯一方法是将它放在减速器内部。但这对我来说似乎是错误的。

如您所见,每个按钮都有声音。将来,每个按钮都会有关于短语和声音持续时间的多种声音。

我不知道该怎么做。我唯一想到的是使用onload来自的回调Tone.player来更新商店并在下载所有声音时用勾号检查它。如果所有这些都已下载 - 显示正确的屏幕。但在我看来,这样做是错误的。

0 投票
1 回答
3254 浏览

javascript - Tone.js - AudioContext 不允许启动

我用 Codepen 写了一个简单的合成器。它实际上可以正常工作,并且可以按照我的预期进行(在 Codepen 上和网站上的调试模式下)。不幸的是,它在我的本地机器上不起作用:如果我下载代码并尝试运行它,它会给我在问题标题中提到的错误。

如果我将代码“硬拷贝”到浏览器控制台并运行它,它会完美运行。

这是我的完整应用程序,只要您将鼠标悬停在带有相应音符的垫子上,它就会播放一些合成声音: https ://codepen.io/mattiasu96/pen/pxPXpB

正如我上面提到的,这一切都很好,但不是在本地。该代码实际上是正确的,因为它在 Codepen 上运行良好,并且如果我在浏览器调试控制台中硬拷贝它,它就可以运行。

我不知道为什么我会收到这个错误。

0 投票
1 回答
188 浏览

javascript - Tone.js 中的 NoiseSynth 没有声音

Tone.jsNoiseSynth没有发出任何噪音

我正在尝试学习 Tone.js,但是当我尝试使用 NoiseSynth 播放声音时,它不会发出声音。我错过了什么吗?

我预计这会产生一个八分音符长度的白噪声。但它什么也没做。 这是一个JSFiddle

0 投票
1 回答
317 浏览

frequency - Tone.js - 音符频率

我正在使用 Tone.js 库编写一个音乐应用程序。我有一个简单的垫子,上面有用户演奏的音符。

我需要将音符的“字母”符号(如 A4、C3、D#4 ecc ...)转换为频率。

我在这里遵循了文档:https ://tonejs.github.io/docs/r13/Frequency 。

根据文档,我应该能够简单地将我的笔记转换为频率:

我一直在尝试使用这行代码,但没有任何成功。

如果我尝试在我的浏览器控制台中运行它(显然是在导入 Tone.js 库之后,因为我的整个程序都可以正常工作,所以它正确包含在https://codepen.io/mattiasu96/pen/pxPXpB中),命令给了我:https ://imgur.com/LvHQycC 这似乎根本不是频率。

有什么问题?我错过了什么吗?我不知道为什么我不能使用文档中的给定命令“提取”频率。

0 投票
0 回答
707 浏览

javascript - 在tone.js中同步音频循环和笔记

我正在尝试库tone.js。我想将音频循环文件(1 bar 120 bpm)与使用默认乐器之一在tone.js 中生成的一系列音符同步。

这些是我尝试过的主要步骤:

这是代码:

循环和序列同时开始播放,但时间有点偏离(不完全同步)。以上是同步音频和笔记的正确方法吗?或者我能做些什么来改善时机?