langModel

IdentifySpeakers

Description

Provides actions that are used for language models in speech-to-text systems. This action identifies speakers.

langModel.IdentifySpeakers <result=results> <status=rc> / casOut={ caslib="string", compress=TRUE | FALSE, indexVars={"variable-name-1" <, "variable-name-2", ...>}, label="string", lifetime=64-bit-integer, maxMemSize=64-bit-integer, memoryFormat="DVR" | "INHERIT" | "STANDARD", name="table-name", promote=TRUE | FALSE, replace=TRUE | FALSE, replication=integer, tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE", threadBlockSize=64-bit-integer, timeStamp="string", where={"string-1" <, "string-2", ...>}} , maxSpeakers=integer, minSpeakers=integer, model={ attributes={ caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{format="string",formattedLength=integer,label="string",name="variable-name",nfd=integer,nfl=integer} <, {...}>}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", singlePass=TRUE | FALSE, vars={{format="string",formattedLength=integer,label="string",name="variable-name",nfd=integer,nfl=integer} <, {...}>}, where="where-expression", whereTable={ casLib="string", dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", vars={{format="string",formattedLength=integer,label="string",name="variable-name",nfd=integer,nfl=integer} <, {...}>}, where="where-expression"}}, gpu={ devices={64-bit-integer-1 <, 64-bit-integer-2, ...>}}, model={ caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{format="string",formattedLength=integer,label="string",name="variable-name",nfd=integer,nfl=integer} <, {...}>}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", singlePass=TRUE | FALSE, vars={{format="string",formattedLength=integer,label="string",name="variable-name",nfd=integer,nfl=integer} <, {...}>}, where="where-expression", whereTable={ casLib="string", dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", vars={{format="string",formattedLength=integer,label="string",name="variable-name",nfd=integer,nfl=integer} <, {...}>}, where="where-expression"}}, weights={ caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{format="string",formattedLength=integer,label="string",name="variable-name",nfd=integer,nfl=integer} <, {...}>}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", singlePass=TRUE | FALSE, vars={{format="string",formattedLength=integer,label="string",name="variable-name",nfd=integer,nfl=integer} <, {...}>}, where="where-expression", whereTable={ casLib="string", dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", vars={{format="string",formattedLength=integer,label="string",name="variable-name",nfd=integer,nfl=integer} <, {...}>}, where="where-expression"}}}} , scope="ROW" | "TABLE", seed=integer, table={ caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{format="string",formattedLength=integer,label="string",name="variable-name",nfd=integer,nfl=integer} <, {...}>}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", singlePass=TRUE | FALSE, vars={{format="string",formattedLength=integer,label="string",name="variable-name",nfd=integer,nfl=integer} <, {...}>}, where="where-expression", whereTable={ casLib="string", dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", vars={{format="string",formattedLength=integer,label="string",name="variable-name",nfd=integer,nfl=integer} <, {...}>}, where="where-expression"}} };
Settings
ParameterDescription
casOutSpecifies the output table to contain the speaker IDs. For more information about specifying the casOut parameter, see the common casouttable (Form 1) parameter (Appendix A: Common Parameters).
maxSpeakersSpecifies the maximum number of speakers to identify in the audio. Default: 200. Range: 1–200.
minSpeakersSpecifies the minimum number of speakers to identify in the audio. Default: 1. Range: 1–200.
modelSpecifies the settings to apply to the model. The modelOptions value can be one or more of the following: - **attributes**: Specifies the table that contains weights attributes of the model. - **caslib**: Specifies the caslib for the input table. - **computedOnDemand**: When set to True, creates the computed variables when the table is loaded instead of when the action begins. Default: False. - **computedVars**: Specifies the names of the computed variables to create. You must specify an expression for each variable in the computedVarsProgram parameter. - **computedVarsProgram**: Specifies an expression for each computed variable that you include in the computedVars parameter. - **dataSourceOptions**: Specifies data source options. - **importOptions**: Specifies the settings for reading a table from a data source. - **name**: Specifies the name of the input table. - **singlePass**: When set to True, does not create a transient table on the server. Default: False. - **vars**: Specifies the variables to use in the action. - **where**: Specifies an expression for subsetting the input data. - **whereTable**: Specifies an input table that contains rows to use as a WHERE filter. - **gpu**: GPU processing. - **devices**: Specifies a list of GPU devices to be used. - **model**: Specifies the table that is the identification model. (Same subparameters as 'attributes') - **weights**: Specifies the table that contains weights of the model. (Same subparameters as 'attributes')
scopeIdentifies speakers for either each row or the entire table. Default: ROW.
seedSpecifies a seed for random number generation. Default: 0. Minimum value: 0.
tableSpecifies the table that contains the audio input. The castable value can be one or more of the following: - **caslib**: Specifies the caslib for the input table. - **computedOnDemand**: When set to True, creates the computed variables when the table is loaded instead of when the action begins. Default: False. - **computedVars**: Specifies the names of the computed variables to create. You must specify an expression for each variable in the computedVarsProgram parameter. - **computedVarsProgram**: Specifies an expression for each computed variable that you include in the computedVars parameter. - **dataSourceOptions**: Specifies data source options. - **importOptions**: Specifies the settings for reading a table from a data source. - **name**: Specifies the name of the input table. - **singlePass**: When set to True, does not create a transient table on the server. Default: False. - **vars**: Specifies the variables to use in the action. - **where**: Specifies an expression for subsetting the input data. - **whereTable**: Specifies an input table that contains rows to use as a WHERE filter.
Data Preparation View data prep sheet
Creation of Input Data

This action requires an input table with audio data and a pre-trained model for speaker identification. The following code demonstrates how to create a sample table and load a dummy model.

Copied!
1/* Sample Code to create input data - Replace with actual data loading procedures */
2DATA casuser.audio_input;
3 LENGTH audio_col $200;
4 INPUT audio_col$;
5 CARDS;
6 audio_file_1.wav
7 audio_file_2.wav
8 audio_file_3.wav
9 ;
10RUN;
11 
12/* Dummy model table creation for demonstration */
13DATA casuser.speaker_model;
14 LENGTH model_data $100;
15 INPUT model_data$;
16 CARDS;
17 speaker_model_data_part1
18 speaker_model_data_part2
19 ;
20RUN;

Examples

This example identifies speakers in an input audio table named 'audio_input' using a pre-trained speaker identification 'model' and stores the results in 'speaker_ids_out'.

SAS® / CAS Code Code awaiting community validation
Copied!
1PROC CAS;
2 langModel.IdentifySpeakers /
3 casOut={name='speaker_ids_out', replace=TRUE},
4 TABLE={name='audio_input'},
5 model={name='speaker_model'}
6 ;
7QUIT;
Result :
An output table named 'speaker_ids_out' will be created in the active caslib, containing the identified speaker IDs for each audio input.

This example demonstrates identifying speakers with a minimum of 2 and maximum of 5 speakers, using a specific seed for reproducibility, and leveraging GPU devices for processing. The input is from 'my_audio_lib.my_audio_table' and the model is from 'my_model_lib.my_speaker_model'.

SAS® / CAS Code Code awaiting community validation
Copied!
1PROC CAS;
2 langModel.IdentifySpeakers /
3 casOut={name='detailed_speaker_output', replace=TRUE},
4 TABLE={name='my_audio_table', caslib='my_audio_lib'},
5 model={
6 name='my_speaker_model',
7 caslib='my_model_lib',
8 gpu={devices={0, 1}}}
9 ,
10 minSpeakers=2,
11 maxSpeakers=5,
12 seed=12345
13 ;
14QUIT;
Result :
An output table named 'detailed_speaker_output' will be created with identified speaker IDs, adhering to the specified min/max speaker constraints and leveraging GPU devices 0 and 1 for processing. The results will be reproducible due to the specified seed.

FAQ

What is the IdentifySpeakers Action?
casOut (Required Parameter)
maxSpeakers
minSpeakers
model (Required Parameter)
model.attributes
model.attributes.caslib
model.attributes.computedOnDemand
model.attributes.computedVars
model.attributes.computedVars.format
model.attributes.computedVars.formattedLength
model.attributes.computedVars.label
model.attributes.computedVars.name (Required Parameter)
model.attributes.computedVars.nfd
model.attributes.computedVars.nfl
model.attributes.computedVarsProgram
model.attributes.dataSourceOptions
model.attributes.importOptions
model.attributes.name (Required Parameter)
model.attributes.singlePass
model.attributes.vars
model.attributes.vars.format
model.attributes.vars.formattedLength
model.attributes.vars.label
model.attributes.vars.name (Required Parameter)
model.attributes.vars.nfd
model.attributes.vars.nfl
model.attributes.where
model.attributes.whereTable
model.attributes.whereTable.casLib
model.attributes.whereTable.dataSourceOptions
model.attributes.whereTable.importOptions
model.attributes.whereTable.name (Required Parameter)
model.attributes.whereTable.vars
model.attributes.whereTable.vars.format
model.attributes.whereTable.vars.formattedLength
model.attributes.whereTable.vars.label
model.attributes.whereTable.vars.name (Required Parameter)
model.attributes.whereTable.vars.nfd
model.attributes.whereTable.vars.nfl
model.attributes.whereTable.where
model.gpu
model.gpu.devices
model.model (Required Parameter)
model.model.caslib
model.model.computedOnDemand
model.model.computedVars
model.model.computedVars.format
model.model.computedVars.formattedLength
model.model.computedVars.label
model.model.computedVars.name (Required Parameter)
model.model.computedVars.nfd
model.model.computedVars.nfl
model.model.computedVarsProgram
model.model.dataSourceOptions
model.model.importOptions
model.model.name (Required Parameter)
model.model.singlePass
model.model.vars
model.model.vars.format
model.model.vars.formattedLength
model.model.vars.label
model.model.vars.name (Required Parameter)
model.model.vars.nfd
model.model.vars.nfl
model.model.where
model.model.whereTable
model.model.whereTable.casLib
model.model.whereTable.dataSourceOptions
model.model.whereTable.importOptions
model.model.whereTable.name (Required Parameter)
model.model.whereTable.vars
model.model.whereTable.vars.format
model.model.whereTable.vars.formattedLength
model.model.whereTable.vars.label
model.model.whereTable.vars.name (Required Parameter)
model.model.whereTable.vars.nfd
model.model.whereTable.vars.nfl
model.model.whereTable.where
model.weights
model.weights.caslib
model.weights.computedOnDemand
model.weights.computedVars
model.weights.computedVars.format
model.weights.computedVars.formattedLength
model.weights.computedVars.label
model.weights.computedVars.name (Required Parameter)
model.weights.computedVars.nfd
model.weights.computedVars.nfl
model.weights.computedVarsProgram
model.weights.dataSourceOptions
model.weights.importOptions
model.weights.name (Required Parameter)
model.weights.singlePass
model.weights.vars
model.weights.vars.format
model.weights.vars.formattedLength
model.weights.vars.label
model.weights.vars.name (Required Parameter)
model.weights.vars.nfd
model.weights.vars.nfl
model.weights.where
model.weights.whereTable
model.weights.whereTable.casLib
model.weights.whereTable.dataSourceOptions
model.weights.whereTable.importOptions
model.weights.whereTable.name (Required Parameter)
model.weights.whereTable.vars
model.weights.whereTable.vars.format
model.weights.whereTable.vars.formattedLength
model.weights.whereTable.vars.label
model.weights.whereTable.vars.name (Required Parameter)
model.weights.whereTable.vars.nfd
model.weights.whereTable.vars.nfl
model.weights.whereTable.where
scope
seed
table (Required Parameter)
table.caslib
table.computedOnDemand
table.computedVars
table.computedVars.format
table.computedVars.formattedLength
table.computedVars.label
table.computedVars.name (Required Parameter)
table.computedVars.nfd
table.computedVars.nfl
table.computedVarsProgram
table.dataSourceOptions
table.importOptions
table.name (Required Parameter)
table.singlePass
table.vars
table.vars.format
table.vars.formattedLength
table.vars.label
table.vars.name (Required Parameter)
table.vars.nfd
table.vars.nfl
table.where
table.whereTable
table.whereTable.casLib
table.whereTable.dataSourceOptions
table.whereTable.importOptions
table.whereTable.name (Required Parameter)
table.whereTable.vars
table.whereTable.vars.format
table.whereTable.vars.formattedLength
table.whereTable.vars.label
table.whereTable.vars.name (Required Parameter)
table.whereTable.vars.nfd
table.whereTable.vars.nfl
table.whereTable.where