Skip to content

Commit 1d30a5d

Browse files
committed
Prepare the package for release
1 parent aebb25f commit 1d30a5d

6 files changed

Lines changed: 61 additions & 28 deletions

File tree

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ name: release
33
on:
44
release:
55
types: [created]
6+
workflow_dispatch:
67

78
jobs:
89
build:
@@ -20,7 +21,6 @@ jobs:
2021
poetry install
2122
- name: Run
2223
run: |
23-
poetry build
24-
poetry publish
24+
poetry publish --build -u __token__ -p "${PYPI_TOKEN}"
2525
env:
26-
POETRY_PYPI_TOKEN_PYPI: ${{env.PYPI_TOKEN}}
26+
PYPI_TOKEN: ${{secrets.PYPI_TOKEN}}

README.md

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
<a href="https://github.com/0x2b3bfa0/python-blobopera/actions">
1111
<img alt="lint" src="https://github.com/0x2b3bfa0/python-blobopera/workflows/coverage/badge.svg?branch=main">
1212
</a>
13+
<a href="https://pypi.org/project/blobopera">
14+
<img alt="package" src="https://badge.fury.io/py/blobopera.svg">
15+
</a>
1316
<a href="https://www.gnu.org/licenses/gpl-3.0">
1417
<img alt="license" src="https://img.shields.io/badge/license-GPL3-blue.svg">
1518
</a>
@@ -42,39 +45,54 @@ real lyrics, loosely inspired by [OverlappingElvis/blob-opera-midi][2].
4245
to [MusicXML][4]. You can download MusicXML files from MuseScore
4346
by using [this tool][8].
4447

45-
2. Install the requirements (using [poetry][11]):
48+
2. Install the tool:
4649
```bash
47-
poetry install
50+
pip install blobopera
4851
```
4952

5053
3. Convert the score file:
5154
```bash
52-
poetry run blobopera recording import input.musicxml output.binary
55+
blobopera recording import input.musicxml output.binary
5356
```
57+
_[(Take a look at the command-line options)][23]_
5458

5559
4. Upload the recording:
5660
```bash
57-
poetry run blobopera recording upload output.binary
61+
blobopera recording upload output.binary
5862
```
5963

6064
5. Visit the generated link with your browser.
6165

62-
## Known issues
63-
64-
* Pronunciation is far from perfect and consonants may be too faint
65-
to articulate the supporting note; feel free to add more
66-
language-phoneme maps.
66+
## Roadmap
6767

68-
* Timing can go completely off if the source score has metronome marks on it
69-
because they are being interpreted only for the first of the four parts.
70-
Please delete all the tempo marks on the score and use the `--tempo` option
71-
within the `recording create` subcommand in order to modify the global tempo:
72-
0.5 will slow down the entire recording to half the original speed.
68+
* [X] Publish the package.
69+
* [ ] Add language-specific phoneme translators.
70+
* [ ] Improve the phoneme relocation logic.
71+
* [ ] Write granular unit tests.
72+
* [ ] Extend the documentation.
7373

7474
## Contributing
7575

76-
Contributions are welcome! Don't forget to run `poetry run poe all` to
77-
validate your code before starting a pull request.
76+
1. Clone this repository:
77+
```console
78+
$ git clone https://github.com/0x2b3bfa0/python-blobopera
79+
$ cd python-blobopera
80+
```
81+
82+
2. Install the dependencies with [poetry][11]:
83+
```console
84+
$ poetry install
85+
```
86+
87+
4. Run the command-line tool:
88+
```console
89+
$ poetry run blobopera
90+
```
91+
92+
3. Run the module tests:
93+
```console
94+
$ poetry run poe all
95+
```
7896

7997
[1]: https://artsandculture.google.com/experiment/blob-opera/AAHWrq360NcGbw
8098
[2]: https://github.com/OverlappingElvis/blob-opera-midi
@@ -96,3 +114,4 @@ validate your code before starting a pull request.
96114
[20]: https://g.co/arts/xQGR5aWBwuDeGqTq8
97115
[21]: http://www.cafe-puccini.dk/Schubert_GdurMesse.aspx
98116
[22]: https://en.wikipedia.org/wiki/Ave_Maria_(Schubert)
117+
[23]: ./documentation/command#blobopera-recording-import

blobopera/recording.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ class TimedPhoneme(proto.Message):
2323
Not to be mistaken with :py:class:`.libretto.TimedPhoneme`, which
2424
serves to a completely different purpose and has different fields.
2525
26-
2726
Attributes:
2827
phoneme (Phoneme): The phoneme to utter.
2928
duration (float): Duration, whose purpose is yet unknown. Empirically,
@@ -197,7 +196,7 @@ def to_note(self) -> music21.note.GeneralNote:
197196
# Unfortunately, timing information is being stored as IEEE 754
198197
# binary32 single-precision float, so we need to reconstruct the
199198
# original fraction to the nearest denominator to approximate its
200-
# real musical duration. This is a humongous HACK and yiends wrong
199+
# real musical duration. This is a humongous HACK and yields wrong
201200
# results for durations below the two hundred fifty-sixth note. This
202201
# duration is small enough to be considered acceptable, but...
203202
note.offset = Fraction(self.time).limit_denominator(100)
@@ -241,6 +240,7 @@ def from_part(
241240
language: The absolute start offset of the note, in seconds.
242241
tempo: The tempo correction factor; 0.5 makes it twice as slow.
243242
fill: The phoneme to use if none of the notes has lyrics.
243+
244244
Returns:
245245
An instance of this class containing the basic information required
246246
to play the given part.

poetry.lock

Lines changed: 15 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
[tool.poetry]
22
name = "blobopera"
3-
version = "0.1.0"
3+
version = "1.0.0"
44
description = "Unofficial toolkit for Google Arts & Culture Blob Opera"
55
authors = ["Helio Machado <0x2b3bfa0@googlemail.com>"]
6+
maintainers = ["Helio Machado <0x2b3bfa0@googlemail.com>"]
67
readme = "README.md"
8+
license = "GPL-3.0-or-later"
9+
homepage = "https://github.com/0x2b3bfa0/python-blobopera"
10+
repository = "https://github.com/0x2b3bfa0/python-blobopera"
11+
documentation = "https://0x2b3bfa0.github.io/python-blobopera"
712

813
[tool.poetry.dependencies]
914
python = "^3.9"

tests/test_blobopera.py

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

0 commit comments

Comments
 (0)