Scénario de test & Cas d'usage
Erstellung eines Datensatzes mit Grenzfällen: normaler Audio, sehr kurzer Audio und fehlender Audio (NULL).
| 1 | |
| 2 | DATA casuser.auth_input; |
| 3 | LENGTH user_id varchar(10) _audio_data_ varbinary; |
| 4 | /* Normal */ user_id='User_OK'; |
| 5 | _audio_data_='52494646...WAV_DATA...'x; |
| 6 | OUTPUT; |
| 7 | /* Sehr kurz */ user_id='User_Short'; |
| 8 | _audio_data_='52494646...SHORT...'x; |
| 9 | OUTPUT; |
| 10 | /* Missing */ user_id='User_Null'; |
| 11 | _audio_data_='.'x; |
| 12 | OUTPUT; |
| 13 | |
| 14 | RUN; |
| 15 |
| 1 | |
| 2 | PROC CAS; |
| 3 | audio.computeFeatures / TABLE={name='auth_input', caslib='casuser'} audioColumn='_audio_data_' nOutputFrames=500 mfccOptions={nCeps=13} copyVars={'user_id'} casOut={name='auth_features_fixed', caslib='casuser', replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 |
| 1 | |
| 2 | PROC CAS; |
| 3 | SIMPLE.freq / TABLE={name='auth_features_fixed', caslib='casuser'} inputs={'user_id'}; |
| 4 | |
| 5 | RUN; |
| 6 |
Die Tabelle 'auth_features_fixed' wird erstellt. Der 'User_Short'-Datensatz ist enthalten, wobei die fehlenden Frames mit Nullen aufgefüllt wurden, um genau 500 Frames zu erreichen. Der 'User_Null'-Datensatz wurde entweder ausgeschlossen oder enthält nur Padding, ohne dass die Aktion abstürzt.