---
title: "extractFeatures(trainingData:parameters:sessionParameters:)"
framework: createml
role: symbol
role_heading: Type Method
path: "createml/mlsoundclassifier/extractfeatures(trainingdata:parameters:sessionparameters:)"
---

# extractFeatures(trainingData:parameters:sessionParameters:)

Begins an asynchronous session that extracts sound features from a data source of sound files.

## Declaration

```swift
static func extractFeatures(trainingData: MLSoundClassifier.DataSource, parameters: MLSoundClassifier.FeatureExtractionParameters = FeatureExtractionParameters(), sessionParameters: MLTrainingSessionParameters = _defaultSessionParameters) throws -> MLJob<MLSoundClassifier.DataSource>
```

## Parameters

- `trainingData`: An doc://com.apple.createml/documentation/CreateML/MLSoundClassifier/DataSource instance that contains a collection of labeled audio files.
- `parameters`: An doc://com.apple.createml/documentation/CreateML/MLSoundClassifier/FeatureExtractionParameters instance you use to configure the feature extraction session.
- `sessionParameters`: An doc://com.apple.createml/documentation/CreateML/MLTrainingSessionParameters instance you use to configure the feature extraction session.

## Return Value

Return Value An MLJob that represents the sound feature extraction session.

## Discussion

Discussion Use this method to reduce the training time for multiple sound classifiers that use the same training data. Use the MLJob instance this method returns to save the audio features as an MLSoundClassifier.DataSource. Then use the audio features data source to train one or more sound classifiers. You can also create a data source from a DataFrame or an MLDataTable that contains audio features by using MLSoundClassifier.DataSource.featuresDataFrame(_:featureColumn:labelColumn:parameters:) or MLSoundClassifier.DataSource.features(table:featureColumn:labelColumn:parameters:), respectively.

## See Also

### Training a sound classifier asynchronously

- [train(trainingData:parameters:sessionParameters:)](createml/mlsoundclassifier/train(trainingdata:parameters:sessionparameters:).md)
- [makeTrainingSession(trainingData:parameters:sessionParameters:)](createml/mlsoundclassifier/maketrainingsession(trainingdata:parameters:sessionparameters:).md)
- [resume(_:)](createml/mlsoundclassifier/resume(_:).md)
- [restoreTrainingSession(sessionParameters:)](createml/mlsoundclassifier/restoretrainingsession(sessionparameters:).md)
- [MLSoundClassifier.FeatureExtractionParameters](createml/mlsoundclassifier/featureextractionparameters.md)
