PDA

Ver la Versión Completa : señal en la entrada de micrófpno


ros07035
19-01-2008, 14:38:14
Detectar si hay señal en la entrada del micrófono me gutaría saber como en delphi puedo hacer, para entonces comenzar a grabar lo que entra por ahí.El módulo de grabación lo tengo hecho, pero quiero que solo comience a grabarse cuando hay una señal, si la señal desaparece la grabación se detiene.Muchas Gracias por adelantado a los que me ayuden.

cHackAll
20-01-2008, 00:08:45
Detectar si hay señal en la entrada del micrófono me gutaría saber como en delphi puedo hacer, para entonces comenzar a grabar lo que entra por ahí.El módulo de grabación lo tengo hecho, pero quiero que solo comience a grabarse cuando hay una señal, si la señal desaparece la grabación se detiene.Muchas Gracias por adelantado a los que me ayuden.

Ok, intentaré explicarlo en forma digerible; El sonido obtenido desde el micrófono crea una onda equivalente a los dB que ésta representa. Cuando un sonido es detectado éste produce un valor; para poder detectar el "silencio" o el "ruido" simplemente debes verificar el valor de dicha señal.

Ahora... el código que utilizas para realizar la grabación debe utilizar winmm con la API waveInAddBuffer para obtener la onda en un vector; en tal caso y dependiendo del formato definido en waveInOpen podrás conocer el “valor de silencio”; por ejemplo... cuando utilizas PCM, mono y 1 byte por muestra; los valores de la onda son igual a Abs(v[i]-$80); en tal caso el silencio esta dado por un 128 +/- ruido.

El anterior caso varía dependiendo de los canales de grabacion, y los bytes por muestra.

Repito; dependiendo del formato de grabación; debes verificar el valor del silencio en un determinado tiempo y con un margen de “ruido” dependiente del volumen y sensibilidad del micrófono.

Saludos

Cañones
30-04-2010, 00:43:35
Hola. Quisiera saber si tienes alguna función para detectar si hay un micrófono conectado.
Te puedo recomendar una aplicación que te puede solucionar lo que necesitás.
Saludos y gracias.