Metadata-Version: 2.4
Name: neckenml-analyzer
Version: 0.3.1
Summary: Audio analysis for Swedish folk music using Essentia (AGPL licensed)
Author: NeckenML Contributors
License: AGPL-3.0-or-later
Project-URL: Homepage, https://github.com/svnoak/neckenml-analyzer
Project-URL: Repository, https://github.com/svnoak/neckenml-analyzer
Project-URL: Issues, https://github.com/svnoak/neckenml-analyzer/issues
Keywords: audio,music,folk,swedish,analysis,essentia
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Multimedia :: Sound/Audio :: Analysis
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: neckenml-core<1.0.0,>=0.3.0
Requires-Dist: essentia-tensorflow>=2.1b6.dev0
Requires-Dist: librosa>=0.9.0
Requires-Dist: madmom>=0.16.0
Requires-Dist: soundfile>=0.10.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=3.0.0; extra == "dev"
Requires-Dist: black>=22.0.0; extra == "dev"
Requires-Dist: flake8>=4.0.0; extra == "dev"
Dynamic: license-file

# neckenml-analyzer

Audio analysis for Swedish folk music using Essentia, Madmom, and Librosa.

**AGPL-3.0 licensed**

## Installation

```bash
pip install neckenml-analyzer
```

This will also install `neckenml-core` as a dependency.

## What's Included

- **AudioAnalyzer**: Main class for analyzing audio files
- **Feature Extractors**: Rhythm, structure, swing, feel, vocal detection
- **Folk Authenticity**: Detector for traditional vs modern production

## Usage

```python
from neckenml.analyzer import AudioAnalyzer

with AudioAnalyzer() as analyzer:
    result = analyzer.analyze_file("path/to/audio.mp3")
    print(f"Detected style: {result['ml_suggested_style']}")
```

## License

AGPL-3.0 License - see [LICENSE](LICENSE) for details.

This package uses Essentia which is AGPL-licensed. If you need MIT-licensed components only, use `neckenml-core` instead.

## MIT Alternative

For classification without audio analysis (using pre-computed features):

```bash
pip install neckenml-core
```
