Berechnet verschiedene Merkmale für Audiodateien, die in eine CAS-Tabelle geladen wurden. Diese Aktion ist grundlegend für die Audioanalyse und ermöglicht die Extraktion von Merkmalen wie MFCC (Mel-Frequency Cepstral Coefficients) und Filterbank (FBank)-Energien, die in Spracherkennungs- und anderen Audio-Machine-Learning-Anwendungen weit verbreitet sind.
| Parameter | Beschreibung |
|---|---|
| audioColumn | Gibt den Namen der Spalte in der Eingabetabelle an, die die Audiodaten enthält. |
| casOut | Gibt die Einstellungen für eine Ausgabetabelle an. |
| copyVars | Gibt die Liste der Variablen an, die von der Eingabetabelle in die Ausgabetabelle übertragen werden sollen. |
| fbankOptions | Gibt die Einstellungen an, die verwendet werden sollen, um zu bestimmen, wie die FBank-Merkmalsberechnungen durchgeführt werden. |
| featureScalingMethod | Gibt die Merkmalskalierungsmethode an, die auf die berechneten Merkmalsvektoren angewendet werden soll. |
| frameExtractionOptions | Gibt die Einstellungen an, die verwendet werden sollen, um zu bestimmen, wie die Audiodatei in Frames aufgeteilt wird. |
| melBanksOptions | Gibt die Einstellungen an, die zur Bestimmung der Mel-Frequenzbänke verwendet werden. |
| mfccOptions | Gibt die Einstellungen an, die verwendet werden sollen, um zu bestimmen, wie die MFCC-Merkmalsberechnungen durchgeführt werden. |
| nContextFrames | Gibt die Anzahl der Kontext-Frames an, die vor und nach dem aktuellen Audio-Frame angehängt werden sollen. |
| nOutputFrames | Gibt die genaue Anzahl der Frames an, die in die Ausgabetabelle aufgenommen werden sollen (zusätzliche Frames werden verworfen und fehlende Frames werden mit Nullen aufgefüllt). |
| table | Gibt die Einstellungen für eine Eingabetabelle an. |
Dieser Schritt lädt zuerst Audiodateien von einem Serverpfad in eine CAS-Tabelle. Wir gehen davon aus, dass sich die Audiodateien im Verzeichnis '/path/to/audio/files' befinden. Die Aktion `loadAudio` liest diese Dateien und erstellt eine CAS-Tabelle namens `audio_table` in der `CASUSER` Caslib.
| 1 | PROC CAS; |
| 2 | LOADACTIONSET 'audio'; |
| 3 | audio.loadAudio / |
| 4 | caslib='CASUSER' |
| 5 | path='/path/to/audio/files' |
| 6 | casOut={name='audio_table', replace=true}; |
| 7 | RUN; |
Dies ist ein grundlegendes Beispiel, das MFCC-Merkmale aus der zuvor geladenen Audiotabelle berechnet. Es verwendet die Standardeinstellungen für die Merkmalsextraktion.
| 1 | |
| 2 | PROC CAS; |
| 3 | audio.computeFeatures / TABLE={name='audio_table', caslib='CASUSER'}, audioColumn='_audio_data_', casOut={name='audio_features_simple', replace=true}, copyVars={'_path_', '_id_'}; |
| 4 | |
| 5 | RUN; |
| 6 |
Dieses Beispiel berechnet FBank-Merkmale anstelle von MFCC. Es passt mehrere Optionen an, wie die Frame-Länge, die Anzahl der Mel-Bins und wendet eine Standardisierungsskalierung auf die resultierenden Merkmale an.
| 1 | |
| 2 | PROC CAS; |
| 3 | audio.computeFeatures / TABLE={name='audio_table', caslib='CASUSER'}, audioColumn='_audio_data_', casOut={name='audio_features_detailed', replace=true}, copyVars={'_path_', '_id_'}, featureScalingMethod='STANDARDIZATION', frameExtractionOptions={frameLength=30, frameShift=15, windowType='HANNING'}, melBanksOptions={nBins=40}, fbankOptions={useEnergy=true}; |
| 4 | |
| 5 | RUN; |
| 6 |
Dieses Beispiel berechnet MFCC-Merkmale und fügt Kontext-Frames hinzu. Für jeden Frame werden die Merkmale von 2 vorherigen und 2 nachfolgenden Frames verkettet, was dem Modell hilft, zeitliche Abhängigkeiten zu lernen.
| 1 | |
| 2 | PROC CAS; |
| 3 | audio.computeFeatures / TABLE={name='audio_table', caslib='CASUSER'}, audioColumn='_audio_data_', casOut={name='audio_features_context', replace=true}, copyVars={'_path_', '_id_'}, mfccOptions={nCeps=13, useEnergy=true}, nContextFrames=2; |
| 4 | |
| 5 | RUN; |
| 6 |
Ein Bank-Callcenter möchte Kundenanrufe automatisch transkribieren und eine Sentiment-Analyse durchführen. Dazu müssen die Roh-Audiodaten in MFCC-Merkmale (Mel-Frequency Cepstra...
In einer 'Smart Factory' senden Tausende von Sensoren kontinuierlich kurze Audioclips von Maschinenmotoren. Ziel ist es, Anomalien (Verschleiß) zu erkennen. Aufgrund des hohen D...
Eine Sicherheitsanwendung zur Stimmidentifikation erhält Audio-Uploads von Benutzergeräten. Die Inputs sind unzuverlässig: Einige sind extrem kurz, andere leer oder fehlerhaft. ...