audio

computeFeatures

Descripción

Calcula diversas características para archivos de audio cargados en una tabla CAS. Esta acción es fundamental en el preprocesamiento de datos de audio para tareas de machine learning, como el reconocimiento de voz o la clasificación de sonidos. Permite extraer características acústicas clave como MFCC (Coeficientes Cepstrales de Frecuencia Mel) o FBANK (bancos de filtros Mel), que transforman la señal de audio en una representación más compacta y útil para los modelos.

audio.computeFeatures / audioColumn="string", casOut={...}, copyVars={...}, fbankOptions={...}, featureScalingMethod="NONE" | "STANDARDIZATION", frameExtractionOptions={...}, melBanksOptions={...}, mfccOptions={...}, nContextFrames=integer, nOutputFrames=integer, table={...};
Parámetros
ParámetroDescripción
audioColumnEspecifica el nombre de la columna en la tabla de entrada que contiene los datos de audio.
casOutEspecifica la tabla de salida para almacenar las características calculadas.
copyVarsEspecifica una lista de variables para transferir desde la tabla de entrada a la tabla de salida.
fbankOptionsEspecifica la configuración para determinar cómo realizar los cálculos de características FBANK.
featureScalingMethodEspecifica el método de escalado de características a aplicar a los vectores de características calculados ('NONE' para ninguno, 'STANDARDIZATION' para media cero y varianza unitaria).
frameExtractionOptionsEspecifica la configuración para determinar cómo dividir el archivo de audio en tramas.
melBanksOptionsEspecifica la configuración para determinar los bancos de frecuencia Mel.
mfccOptionsEspecifica la configuración para determinar cómo realizar los cálculos de características MFCC.
nContextFramesEspecifica el número de tramas de contexto para añadir antes y después de la trama de audio actual.
nOutputFramesEspecifica el número exacto de tramas a incluir en la tabla de salida (las tramas adicionales se descartan y las faltantes se rellenan con ceros).
tableEspecifica la tabla de entrada que contiene los datos de audio a procesar.
Creación de Datos de Audio de Muestra

Para usar la acción `computeFeatures`, primero necesitamos una tabla CAS que contenga datos de audio. El siguiente código muestra cómo usar la acción `loadAudio` para cargar archivos de audio desde una ruta de caslib a una tabla CAS. Suponemos que los archivos de audio (por ejemplo, en formato .wav) se encuentran en el directorio 'audio_data' dentro de la caslib 'CASUSER'.

¡Copiado!
1PROC CAS;
2 LOADACTIONSET 'audio';
3 audio.loadAudio /
4 caslib='CASUSER' path='audio_data/'
5 casOut={name='my_audio_table', replace=true};
6RUN;

Ejemplos

Este ejemplo calcula las características MFCC (Coeficientes Cepstrales de Frecuencia Mel) de la tabla 'my_audio_table' utilizando la configuración por defecto y guarda el resultado en una nueva tabla llamada 'my_audio_features_mfcc'.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3audio.computeFeatures / TABLE={name='my_audio_table'}, audioColumn='_audio_', copyVars={'_path_'}, casOut={name='my_audio_features_mfcc', replace=true}, mfccOptions={nCeps=13, useEnergy=true};
4 
5RUN;
6 
Resultado :
Una tabla CAS llamada 'my_audio_features_mfcc' que contiene las características MFCC calculadas para cada archivo de audio, junto con las columnas copiadas de la tabla de entrada.

Este ejemplo calcula características de banco de filtros (FBANK) con una configuración detallada. Especifica la longitud y el desplazamiento de la trama, el tipo de ventana, el número de bins Mel y aplica estandarización a las características resultantes. Esto permite un control más fino sobre el proceso de extracción de características para adaptarlo a necesidades específicas.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3audio.computeFeatures / TABLE={name='my_audio_table'}, audioColumn='_audio_', copyVars={'_path_'}, casOut={name='my_audio_features_fbank', replace=true}, featureScalingMethod='STANDARDIZATION', frameExtractionOptions={frameLength=30, frameShift=15, windowType='HANNING'}, melBanksOptions={nBins=40, lowFreq=50, highFreq=7000}, fbankOptions={useLogFbank=true, usePower=true};
4 
5RUN;
6 
Resultado :
Una tabla CAS llamada 'my_audio_features_fbank' que contiene las características de banco de filtros calculadas y estandarizadas. Las características se calculan utilizando una ventana Hanning de 30 ms con un desplazamiento de 15 ms, y 40 bins Mel entre 50 Hz y 7000 Hz.

FAQ

¿Qué es la acción `computeFeatures` del conjunto de acciones de audio?
¿Para qué se utiliza el parámetro `audioColumn`?
¿Qué especifica el parámetro `casOut`?
¿Cuál es la función del parámetro `copyVars`?
¿Qué son las `fbankOptions`?
¿Qué hace la opción `energyFloor` dentro de `fbankOptions`?
¿Qué significa la opción `rawEnergy` en `fbankOptions`?
¿Cuál es el propósito de la opción `useEnergy` en `fbankOptions`?
¿Qué hace la opción `useLogFbank`?
¿Para qué se utiliza la opción `usePower` en `fbankOptions`?
¿Qué es el parámetro `featureScalingMethod`?
¿Cuáles son los valores posibles para `featureScalingMethod`?
¿Qué configura el parámetro `frameExtractionOptions`?
¿Cuál es la función del parámetro `melBanksOptions`?
¿Qué especifica el parámetro `mfccOptions`?
¿Para qué sirve el parámetro `nContextFrames`?
¿Qué hace el parámetro `nOutputFrames`?
¿Qué representa el parámetro `table`?