Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/0x2b3bfa0/python-blobopera

Toolkit to convert MusicXML files into Blob Opera scores with real lyrics.
https://github.com/0x2b3bfa0/python-blobopera

blob-opera lyrics musescore music music21 musicxml score singing-voice-synthesis

Last synced: about 3 hours ago
JSON representation

Toolkit to convert MusicXML files into Blob Opera scores with real lyrics.

Awesome Lists containing this project

README

        

Blob Opera Toolkit



test


package


license


Code style: black

## Description

Unofficial toolkit to convert MusicXML files into [Blob Opera][1] scores with
real lyrics, loosely inspired by [OverlappingElvis/blob-opera-midi][2].

## Documentation

* Full [command documentation][12].
* Generated [module documentation][19].

## Samples

* **[Adeste Fideles][5]** ([_source_][7], [_information_][6])
* **[Symphony No. 9 (Beethoven)][13]** ([_source_][15], [_information_][14])
* **[Ave Maria (Schubert)][20]** ([_source_][21], [_information_][22])
* **[O Magnum Mysterium (Brian Schmidt)][25]** ([_contributed sample_][26])
* **[Ave Verum Corpus (Mozart)][27]** ([_contributed sample_][28])
* **[Cum Sancto Spiritu - Gloria (Vivaldi)][29]** ([_contributed sample_][30])
* **[Bohemian Rhapsody (Queen)][31]** ([_contributed sample_][32])

:book:  **Want to contribute a new sample? Click [here][24]!**

## Usage

1. Create a score file:
Use [MuseScore][3] or similar to create a four-part score
(soprano, alto, tenor and bass) with a single line of lyrics and export it
to [MusicXML][4]. You can download MusicXML files from MuseScore
by using [this tool][8].

2. Install the tool:
```bash
pip install blobopera
```

3. Convert the score file:
```bash
blobopera recording import input.musicxml output.binary
```
_[(Take a look at the command-line options)][23]_

4. Upload the recording:
```bash
blobopera recording upload output.binary
```

5. Visit the generated link with your browser.

## Roadmap

* [X] Publish the package
* [ ] Add language-specific phoneme translators
* [ ] Improve the phoneme relocation logic
* [ ] Write granular unit tests
* [ ] Extend the documentation

## Contributing

1. Clone this repository:
```console
$ git clone https://github.com/0x2b3bfa0/python-blobopera
$ cd python-blobopera
```

2. Install the dependencies with [poetry][11]:
```console
$ poetry install
```

4. Run the command-line tool:
```console
$ poetry run blobopera
```

3. Run the module tests:
```console
$ poetry run poe all
```

[1]: https://artsandculture.google.com/experiment/blob-opera/AAHWrq360NcGbw
[2]: https://github.com/OverlappingElvis/blob-opera-midi
[3]: https://musescore.org/en
[4]: https://en.wikipedia.org/wiki/MusicXML
[5]: https://g.co/arts/hrjRDrpL5G7LrjRx7
[6]: https://en.wikipedia.org/wiki/O_Come,_All_Ye_Faithful
[7]: https://musescore.com/user/29729/scores/416701
[8]: https://github.com/Xmader/musescore-downloader
[11]: https://python-poetry.org/docs/
[12]: ./documentation/command
[13]: https://g.co/arts/vFxPVuuTATXNvX9F8
[14]: https://en.wikipedia.org/wiki/Symphony_No._9_(Beethoven)#IV._Finale
[15]: https://musescore.com/user/34418260/scores/6430537
[16]: https://artsandculture.google.com/experiment/blob-opera/AAHWrq360NcGbw?cp=eyJyIjoiNVNxb0RhRlB1VnRuIn0.
[17]: https://en.wikipedia.org/wiki/Mateo_Flecha
[18]: https://musescore.com/user/28092/scores/85307
[19]: https://0x2b3bfa0.github.io/python-blobopera
[20]: https://g.co/arts/xQGR5aWBwuDeGqTq8
[21]: http://www.cafe-puccini.dk/Schubert_GdurMesse.aspx
[22]: https://en.wikipedia.org/wiki/Ave_Maria_(Schubert)
[23]: ./documentation/command#blobopera-recording-import
[24]: https://github.com/0x2b3bfa0/python-blobopera/issues/new?labels=recording&template=new-recording.md&title=New+recording%3A+%7Btitle%7D
[25]: https://g.co/arts/8VGdX1SGjm2Tzyee7
[26]: https://github.com/0x2b3bfa0/python-blobopera/issues/4
[27]: https://g.co/arts/FqjgC2WJ6HyC2otv9
[28]: https://github.com/0x2b3bfa0/python-blobopera/issues/7
[29]: https://g.co/arts/77abQGtdkV72N3oW7
[30]: https://github.com/0x2b3bfa0/python-blobopera/issues/8
[31]: https://g.co/arts/NTkrPLNfAwpRQejY7
[32]: mailto:[email protected]