# Audio classification decode and display with LiteRT
The use cases implement the YAMNet LiteRT model to classify and decode audio samples from a microphone and a file source.
To stop the use cases, use **CTRL + C**.
## Audio classification on audio samples from microphone
Run this use case on the target device:
gst-launch-1.0 -v pulsesrc ! audio/x-raw,format=S16LE ! audiobuffersplit output-buffer-size=31200 ! \
qtimlaconverter sample-rate=16000 feature=lmfe params="params,nfft=96,nhop=160,nmels=64,chunklen=0.96;" ! queue ! \
qtimltflite model=/etc/models/yamnet.tflite ! qtimlpostprocess module=yamnet labels=/etc/labels/yamnet.json ! \
video/x-raw,width=640,height=360 ! queue ! waylandsink sync=false fullscreen=true
Copy to clipboard
The following figure shows the flow of the use case execution:
**Figure : Pipeline flow for audio classification and display**
The following table provides the sequential processing stages of the pipeline execution:
Table : Pipeline processing stages for audio classification
| Process | Description |
| --- | --- |
| [pulsesrc](https://docs.qualcomm.com/doc/80-80021-50/topic/pulsesrc.html) | Collects the audio stream (source) from the microphone. |
| audiobuffersplit | Splits the incoming audio buffers into equal sized chunks. |
| [qtimlaconverter](https://docs.qualcomm.com/doc/80-80021-50/topic/qtimlaconverter.html) | Performs preprocessing on the audio stream and converts the stream to a tensor stream.
The audio classification model uses this tensor stream for inferencing. |
| [qtimltflite](https://docs.qualcomm.com/doc/80-80021-50/topic/qtimltflite.html) |
Loads the model.
Modifies the graph for the chosen delegate.
Receives the tensor stream on its sinkpad.
Runs the inference and produces a tensor stream with the inference results on its source pad.
| Decodes the audio and video. |
| audioconvert | Converts the audio buffers between various possible formats. |
| audioresample | Resamples the audio buffers to different sample rates. |
| audiobuffersplit | Splits the incoming audio buffers into equal sized chunks. |
| [qtimlaconverter](https://docs.qualcomm.com/doc/80-80021-50/topic/qtimlaconverter.html) | Performs preprocessing on the audio stream and converts the stream to a tensor stream.
The audio classification model uses this tensor stream for inferencing. |
| [qtimltflite](https://docs.qualcomm.com/doc/80-80021-50/topic/qtimltflite.html) | Performs inferencing using the YAMNet model. |
| qtimlpostprocess | - Handles the audio classification inference results: -
Applies a threshold to the chosen number of results.
Creates text overlay for classes.
|
| [qtivcomposer](https://docs.qualcomm.com/doc/80-80021-50/topic/qtivcomposer.html) | Combines the text overlay for classification results and video preview. |
| [Waylandsink](https://docs.qualcomm.com/doc/80-80021-50/topic/waylandsink.html) |
Waylandsink submits the video stream received on its sink pad to Weston.
Weston renders the video stream on a local display.
|
## Related information
[Audio classification](https://docs.qualcomm.com/doc/80-80021-50/topic/audio-classification.html)
Last Published: Mar 26, 2026
[Previous Topic
Image classification and encode with LiteRT](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/single-camera-stream-with-image-classification-and-encode.md) [Next Topic
Object detection and display with LiteRT](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/single-camera-stream-with-object-detection-and-display.md)