Skip to main content

Python bindings for libllsm2 (import name: pyllsm2)

Project description

pyllsm2

pyllsm2 is a CFFI wrapper package for libllsm2.

Scope

  • Exposes all public llsm2 APIs from:
    • llsm.h
    • dsputils.h
    • llsmrt.h
    • llsmutils.h
  • Exposes selected high-level ciglet APIs used with LLSM2:
    • qifft
    • spec2env
    • lfmodel_*
    • ifdetector_*
    • filterbank_*

pyin / gvps are intentionally not included in this package build.

Install

pip install -e ./pyllsm2

If your environment cannot create an isolated build env, use:

pip install -e ./pyllsm2 --no-build-isolation

Use

import pyllsm2

opt = pyllsm2.llsm_create_aoptions()

Tests

Tests are ports/adaptations of libllsm2/test/* (not the legacy libllsm tests), including test-structs, test-dsputils, test-harmonic, and a layer0 analyze/synthesize flow.

libpyin-related flow is replaced by Python-side alternatives. Default test flow uses Python-generated F0; optional smoke test can use librosa.pyin.

Install test dependencies:

pip install -e ./pyllsm2[test] --no-build-isolation

Run:

pytest pyllsm2/tests -q

Run optional librosa.pyin smoke test:

PYLLSM2_TEST_LIBROSA=1 pytest pyllsm2/tests/test_layer0_pipeline_from_libllsm2.py -q

PyPI Auto Publish (GitHub Actions)

Workflow file:

  • .github/workflows/publish-pypi.yml

Behavior:

  • triggers on GitHub Release published (and manual workflow_dispatch)
  • builds sdist + wheel
  • publishes to PyPI via trusted publishing (id-token)

You need to configure PyPI Trusted Publisher for this GitHub repository/project.

Build note: package build requires libllsm2 source tree at one of:

  • vendor/libllsm2
  • libllsm2
  • ../libllsm2

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

pyllsm2-0.1.1.tar.gz (105.2 kB view details)

Uploaded Source

File details

Details for the file pyllsm2-0.1.1.tar.gz.

File metadata

  • Download URL: pyllsm2-0.1.1.tar.gz
  • Upload date:
  • Size: 105.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyllsm2-0.1.1.tar.gz
Algorithm Hash digest
SHA256 978f14454727a87ce4982dc39ca16c79ec009bb60f5c036b3d6a01a7e62ec1bd
MD5 1f5c7d73f75b3720fffb72f480faf69b
BLAKE2b-256 1113cfa8f2ff23032d73d5e70a6fc9f4fc6ab928a260d32caa0dc99fba5f8733

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyllsm2-0.1.1.tar.gz:

Publisher: publish-pypi.yml on yjzxkxdn/Python-Wrapper-for-Llsm2-Vocoder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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