Skip to content

Commit 6964e78

Browse files
v1.1? (#8)
* update python packages * update workflows * fix authors * typo * fix * fix pipeline * fix test * try to support python 3.10 * fix * fix * fix * use poetry * fix * fix * update docs * update license * remove redundand deps * change version * remove soundfile * update readme * updated docs
1 parent 0baf532 commit 6964e78

58 files changed

Lines changed: 3097 additions & 1630 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/test_conda.yml

Lines changed: 0 additions & 38 deletions
This file was deleted.

.github/workflows/test_pip.yml

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,32 +16,28 @@ jobs:
1616
strategy:
1717
fail-fast: false
1818
matrix:
19-
python-version: [3.7, 3.8, 3.9]
19+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
2020

2121
steps:
2222
- uses: actions/checkout@v2
2323
- name: Set up Python ${{ matrix.python-version }}
2424
uses: actions/setup-python@v2
2525
with:
2626
python-version: ${{ matrix.python-version }}
27-
- name: Install libnsdfile
28-
run: |
29-
sudo apt update
30-
sudo apt install libsndfile1-dev libsndfile1
3127
- name: Install dependencies
3228
run: |
33-
python -m pip install --upgrade pip
34-
python -m pip install flake8
35-
python -m pip install -e .['tests']
29+
curl -sSL https://install.python-poetry.org | python3 -
30+
poetry install --with tests,docs,dev
31+
poetry --version
32+
poetry show
3633
python --version
3734
pip --version
38-
python -m pip list
3935
- name: Lint with flake8
4036
run: |
4137
# stop the build if there are Python syntax errors or undefined names
42-
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
38+
poetry run flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
4339
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
44-
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
40+
poetry run flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
4541
- name: Test with pytest
4642
run: |
47-
pytest
43+
poetry run python -m pytest

LICENCE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2022 Sebastian Rosenzweig, Simon Schwär, Meinard Müller, International Audio Laboratories Erlangen, Germany.
3+
Copyright (c) 2022-2026 Sebastian Rosenzweig, Simon Schwär, Peter Meier, Meinard Müller, International Audio Laboratories Erlangen, Germany.
44
We thank the German Research Foundation (DFG) for various research grants that
55
allow us for conducting fundamental research in music processing.
66
The International Audio Laboratories Erlangen are a joint institution of the

README.md

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
[![Python Package using Conda](https://github.com/groupmm/libf0/actions/workflows/test_conda.yml/badge.svg)](https://github.com/groupmm/libf0/actions/workflows/test_conda.yml)
21
[![Python package](https://github.com/groupmm/libf0/actions/workflows/test_pip.yml/badge.svg)](https://github.com/groupmm/libf0/actions/workflows/test_pip.yml)
32

43

54
# libf0
65

7-
This repository contains a Python package called libf0 which provides open-source implementations for four popular model-based F0-estimation approaches, YIN (Cheveigné & Kawahara, 2002), pYIN (Mauch & Dixon, 2014), an approach inspired by Melodia (Salamon & Gómez, 2012), and SWIPE (Camacho & Harris, 2008).
6+
This repository contains a Python package called libf0 which provides open-source implementations for four popular model-based F0-estimation approaches, YIN (Cheveigné & Kawahara, 2002), pYIN (Mauch & Dixon, 2014), an approach inspired by Melodia (Salamon & Gómez, 2012), and SWIPE (Camacho & Harris, 2008).
87

98
If you use the libf0 in your research, please consider the following references.
109

@@ -32,48 +31,30 @@ Meinard Müller. Fundamentals of Music Processing – Using Python and Jupyter N
3231

3332
## Installing
3433

35-
If you just want to try our example notebook, you can run it using Binder directly in your browser: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/groupmm/libf0/HEAD)
34+
To install libf0, please run
3635

37-
To install the libf0 locally, you can use the Python package manager pip:
38-
39-
```
40-
pip install libf0
4136
```
42-
43-
We recommend to do this inside a conda or virtual environment (requiring at least Python 3.7).
44-
If you want to run the example notebook locally, you **must** first install libf0 to resolve all dependencies. Then, you can clone this repository using
45-
46-
```
47-
git clone https://github.com/groupmm/libf0.git
48-
```
49-
install Jupyter using
50-
37+
pip install libf0[dev,tests,docs]
5138
```
52-
pip install jupyter
53-
```
54-
55-
and then start the notebook server via
56-
57-
```
58-
jupyter notebook
59-
```
60-
39+
with the following optional dependencies:
40+
* `dev`: for development and running the demo notebook.
41+
* `tests`: for running the unittests.
42+
* `docs`: to build the API docs.
6143

6244
## Documentation
63-
There is also an API documentation for libf0:
45+
You can find the API documentation for libf0 here:
6446

6547
https://groupmm.github.io/libf0
6648

6749
## Contributing
6850

69-
We are happy for suggestions and contributions. We would be grateful for either directly contacting us via email (meinard.mueller@audiolabs-erlangen.de) or for creating an issue in our Github repository. Please do not submit a pull request without prior consultation with us.
51+
We are happy for suggestions and contributions. We would be grateful for either directly contacting us via email (meinard.mueller@audiolabs-erlangen.de) or for creating an issue or pull request in our Github repository.
7052

7153
## Tests
7254

73-
We provide automated tests for each algorithm. To execute the test script, you will need to install extra requirements for testing:
55+
We provide automated tests for each algorithm. To execute the test script, run
7456

7557
```
76-
pip install 'libf0[tests]'
7758
pytest tests
7859
```
7960

demo_libf0.ipynb

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"cells": [
33
{
44
"cell_type": "markdown",
5-
"id": "feeb7b4a",
5+
"id": "0",
66
"metadata": {},
77
"source": [
88
"# libf0 - A Python Library for F0-Estimation in Music Recordings"
@@ -11,7 +11,7 @@
1111
{
1212
"cell_type": "code",
1313
"execution_count": null,
14-
"id": "8a81c6dc",
14+
"id": "1",
1515
"metadata": {},
1616
"outputs": [],
1717
"source": [
@@ -28,7 +28,7 @@
2828
{
2929
"cell_type": "code",
3030
"execution_count": null,
31-
"id": "82a6a26e-db62-41f0-9e8c-c718b1359752",
31+
"id": "2",
3232
"metadata": {},
3333
"outputs": [],
3434
"source": [
@@ -81,7 +81,7 @@
8181
{
8282
"cell_type": "code",
8383
"execution_count": null,
84-
"id": "8f646465",
84+
"id": "3",
8585
"metadata": {},
8686
"outputs": [],
8787
"source": [
@@ -120,7 +120,7 @@
120120
},
121121
{
122122
"cell_type": "markdown",
123-
"id": "a2d8f9fe",
123+
"id": "4",
124124
"metadata": {},
125125
"source": [
126126
"### YIN\n",
@@ -133,7 +133,7 @@
133133
{
134134
"cell_type": "code",
135135
"execution_count": null,
136-
"id": "a9a165be",
136+
"id": "5",
137137
"metadata": {},
138138
"outputs": [],
139139
"source": [
@@ -156,7 +156,7 @@
156156
},
157157
{
158158
"cell_type": "markdown",
159-
"id": "f27baf76",
159+
"id": "6",
160160
"metadata": {},
161161
"source": [
162162
"### pYIN\n",
@@ -169,7 +169,7 @@
169169
{
170170
"cell_type": "code",
171171
"execution_count": null,
172-
"id": "9986dfe1",
172+
"id": "7",
173173
"metadata": {},
174174
"outputs": [],
175175
"source": [
@@ -193,7 +193,7 @@
193193
},
194194
{
195195
"cell_type": "markdown",
196-
"id": "5218adb5-862b-4315-a85d-375dc69cc0e1",
196+
"id": "8",
197197
"metadata": {},
198198
"source": [
199199
"### Salience Algorithm\n",
@@ -209,7 +209,7 @@
209209
{
210210
"cell_type": "code",
211211
"execution_count": null,
212-
"id": "b0f0edcb-1e8a-47e1-a40d-9a28dae69879",
212+
"id": "9",
213213
"metadata": {},
214214
"outputs": [],
215215
"source": [
@@ -233,7 +233,7 @@
233233
},
234234
{
235235
"cell_type": "markdown",
236-
"id": "0eabab3f",
236+
"id": "10",
237237
"metadata": {},
238238
"source": [
239239
"### SWIPE\n",
@@ -246,7 +246,7 @@
246246
{
247247
"cell_type": "code",
248248
"execution_count": null,
249-
"id": "ee7a8ff4",
249+
"id": "11",
250250
"metadata": {},
251251
"outputs": [],
252252
"source": [
@@ -269,7 +269,7 @@
269269
},
270270
{
271271
"cell_type": "markdown",
272-
"id": "08b2121c",
272+
"id": "12",
273273
"metadata": {},
274274
"source": [
275275
"### SWIPE (slim)\n",
@@ -280,7 +280,7 @@
280280
{
281281
"cell_type": "code",
282282
"execution_count": null,
283-
"id": "bee19066",
283+
"id": "13",
284284
"metadata": {},
285285
"outputs": [],
286286
"source": [
@@ -304,15 +304,15 @@
304304
{
305305
"cell_type": "code",
306306
"execution_count": null,
307-
"id": "b271aa6d",
307+
"id": "14",
308308
"metadata": {},
309309
"outputs": [],
310310
"source": []
311311
}
312312
],
313313
"metadata": {
314314
"kernelspec": {
315-
"display_name": "Python 3",
315+
"display_name": "Python 3 (ipykernel)",
316316
"language": "python",
317317
"name": "python3"
318318
},
@@ -326,7 +326,7 @@
326326
"name": "python",
327327
"nbconvert_exporter": "python",
328328
"pygments_lexer": "ipython3",
329-
"version": "3.8.10"
329+
"version": "3.12.4"
330330
}
331331
},
332332
"nbformat": 4,

docs/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# You can set these variables from the command line, and also
55
# from the environment for the first two.
66
SPHINXOPTS ?=
7-
SPHINXBUILD ?= sphinx-build
7+
SPHINXBUILD ?= poetry run sphinx-build
88
SOURCEDIR = source
99
BUILDDIR = build
1010

108 KB
Binary file not shown.
3.92 KB
Binary file not shown.

docs/build/doctrees/index.doctree

8.98 KB
Binary file not shown.
72.8 KB
Binary file not shown.

0 commit comments

Comments
 (0)