我有这段代码可以在麦克风和扬声器之间建立实时连接。是否可以实时更改我的声音音调?

navigator.getUserMedia(
  { audio: true },
  function(stream) {
    window.AudioContext = window.AudioContext || window.webkitAudioContext;
     var ctx= new AudioContext();

     // Create an AudioNode from the stream.
     var mediaStreamSource = ctx.createMediaStreamSource( stream );

     // Connect it to the destination to hear yourself (or any other node for processing!)
     mediaStreamSource.connect( ctx.destination );

  },
  function(err) {
    console.log(err);
  }
);

最佳答案

实际上,这是可能的。我在输入效果演示(https://webaudiodemos.appspot.com/input/index.html,选择“ Pitch Shifter”)中使用粒度重新合成方法进行了此操作,该方法使用一对具有延迟循环延迟时间的延迟节点。如果您想做一些更奇妙的事情(例如相移声码),则可能需要ScriptProcessor / AudioWorker。

关于javascript - 网络音频-更改现场麦克风的音调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34324042/

10-11 05:52