MFA
The MFA annotator integrates with the
Montreal Forced Aligner, which can use words with phonemic transcriptions, and
the corresponding audio, to force-align words and phones; i.e. determine the start
and end time of each speech sound within each word, and thus the start/end times
of the words.
This API provides access to information about the currently installed version of the
montreal-forced-aligner conda package, and also provides access to logs.
The following GET http enpoints are available:
- mfaVersion
- Provide the version number of the montreal-forced-aligner
package currently installed. The response is plain text; the raw output from running
the command:
mfa version
- validDictionaryNames
- List valid pronunciation dictionary
names. The response is a JSON-encoded array; the parsed output from running the
command:
model download dictionary
- validAcousticModels
- List valid acoustic model names. The response
is a JSON-encoded array; the parsed output from running the command:
model download acoustic
- listLogs
- List logs from forced-alignment runs. The response is a
JSON-encoded array of log file names.
- downloadLog?log
- Downloads the given log file.
- deleteLog?log
- Deletes the given log file.
- mappingToCsv?id
- Provides access to the mapping between the given two
layers, as a CSV stream. The query string should be a mapping ID returned
by listMappings. The response is a CSV file containing all edit steps
mapping all source annotations to target annotations, with the following fields:
- transcript - Transcript ID
- scope - Parent utterance/word ID
- URL - URL to the utterance
- step - The edit step index in the sequence
- sourceLayer - Layer of the source annotations
- sourceParentId - ID of the parent of source annotation, if this is a sub-mapping
- sourceParentLabel - Label of the parent of source annotation, if this is a sub-mapping
- sourceId - ID of the source annotation
- sourceLabel - Label of the source annotation
- sourceStart - Start offset of the source annotation
- sourceEnd - End offset of the source annotation
- targetLayer - Layer of the target annotations
- targetParentId - ID of the parent of target annotation, if this is a sub-mapping
- targetParentLabel - Label of the parent of target annotation, if this is a sub-mapping
- targetId - ID of the target annotation
- targetLabel - Label of the target annotation
- targetStart - Start offset of the target annotation
- targetEnd - End offset of the target annotation
- operation - The edit operation:
+ for insert, - for delete, ! for change, = for no change
- distance - Distance (cost) for this edit step
- hierarchy - This mappings position in the sub-mapping hierarchy:
parent, child, or none
- overlapRate - As per Paulo and Oliveira (2004):
0 means no overlap at all, 1 means they complete overlap
- deleteMapping?id
- Deletes all data associated with the given
mapping. The query string should be a mapping ID returned by listMappings.