Come possiamo sopprimere il rumore di fondo in un telefono durante una telefonata?
Ci sono alcuni metodi di riduzione del rumore single-ended. Single-ended significa che non c'è un codificatore -- stai solo cercando di rimuovere il rumore da un segnale che hai.
L'altra risposta suggerisce un noise gate -- questo è un modo. Conosciuto anche come expander, è facile da implementare nel software, e non tasserebbe molto le risorse di uno smartphone. Il funzionamento è fondamentalmente quello di silenziare l'audio durante le parti tranquille - non avrà alcun effetto (idealmente) mentre si sente l'altra persona parlare.
Il prossimo metodo è un filtro notch. Qui fondamentalmente identifichiamo le parti dello spettro che sono rumore o principalmente rumore (ad esempio il ronzio a 60 cicli e le sue armoniche) e le filtriamo. Sarebbe difficile per un'applicazione capire la differenza tra una componente di frequenza che è un buon segnale e una che è rumore. Sarebbe anche inefficace contro il rumore a banda larga come il rumore bianco, che è spesso la maggior parte del problema. Comincia a diventare computazionalmente costoso, quindi potreste avere problemi a spremere abbastanza potenza di CPU dal telefono.
Il prossimo metodo, penso spesso usato dal software audio, è quello di uccidere tutte le bande spettrali la cui energia al momento è sotto una data soglia. È fondamentalmente un noise gate su ogni banda di frequenza. Ci sono molte varianti di questo schema. Penso che sia tipico raccogliere un blocco di campioni, calcolare la FFT, azzerare o ridurre le frequenze la cui ampiezza è sotto una soglia, e poi invertire. I problemi qui includono la determinazione della soglia (e se è diversa per banda), non avere abbastanza cicli per calcolare FFT/IFFT e altre elaborazioni del segnale, e il ritardo introdotto dal dover elaborare un blocco alla volta.
Non ho abbastanza familiarità con gli ambienti di sviluppo per Android e iPhone per sapere se c'è un gancio che permette di intercettare il segnale del telefono per elaborarlo prima che l'utente lo senta. If not you may have to develop an entire phone app just to add your noise reduction feature.
Articoli simili
- Come separare il rumore di fondo dal mio audio usando Python
- Perché Facebook dovrebbe sopprimere le notizie conservatrici?
- Si può fare una telefonata tra un telefono CDMA e un telefono GSM e come è possibile?
- Se qualcuno ti chiama e il tuo telefono è morto, la tua telefonata andrà alla casella vocale o dirà che il tuo telefono è stato disconnesso?