javascript - 网络音频 - 更改现场麦克风的音调

标签 javascript html web-audio-api

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

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 ,选择“音调更改器(mutator)”)中使用粒度再合成方法,使用一对具有循环斜坡延迟时间的延迟节点来完成此操作。如果您想做一些更奇特的事情(例如相移声码),您可能需要一个 ScriptProcessor/AudioWorker。

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

相关文章:

javascript - Web 音频 API 中 analyser.getByteFrequencyData 返回值的范围是多少?

javascript - 集成非 Angular 代码?

javascript - 有没有办法在没有 jQuery 的情况下做同样的事情,只使用 CSS3 和 HTML5

javascript - HTML5 中的多个动态 Canvas

javascript - 是否可以扭曲进度条的开头?

javascript - iOS 13 捕获(录音)停止后无法播放音频(Web Audio API)

javascript - 简单的 jquery 字符串计数不起作用

javascript - CLI 中 --poll 标志的作用是什么

javascript - 如何使 EXPECT 条件等待 promise 得到解决(代码包装在方法中)?

javascript - 如何将音频上下文中的当前时间链接到输入类型 = 范围?