gpt4 book ai didi

javascript - 无法使用 Tone.js 将音频拆分为单独的 channel

转载 作者:行者123 更新时间:2023-11-28 18:24:08 25 4
gpt4 key购买 nike

我已经开始使用名为 Tone.js 的库创建一个应用程序,它允许我以各种方式操作网络上的音频。

目前,我想为耳机用户创建两个 channel (左 channel 和右 channel ),并在每只耳朵中播放一个不同的频率(例如,左耳 400Hz,右耳 500Hz)

使用我当前的代码,我有两个频率在每只耳朵中播放。有人对如何将它们分开有任何建议吗?

这是迄今为止我的代码:

//create a synth and connect it to the master output (your speakers)

//Connect each separate tone to split
var split = new Tone.Split();
var leftEar = new Tone.Oscillator().toMaster();
var rightEar = new Tone.Oscillator().toMaster();

leftEar.frequency.value = 400;
rightEar.frequency.value = 500;

split.left = leftEar;
split.right = rightEar;

leftEar.connect(split);
rightEar.connect(split);

leftEar.start();
rightEar.start();

//Frequency is equivalent to difference between frequency in left and right ear
var frequency = {
"Gamma" : [30, 50],
"Beta" : [14, 30],
"Alpha" : [8, 14],
"Theta" : [4, 8],
"Delta" : [0.1, 4]
};

谢谢!

引用:https://tonejs.github.io/docs/#Splithttps://github.com/Tonejs/Tone.js/wiki/Signals

最佳答案

  • 您想使用Merge ,不是拆分
  • 您将左右振荡器直接发送到主输出,您应该只在 split 上调用 .toMaster()
  • 您将通过执行 split.left = leftEar; 删除 Merge 生成的 GainNodes
  • 您要将两个振荡器连接到两个 channel ,您应该通过执行 leftEar.connect(split.left) 将它们连接到各自的 channel

完成这些更改后,您的代码将如下所示:

var split = new Tone.Merge().toMaster();
var leftEar = new Tone.Oscillator();
var rightEar = new Tone.Oscillator();

leftEar.frequency.value = 400;
rightEar.frequency.value = 500;

leftEar.connect(split.left);
rightEar.connect(split.right);

leftEar.start();
rightEar.start();

关于javascript - 无法使用 Tone.js 将音频拆分为单独的 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39451270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com