Ho giocato con l'API Web Audio e ho utilizzato il microfono del mio laptop come sorgente di input. Posso sentire un sacco di rumore bianco quando ascolto l'input; come posso creare un filtro per ridurre il rumore in modo che il suono sia più chiaro? Esistono librerie che forniscono un filtro antidisturbo pre-scritto per questa situazione?Come posso ridurre il rumore di un ingresso microfono con l'API Web Audio?
5
A
risposta
0
Si potrebbe provare un tipo di filtro passa-alto se ciò che si sente è più un sibilo che un rumore a spettro completo. Credo che l'API Web Audio abbia quel tipo di filtro che potresti implementare.
1
"Sto lavorando su alcuni POC e computer portatile ridotto" nasi vitali "con un BiquadFilter. Ho anche utilizzato un compressore ma non è necessario))
(function(){
var filter, compressor, mediaStreamSource;
// Start off by initializing a new context.
var context = new (window.AudioContext || window.webkitAudioContext)();
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia;
navigator.getUserMedia({audio:true}, initAudio , function(err){
console.log('usermedia error', err)
});
function initAudio(stream) {
compressor = context.createDynamicsCompressor();
compressor.threshold.value = -50;
compressor.knee.value = 40;
compressor.ratio.value = 12;
compressor.reduction.value = -20;
compressor.attack.value = 0;
compressor.release.value = 0.25;
filter = context.createBiquadFilter();
filter.Q.value = 8.30;
filter.frequency.value = 355;
filter.gain.value = 3.0;
filter.type = 'bandpass';
filter.connect(compressor);
compressor.connect(context.destination)
filter.connect(context.destination)
mediaStreamSource = context.createMediaStreamSource(stream);
mediaStreamSource.connect(filter);
}
})();
Problemi correlati
- 1. Nodo dell'analizzatore API audio Web non funzionante con ingresso microfono
- 2. Forzatura microfono iPhone come ingresso audio
- 3. Come reindirizzare da Uscita audio a Ingresso microfono usando PulseAudio?
- 4. Toccare Ingresso microfono utilizzando AVAudioEngine in Swift
- 5. Come posso calcolare il livello di dB audio?
- 6. Come posso misurare il rumore dell'immagine
- 7. Come ridurre il ritardo - Streaming VLC da una web cam
- 8. Amplifica audio con l'API Web Audio
- 9. Come confrontare un ingresso audio con un suono predeterminato?
- 10. Cattura audio in C++ da un microfono
- 11. Ingresso audio tramite HTML5?
- 12. Analizza input audio dal microfono Javascript
- 13. Come controllare il guadagno/livello di ingresso del microfono hardware su iPhone?
- 14. Ingresso e uscita audio immediato Android
- 15. HTML5 acquisizione audio dal microfono predefinito
- 16. Cattura di un flusso audio del microfono mediante .NET Framework
- 17. Disabilita cancellazione rumore per microfono in Android (1.5)?
- 18. Ingresso audio su emulatore Android
- 19. riconoscimento vocale da file audio anziché microfono
- 20. naudio registrazione audio dal microfono, quindi salvataggio
- 21. Modifica record audio Android Ingresso predefinito Sorgente
- 22. Come si imposta il livello di ingresso (guadagno) sull'ingresso integrato (unità audio/audio OSX Core)?
- 23. Riproduzione audio dal microfono in tempo reale
- 24. Come posso ridurre il numero di query?
- 25. Registrazione audio dalla pagina Web
- 26. Come posso ridurre il percorso di un prompt di DOS?
- 27. Cancellazione attiva del rumore
- 28. Come posso ottenere un numero casuale dal rumore atmosferico?
- 29. Salvataggio ingresso audio del motore di riconoscimento vocale Android Stock
- 30. Come rimuovere il rumore postgresql
Non esiste un filtro del rumore magico. Ci sono molti modi in cui viene introdotto il rumore e molti modi per rimuoverlo a seconda del tipo di rumore che stai affrontando. Inoltre, stai cercando di filtrare questo rumore lato client o su un server? Quando si filtra il rumore, si filtra anche il segnale, riducendo la qualità dell'audio. forse un semplice noise gate è tutto ciò di cui hai bisogno? Qual è la tua applicazione? – Brad
Mi rendo conto che non esiste un "filtro magico", ma presumo che esistano metodi standard che le persone usano per costruire un filtro rumore. Sto usando l'API Web Audio, quindi questo sarebbe sul lato client. Forse un noise gate è quello che sto cercando, come si fa a crearne uno? –
Non ho molta familiarità con l'API Web Audio, ma in generale, un gate è solo che nessun audio viene lasciato passare finché il livello non raggiunge una certa soglia. L'idea è che quando non stai parlando, nessun audio passa attraverso. Non si sente il rumore (o altro) quando il livello è al di sotto della soglia. Quando è sopra, sentirai il rumore ma sarà mascherato dalla tua voce. Un altro metodo consiste nel prendere un campione spettrale del rumore e quindi sottrarre quello spettro dal flusso. Questo è meglio per un tipo specifico di rumore, come il 60hz che perde. Riduce anche la qualità dell'audio. – Brad