2016-06-28 73 views
3

我發現一個JavaScript,捕獲當前的麥克風輸入,只是爲了再次發送它。你可以在這裏看到:如何從javascript中的輸入聲音生成負面的音頻波?

https://codepen.io/MyXoToD/pen/bdb1b834b15aaa4b4fcc8c7b50c23a6f?editors=1010(只適用於https)。

我想知道如何生成捕獲的聲音的「負面」波。就像「噪音消除」一樣。所以腳本檢測到我周圍的當前噪聲,並且每當有一個波形上升時,我想生成一個正在消失的波形。有沒有辦法在JavaScript中做到這一點?

所以這個輸出電流聲條記錄

var input = audio_context.createMediaStreamSource(stream); 
volume = audio_context.createGain(); 
volume.gain.value = 0.8; 
input.connect(volume); 
volume.connect(audio_context.destination); 

的問題是如何產生這種聲音輸出這個,而不是消極的。

回答

1

您已經通過網絡音頻鏈流式傳輸您的信號。你需要做的是在輸入和輸出節點之間鏈接一個AudioWorker node(在增益節點之前或之前,無所謂)。該工作人員的腳本將是一個非常簡單的標誌倒置。

var negationWorker = audio_context.createAudioWorker("negate.js") 
var negationNode = negationWorker.createNode() 
input.connect(negationNode) 
negationNode.connect(volume)