# [CMSIS-DSP Python package](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/how-to-1/)

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/)
- [CMSIS-DSP Python package](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/how-to-1/)
- [Set up environment](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/how-to-2/)
- [Load an audio file](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/how-to-3/)
- [Write a simple VAD](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/how-to-4/)
- [Write a noise suppression algorithm](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/how-to-5/)
- [Write the CMSIS-DSP Q15 implementation](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/how-to-6/)
- [Convert the CMSIS-DSP Python to C](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/how-to-7/)
- [Develop your knowledge](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/how-to-8/)
- [Next Steps](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/cmsisdsp-dev-with-python/_next-steps/)

## What is CMSIS-DSP?
CMSIS-DSP is a general-purpose computation library focused on digital signal processing (DSP).

Originally developed for Cortex-M processors, it now also supports Cortex-A.

The library is optimized for each architecture:
- DSP extensions on Cortex-M4 and M7.
- Helium on M55 and M85.
- Neon on Cortex-A55 and other Cortex-A cores.

## What is the CMSIS-DSP Python package?
The CMSIS-DSP Python package provides a Python API for CMSIS-DSP. Its goal is to make it easier to develop a C solution using CMSIS-DSP by bridging the gap between a Python-based design environment and a final C implementation.

The API is designed to closely mirror the C version in both function and structure.

Fixed-point arithmetic is rarely supported by Python libraries, which generally focus on floating-point operations. The CMSIS-DSP Python package includes the same fixed-point arithmetic functions as the C version: Q31, Q15 and Q7. Support for half-precision floats will be added in a future release, matching the C API.

The package is compatible with NumPy and integrates well with scientific and AI libraries such as SciPy and PyTorch.
