Red de conocimiento informático - Material del sitio web - Cómo utilizar una tarjeta de sonido para recopilar señales de sonido y luego usarlas en MATLAB

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

.