gpt4 book ai didi

google-chrome - 如何将一个或两个乐器连接到 Web Audio API 并拆分立体声信号?

转载 作者:行者123 更新时间:2023-12-03 00:15:41 24 4
gpt4 key购买 nike

编辑 3:

这只是一个 Firefox 问题,在 Chrome 中工作,所以问题解决了,请参阅下面的答案。谢谢克里斯的帮助!

编辑2:

按照 Chris 的建议,我在 getUserMedia 调用上更改了一行,但它现在不起作用,也许我使用了错误的语法,但此功能未记录:

if(navigator.getUserMedia){
navigator.getUserMedia(
{ audio: { optional: [{ echoCancellation: false }] } }
,function(stream){ init_stream(stream); }
,function(err){ console.log('The following gUM error occured: ' + err); }
);
}

此外,您现在可以在此处关注进度:

http://jsfiddle.net/stratboy/aapafrbu/1/

编辑1:

我目前正在玩键盘 > 混音器 > behringer UCA222 > mac (usb)。我当前查看一些数据的代码如下。我看到左声道的数据发生变化,但右声道没有变化,尽管我在混音器上做了什么。可能是什么原因?
window.AudioContext = window.AudioContext || window.webkitAudioContext;

navigator.getUserMedia = (navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia);


var audiocontext = new (window.AudioContext || window.webkitAudioContext)();
var analyser_left = audiocontext.createAnalyser();
var analyser_right = audiocontext.createAnalyser();
var splitter = audiocontext.createChannelSplitter(2);
var index = 0;

function init_stream(stream){
window.audiosource = audiocontext.createMediaStreamSource(stream);

audiosource.connect(splitter);
splitter.connect(analyser_left,0);
splitter.connect(analyser_right,1);

listen();
}

function listen(){
requestAnimationFrame(listen);

analyser_left.fftSize = 256;
var leftBufferLength = analyser_left.frequencyBinCount;
var leftDataArray = new Uint8Array(leftBufferLength);

analyser_left.getByteTimeDomainData(leftDataArray);
$('.monitor_left').html(JSON.stringify(leftDataArray));


analyser_right.fftSize = 256;
var rightBufferLength = analyser_right.frequencyBinCount;
var rightDataArray = new Uint8Array(rightBufferLength);

analyser_right.getByteTimeDomainData(rightDataArray);
$('.monitor_right').html(JSON.stringify(rightDataArray));

}

if(navigator.getUserMedia){
navigator.getUserMedia(
{ audio: true }
,function(stream){ init_stream(stream); }
,function(err){ console.log('The following gUM error occured: ' + err); }
);
}

我想将我的吉他弹入计算机并通过网络音频 API 分析声音。我知道可以使用麦克风,但是插入真正的乐器呢?

最佳答案

是的。我一直这样做(使用非麦克风源)。只需获得支持吉他/乐器输入的 USB 音频接口(interface)即可。

关于google-chrome - 如何将一个或两个乐器连接到 Web Audio API 并拆分立体声信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32550973/

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