Install Acoular#
Acoular runs under 64-bit Linux, MacOS and Windows. It currently supports Python 3.10, 3.11, 3.12 and 3.13.
Tools#
There are many different tools for Python environment management and package installation. Select your preferred method by clicking on one of the tabs below.
βAn extremely fast Python package and project manager, written in Rust.β
This method only requires an installation of uv itself. Choose this for a beginner-friendly and streamlined experience.
βThe PyPA recommended tool for installing Python packages.β
This method requires Python and an installation of pip. Choose this for a traditional Python experience.
βThe fast cross-platform package manager.β
This method only requires an installation of mamba itself. Choose this if you rely on Anaconda and want a fast experience.
βOS-agnostic, system-level binary package and environment manager.β
This method only requires an installation of conda itself. Choose this if you rely on Anaconda.
Virtual environment#
We strongly encourage the use of virtual environments. An environment my-env can be created with:
$ uv venv
Note
uv will handle environment activation implicitly (the environment is created at .venv).
$ python3 -m venv my-env
and activate the environment with:
$ source my-env/bin/activate
$ mamba create -n my-env
and activate the environment with:
$ mamba activate my-env
$ conda create -n my-env
and activate the environment with:
$ conda activate my-env
Installation#
Then, install Acoular with:
$ uv pip install acoular
$ pip install -U acoular
$ mamba install -c acoular acoular
$ conda install -c acoular acoular
Dependencies#
Acoular depends on the following packages which will be installed automatically (unless they are already installed):
Package |
Function |
|---|---|
Automatic JIT-compilation of performance critical computations. |
|
Array data types for efficient block processing. |
|
L1-optimization algorithms. |
|
Optimization and linear algebra algorithms. |
|
HDF5-support for caching and file I/O. |
|
Type-checking and trait-change notifications for lazy-evaluation. |
Optional dependencies#
Optional dependencies are only required in some circumstances. They must be installed separately when needed.
Package |
Needed for |
|---|---|
Running the examples and to generate output in the demo. |
|
Using input from physical soundcard hardware. |
|
Some solvers of |
When installing Acoular from PyPI, Acoular and all optional dependencies can be installed with the full extra:
[project.optional-dependencies]
full = [
"matplotlib",
"pylops",
"sounddevice",
]
Otherwise, the dependencies need to be installed manually:
$ uv pip install 'acoular[full]'
$ pip install -U 'acoular[full]'
$ mamba install -c acoular acoular matplotlib pylops python-sounddevice
$ conda install -c acoular acoular matplotlib pylops python-sounddevice
Verify your installation#
After installation, you may verify your Acoular installation by importing the module and running the Acoular demo script in a Python console.
In order to render the graphical output, the Acoular demo script requires matplotlib.
$ uv run python -m acoular.demo
$ python -m acoular.demo
$ python -m acoular.demo
$ python -m acoular.demo
After a couple of seconds, this should produce two pictures (a 64 microphone arrangement and a beamforming map with three sources). If matplotlib is not found, the beamforming map will be printed in ASCII format.
Known Issues#
Using conda with the defaults channel on Linux (Python 3.13)#
Recently, we have encountered some issues with the installation of Acoular via conda using the defaults channel.
On Linux and for Python version 3.13, the following error may occur after importing Acoular:
ImportError: traits/ctraits.cpython-313-x86_64-linux-gnu.so: undefined symbol: Py_TRASHCAN_SAFE_BEGIN
Therefore, we recommend either installing Acoular with another tool, or using a different Python version (3.10, 3.11, 3.12) when installing via conda.
Alternatively, install the traits package from the conda-forge channel to fix the error with:
$ conda update -c conda-forge traits
Missing PortAudio on Linux#
The sounddevice library depends on PortAudio which might not be installed on Linux. On Ubuntu, for example, you can install PortAudio with:
$ sudo apt install libportaudio2