首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >隔离麦克风频率

隔离麦克风频率
EN

Stack Overflow用户
提问于 2019-01-04 06:36:55
回答 1查看 0关注 0票数 0

我想通过使用具有低通/高通滤波器的音频上下文来可视化两个值之间的频率。

我真的不知道为什么过滤器到目前为止还没有使用

我写的代码:

代码语言:javascript
复制
navigator.getMedia = navigator.getUserMedia || navigator.msGetUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;


let ctx = new AudioContext();
let analyser = ctx.createAnalyser();
analyser.fftSize = 2048;


let gotData = (data) => {
  // visualize data
}

navigator.getMedia({
  audio: true
}, (d) => {
  let microphone = ctx.createMediaStreamSource(data);
  var biquadFilterHigh = ctx.createBiquadFilter();
  biquadFilterHigh.type = "highpass";
  biquadFilterHigh.frequency.value = 2000;
  biquadFilterHigh.gain.value = 25;

  var biquadFilterLow = ctx.createBiquadFilter();
  biquadFilterLow.type = "lowpass";
  biquadFilterLow.frequency.value = 5000;
  biquadFilterLow.gain.value = 25;

  microphone.connect(analyser);
  analyser.connect(biquadFilterLow)
  biquadFilterLow.connect(biquadFilterHigh)

  let scriptProcessor = ctx.createScriptProcessor();
  biquadFilterHigh.connect(scriptProcessor);
  scriptProcessor.connect(ctx.destination);
  scriptProcessor.onaudioprocess = gotData
  
}, () => {})

我目前无法过滤两个特定值之间的频率,如2kHz和5kHz之间。我究竟做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2019-01-04 16:10:59

也许尝试一些不同的频率,仅低通,只是为了调试这个。

10 kHz至15 kHz是非常高的频率。许多老人不会听到任何一个。

如果你正在使用Speech,那么大多数有趣的东西都会发生在10 kHz以下。

语音主要在150到600 Hz的范围内,有些共振峰直到2 kHz,还有一些不和谐。但是在你过滤的范围内,你可能会发现主要是嘶嘶声,T和S的一些较高部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档