Ver Mensaje Individual
  #2  
Antiguo 20-01-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Reputación: 20
cHackAll Va por buen camino
Cita:
Empezado por ros07035 Ver Mensaje
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
Responder Con Cita