SGX Batch Processing
SGX is designed to efficiently produce quality facial animation for large amounts of audio. To facilitate this, we provide batch processing. Batch processing is performed by SGX Producer, a command-line executable for Windows. There is also a user-friendly batch processing interface in SGX Director, which launches SGX Producer batches and/or prints the commands by which they can be launched.
There are two modes of batch processing:
processing new events
processing existing events
Processing new events
In this mode, new audio and transcripts are specified as input. To prepare input for batch processing, see Batch Input Formats. For each input audio file a new event file will be created, with the same base name as the audio file. The example below shows a set of input files (left), and the corresponding, fully processed event files (right).
Processing existing events
When processing a batch of existing events, a directory containing the events is specified as input. The events files are processed in place – meaning no new files are created; the existing ones are overwritten. There are two reasons why you might want to process a batch of existing events:
To reprocess them
To process them for the first time (for example because they were constructed in SGX Director by loading audio and text files but were not processed).
Batch reports
In addition to producing or updating event files, the batch process also produces two files summarizing the batch. These will be found in the same directory as the processed event files:
| A text file containing a record of the batch command arguments |
| A CSV file containing a processing report |
where TIMESTAMP is in the format
yyyymmddThhmmss
For example:
20230929T164937
The processing report contains one row for each event, with the following comma-separated values:
name,path,processing_status,transcript_status,phonetic_analysis_score,pre_roll,post_roll
The following table provides descriptions of the reported properties for each event:
Property | Values | Description |
name | The base name of the event | |
path | The file path of the event | |
processing_status | {0,1} | Whether processing was successful (0=failed, 1=succeeded) |
transcript_status | {0,1} | Whether a text transcript of the speech was found and used (0=no, 1=yes) |
phonetic_analysis_score | [0,1] | The accuracy of the phonetic lip sync analysis, determining the extent to which it was used (see Phonetic and Acoustic lip sync processing). |
pre_roll | [0,…] | Duration of pre-roll (in milliseconds) |
post_roll | [0,…] | Duration of post-roll (in milliseconds) |
Below is an example batch report .csv file, viewed as a spreadsheet:
name | path | processing status | transcript status | phonetic analysis score | pre-roll | post-roll |
|
| 1 | 1 | 0.84 | 18.21 | 42.79 |
|
| 1 | 1 | 0.79 | 0 | 216.68 |
|
| 1 | 0 | 0 | 15.9 | 16.41 |
|
| 1 | 1 | 0.99 | 103.43 | 136.37 |
|
| 1 | 1 | 0.95 | 0 | 401.91 |
|
| 0 | 0 | 0 | 0 | 0 |
|
| 1 | 1 | 0.91 | 13.43 | 136.37 |
|
| 1 | 1 | 0.89 | 0 | 136.37 |
|
| 1 | 1 | 0.65 | 103.43 | 0 |
|
| 1 | 1 | 0.77 | 29.02 | 432.31 |
|
| 1 | 1 | 0.99 | 0 | 0 |