Skip to main content

Megamicros MEMS microphone array library for acoustic beamforming

Project description

megamicros

Megamicros library

Install

You can install Megamicros using the Phyton pip utility or from the GitHub repository.

Using pip install

First create your virtual environnement, then install:

  > virtualenv venv
  > source venv/bin/activate
  (venv) > pip install megamicros

Upgrading:

  > pip install --upgrade megamicros

Installing from the GitHub repository

Clone the Megamicros GitHub repository:

  > git clone https://github.com/bimea/megamicros.git

Create a virtual environnement in the megamicros repository and install the Python libraries needed for Megamicros to work in development mode:

  > cd megamicros
  > virtualenv venv
  > source venv/bin/activate
  > pip install -r requirements.txt
  > pip install -e ./

Issues with usb access

On windows systems

Before using the megamicros python library you must install the Zadig usb driver.

On MacOs / Linux systems

In some Linux distributions, only the root user has access to the USB port, so the following message may appear:

    ...
    aborting:  LIBUSB_ERROR_ACCESS [-3]

The USB devices are probably not accessible to users (test under root should be ok). You must then give user access to the usb port by creating a new device rules file:

    > sudo vi /etc/udev/rules.d/99-megamicros-devices.rules
    # Insert next lines which give access to the Megamicros devices (Mu32-usb2, Mu32-usb3, Mu256, Mu1024):
    SUBSYSTEM=="usb", ATTRS{idVendor}=="fe27", ATTRS{idProduct}=="ac00", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="fe27", ATTRS{idProduct}=="ac01", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="fe27", ATTRS{idProduct}=="ac03", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="fe27", ATTRS{idProduct}=="ac02", MODE="0666"

User should be also in the plugdev group. Check the group file:

    > vi /etc/group
    ...
    plugdev:x:46:user_account_login
    ...

If there is no entry with your user account (user_account_login above), then add your user account in the plugdev group. Unplugg and plugg your usb device. All should be fine.

!!! Note

Don't forget that if you run your Python programs on a virtual machine, usb ports should be declared as accessible on your VM.

Publishing

Build the package

python -m build

Build only wheel

python -m build --wheel

Build only source distribution

python -m build --sdist

Check the distribution files

twine check dist/*

Upload to TestPyPI first (optional but recommended)

twine upload --repository testpypi dist/*

Test install from TestPyPI

pip install --index-url https://test.pypi.org/simple/ megamicros

If everything works, upload to production PyPI

twine upload dist/*

Megamicros documentation

You can also consult the Megamicros project web page at readthedoc.bimea.io.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

megamicros-3.1.0.tar.gz (117.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

megamicros-3.1.0-py3-none-any.whl (44.5 kB view details)

Uploaded Python 3

File details

Details for the file megamicros-3.1.0.tar.gz.

File metadata

  • Download URL: megamicros-3.1.0.tar.gz
  • Upload date:
  • Size: 117.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for megamicros-3.1.0.tar.gz
Algorithm Hash digest
SHA256 2ff0d06e6f12f870a6f1f988c09633146df9dc192b197ff25856c98e6214b476
MD5 7a7d2ae8fd6f90459ac1c195f2d1839f
BLAKE2b-256 77e9f40cdd37d4eb579776702c4884cd4024a7d7600f0efaf4131b1b757263f3

See more details on using hashes here.

File details

Details for the file megamicros-3.1.0-py3-none-any.whl.

File metadata

  • Download URL: megamicros-3.1.0-py3-none-any.whl
  • Upload date:
  • Size: 44.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for megamicros-3.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fe379a42e7341271fdef888cd0530ece086c1cbf1b1883a5a3397f07ed1e2c5b
MD5 0347cb4889cdf45d36acbbc5aaeeb018
BLAKE2b-256 a9881c3a1c5377c2d9ab34f05ea4f82e31c8365f4c2b96ccf02487bedd5ab6e8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page