Cómo utilizar una tarjeta de sonido para recopilar señales de sonido y luego usarlas en MATLAB
Si desea grabar la señal de sonido en matlab, puede utilizar la siguiente función.
R = audiorecorder(44100, 16,2);
%Crea un objeto para guardar información de audio, que contiene frecuencia de muestreo, tiempo e información de audio grabada, etc. 44100 significa que el muestreo es 44100 Hz (se puede cambiar a 8000, 11025, 22050, etc. Cuanto mayor sea el valor, mejor será la calidad del sonido grabado y mayor será el espacio de almacenamiento requerido), 16 significa usar 16 bits para almacenamiento, 2 significa dos canales, que es estéreo (también se puede cambiar a 1 (mono).
record(R);
%Comienza a grabar, solo habla por el micrófono.
pausa(R);
%Pausar grabación.
play(R)
%Reproduce el sonido grabado.
resume(R);
%Continuar grabando.
stop(R);
%Detener grabación
myspeech = getaudiodata(R);
% Obtiene la señal de audio recién grabada almacenada en una matriz digital de n*2 columnas.
%Puedes utilizar varios filtros para procesar esta matriz, o mezclarla con otro audio, etc. También puede dibujar su forma de onda (puede tomar un poco de tiempo dibujar la forma de onda si tiene mucho tiempo).
plot(myspeech)
%Dibuja la forma de onda
%Si quieres guardarla, puedes usarla
wavwrite( myspeech,44100,16 ,'myspeech');
%myspeech representa la matriz de forma de onda que se almacenará, 44100 representa la frecuencia de muestreo, 16 significa almacenamiento en 16 bits y 'myspeech' es el nombre del archivo almacenado.
%matlab tiene funciones de filtrado y procesamiento de audio extremadamente ricas. Aquí presentamos las operaciones más básicas de entrada, reproducción y guardado. Espero que le resulten útiles
.