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

javascript - 在 node.js 上上传音频文件,添加音频可视化(使用三个.js)并将新文件保存到视频文件

我想将音频文件上传到节点服务器,并用三个js(音频可视化)创建动画并将新文件制作为视频文件。

(音频可视化示例:https ://www.youtube.com/watch?v=l7iHvXq4hEE )

我找到了一些解决方案,可以使用 Tone.js 或 three.js 在客户端实现这一点,然后“实时”从浏览器记录音频可视化,并将其发送回服务器,

像这样:https ://gracexu94.github.io/FinalProject/

但这是“实时”发生的,我希望在这里能够上传 40 分钟的音频,而不必等待这段时间才能取回文件,,,

这个过程有什么想法吗?

谢谢!

0 投票
1 回答
705 浏览

google-chrome - audio-context-constructor.js:8 AudioContext 不允许启动。它必须在页面上的用户手势后恢复(或创建)

我的 chrome 浏览器总是抛出这个错误,是编码和使用tone.js 的新手请任何人帮我检查我的代码,并告诉我是否做错了什么

<--/这是我的app.js文件--/>

这是 html 文件,我希望在用户选中/单击复选框/框时播放声音,但我得到的是错误:audiocontext 不允许启动,需要创建或恢复。 …………

0 投票
2 回答
786 浏览

audio - Tone.js:如何无缝循环播放声音?

我有一个使用 Tone.js 在循环上运行的简短、交叉渐变的环境声音剪辑。麻烦的是,在一个播放的结束和下一个播放的开始之间有一个可听的间隙。

我知道可以使用音频精灵在 Howler.js 中实现无缝交叉淡入淡出的循环,但我不确定如何在 Tone.js 中做到这一点(如果可能的话,我宁愿坚持使用这个库)。

有没有人知道如何解决这个问题?

0 投票
1 回答
539 浏览

javascript - 如何为tone.js中正在播放的音符添加事件监听器

我正在构建一个由 Tone.js 提供支持的小型 Web 应用程序来训练自己弹奏钢琴键(可能还有其他一些练习)。到目前为止,您可以选择根音和音阶类型,然后单击播放,它将循环播放该音阶。还有一个键盘/合成器是我从其中一个tone.js 示例中提取的,您可以单击钢琴键,使用您的 querty 键盘上的键,或者选择一个连接到您的计算机的 midi 键盘来使用和播放声音。

我要做的下一步是创建一个条,当播放音阶中的音符时点亮绿色,当播放音阶外的音符时点亮红色,并且可能记录连续正确播放了多少个音符或类似的东西。我遇到的问题是,似乎没有办法直接从tone.js 获取用户正在播放的音符。我可以将键盘上的按键转换为音符,仅此而已。我无法捕捉到有人点击键盘的任何事件。我也无法从tone.js 获取选定的midi 输入设备,以便能够解释与tone.js 合成器一起演奏的钢琴键。

我尝试使用 jquery 附加事件侦听器,因为虚拟钢琴键只是按钮,但它们在影子 DOM 中是不可访问的。

有没有人使用过tone.js 和tonejs/ui 并且知道这是否可能,或者我是否必须以某种方式在code.js 之外编写代码?任何解决方法的想法?

编辑:我已经完成了我的 v1.0.0。我能够在 Tone.js 旁边收听 midi 设备,并将它们转换为正在播放的音符。这是一个不错的解决方案,但正如我所提到的,最好直接从 Tone.js 合成器中播放音符以简化代码,允许训练栏处理用鼠标单击的音符,等等正在播放的音符可以在教练栏上显示其八度音阶数。

git 回购:https ://github.com/erikstagg/music-theory

0 投票
1 回答
1520 浏览

javascript - 如何将 Web Audio API 连接到 Tone.js?

我正在做一个在线音频播放器,所以我想在我的应用程序中集成Pitch Shifter ,它在Tone js上可用,但在Web Audio API中不可用......

所以我的想法是将Tonejs Pitch Shifter连接到Web Audio API 的 audioContext

有没有可能的方法?

这是我的参考代码

0 投票
1 回答
850 浏览

three.js - 将 Tone.js 与 Three.js 一起使用 - 如何获得位置音频?

我可以很容易地让 Tone.js 在 Three.js 世界中生成音调,只需调用例如 ,oscillator = new Tone.Oscillator(440, "sine").toMaster();但我不知道如何将该音调连接到 Three.js 世界中的 AudioListener 以使其成为一个位置的声音。有人知道怎么做这个吗?

使用 Three.js 内置的振荡器,它可以按照 Three.js音频沙盒示例完美运行,它使用的地方oscillator = listener.context.createOscillator();所以我假设这证明我需要将 Tone.js 输出连接到听者的 AudioContext,但我只是无法弄清楚如何做到这一点,我也无法在网上找到任何关于它的信息。我能找到的任何示例都只需使用上述toMaster()方法,因此声音不是位置的。

非常感谢任何帮助!

0 投票
1 回答
260 浏览

reactjs - Tone.js 中的路径和采样器循环

我正在尝试在我的 React 应用程序中使用 Tone.js 创建一个简单的节拍器。但我听不到任何声音。我究竟做错了什么?

练习.ts

0 投票
2 回答
124 浏览

web-audio-api - 过滤音频信号,然后在不发送到主机的情况下读取仪表

我正在尝试过滤信号,然后使用 Tone.js / Web-Audio API 分析过滤信号的值。

我期望得到滤波信号的值,但我只得到 -Infinity,这意味着我的节点之间的连接是错误的。我做了一个小小提琴来演示这一点,但是在我的用例中,我不想将此节点发送到上下文的目的地——我只想分析它,而不是听到它。

0 投票
0 回答
1205 浏览

javascript - 无法在“AudioNode”上执行“connect”

我在 HTML 文件的标题中有这个脚本。它工作正常,除了delay.connect(Tone.context.destination);中途的线路,理论上通过延迟启动其中一个来增加 DuoSynth 中声音的分层。

当它没有被注释掉时,我在控制台中得到这个错误:Uncaught TypeError: Failed to execute 'connect' on 'AudioNode': No function was found that matched the signature provided.

我究竟做错了什么?

0 投票
1 回答
401 浏览

javascript - 将 Tone.js 与 MediaRecorder 一起使用

Tone.js 有一个包装麦克风输入的数据类型 - UserMediadocssrc),但我无法弄清楚如何将包装的流连接到网络音频 API MediaRecorderdocs)。

如果我理解MediaRecorder正确,它的构造函数采用MediaStream- 但tone.js UserMedia 包装器不会公开它。

Tone.jsUserMedia可以与MediaRecorderAPI 结合使用吗?