computeFeatures
Description
L'action %audio.computeFeatures% est le couteau suisse de l'ingénieur du son sous SAS Viya. Elle permet d'extraire des caractéristiques acoustiques sophistiquées, comme les coefficients MFCC (Mel-Frequency Cepstral CoefficientsCoefficients représentant le spectre de puissance d'un son sur l'échelle de Mel. Utilisés dans SAS Viya pour l'analyse audio et la reconnaissance vocale en mimant la perception auditive humaine.) ou les banques de filtres (FBankBanque de filtres de Mel découpant le spectre audio en bandes fréquentielles. Utilisée dans SAS Viya pour extraire des caractéristiques acoustiques proches de l'audition humaine (Deep Learning).), à partir de fichiers audio chargés en mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.. C'est l'étape cruciale pour préparer vos données avant de les injecter dans un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). de Deep LearningSous-ensemble du Machine Learning basé sur des réseaux de neurones artificiels profonds. Il excelle dans l'extraction automatique de motifs complexes depuis des données brutes (images, texte, son). ou de reconnaissance vocaleTechnologie SAS Viya transformant un signal audio en texte via des modèles de Deep Learning (RNN, CNN) pour l'analyse de conversations, le sous-titrage ou le contrôle par commandes vocales.. Attention, si vous entendez des voix après l'exécution, c'est normal, c'est du traitement de signal (ou alors il est temps de faire une pause café).
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| audioColumn | Indique le nom de la colonne contenant les données binaires audio. |
| casOut | Spécifie les paramètres de la table CAS de sortie qui contiendra les caractéristiques extraites. |
| copyVars | Liste des variables de la table d'entrée à conserver dans la table de sortie (identifiants, cibles, etc.). |
| fbankOptions | Paramètres spécifiques pour le calcul des banques de filtres (Filterbank), incluant l'utilisation de l'énergie et de l'échelle logarithmique. |
| featureScalingMethod | Méthode de normalisation des caractéristiques (ex: STANDARDIZATION pour une moyenne nulle et une variance unitaire). |
| frameExtractionOptions | Définit la façon dont le signal est découpé en trames (longueur de fenêtre, décalage, type de fenêtrage comme Hamming ou Hanning). |
| melBanksOptions | Définit les fréquences de coupure et le nombre de bacs (bins) pour l'échelle de Mel. |
| mfccOptions | Options pour le calcul des coefficients MFCC, incluant le nombre de coefficients souhaités. |
| nContextFrames | Nombre de trames adjacentes (passées et futures) à concaténer à la trame actuelle pour donner du contexte au modèle. |
| nOutputFrames | Fixe le nombre exact de trames en sortie pour garantir une dimension constante (complété par des zéros si nécessaire). |
| table | La table CAS contenant les fichiers audio (généralement chargée via loadAudio). |
Préparation des données
Chargement initial des données audio
Avant d'extraire des caractéristiques, nous devons charger des fichiers audio depuis un chemin serveur vers une table CAS.
| 1 | PROC CAS; |
| 2 | audio.loadAudio / |
| 3 | path="data/audio_files/", |
| 4 | casOut={name="audio_input", replace=TRUE}; |
| 5 | RUN;QUIT; |
Exemples d'utilisation
Extraction basique de coefficients MFCC
Calcul des 13 coefficients MFCC par défaut sur une table audio chargée.
| 1 | PROC CAS; |
| 2 | audio.computeFeatures / |
| 3 | TABLE={name="audio_input"}, |
| 4 | audioColumn="_audio_", |
| 5 | mfccOptions={nCeps=13}, |
| 6 | casOut={name="audio_features_simple", replace=TRUE}; |
| 7 | RUN;QUIT; |
Résultat Attendu :
Extraction avancée avec normalisation et contexte
Configuration complète utilisant des banques de filtres logarithmiques, un fenêtrage de Hamming et une normalisation statistique avec contexte.
| 1 | PROC CAS; |
| 2 | audio.computeFeatures / |
| 3 | TABLE={name="audio_input"}, |
| 4 | audioColumn="_audio_", |
| 5 | copyVars={"_path_"}, |
| 6 | featureScalingMethod="STANDARDIZATION", |
| 7 | frameExtractionOptions={windowType="HAMMING", frameLength=30, frameShift=15}, |
| 8 | fbankOptions={useLogFbank=TRUE, useEnergy=TRUE}, |
| 9 | melBanksOptions={nBins=40, lowFreq=100, highFreq=8000}, |
| 10 | nContextFrames=5, |
| 11 | nOutputFrames=200, |
| 12 | casOut={name="audio_features_advanced", replace=TRUE}; |
| 13 | RUN;QUIT; |