Estoy diseñando un dispositivo integrado para mi proyecto personal. Tiene un altavoz que reproduce la voz recibida desde una ubicación remota y también graba la voz con un micrófono mientras reproduce el sonido. La voz grabada se envía de vuelta a la ubicación remota donde se entrega al usuario que se sienta en la ubicación remota. Es similar a hablar con alguien a través de una llamada telefónica en el modo de altavoz.
Estoy diseñado un amplificador utilizando LM386 para altavoz y funciona perfectamente. Pero estoy confundido sobre si el micrófono también grabará el sonido que sale del altavoz y el usuario en una ubicación remota escuchará el eco de su propia voz.
¿Mi pregunta es cómo cancelar el sonido del altavoz mientras se graba con un micrófono? ¿Debo cancelarlos en hardware o en software? ¿Cómo se puede hacer en hardware?