Git Product home page Git Product logo

python-blobopera's People

Contributors

0x2b3bfa0 avatar git-sgmoore avatar theandrewjackson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

python-blobopera's Issues

New recording: Cum Sancto Spiritu - Gloria

This recording showcases a few things about Blob Opera:

  1. It also fits really well for fugues, or polyphonic music in general. The original feature of the blobs on the site only showcases the homophonic capability of the blobs.
  2. It works really well with Latin, as you said in the phonemes.py file, and these are the only vowels in the code, but I haven't looked into the training set of the model in particular. Do you know if other types of vowels or diphthongs are possible?

Generate audio only, locally?

Not sure about the feasibility of this,

but accepting a music XML file with lyrics and generating audio from it would be extremely useful on its own!

Is there a local and/or audio-only version/option in this project?

MusicXML issue

export it to [MusicXML](https://en.wikipedia.org/wiki/MusicXML).

When I got to the MusicXML site and not the wiki linked above there is several versions of MusicXML to download.
Which one should I choose as I dont have the software it mentions after the for?

  • Dolet® 8 Plugin for Sibelius
    Saves MusicXML 4.0 files from Sibelius Ultimate 2019.5 and later, which can be opened in Finale and MakeMusic Cloud.

  • Dolet® 7 Plugin for Finale
    Reads and writes MusicXML 3.1 files for older 32-bit Finale versions.

  • Dolet® 6 Plugin for Sibelius
    Saves MusicXML 3.0 files from Sibelius 5.1 and later, which can be opened in Finale and MakeMusic Cloud.

  • Dolet® 1 Plugin for Sibelius
    Saves MusicXML 1.0 files from Sibelius 2.1 through 5.0, which can be opened in Finale.

Are you amending your initial commit?

A friend and I want to add additional functionality to your toolkit, but it we aren't able to merge in your latest changes because your initial commit keeps changing. This causes a fatal: refusing to merge unrelated histories error when attempting to merge. We'd like to make a pull request into your repo when we're done, but we need a proper git history to be able to do that.

New recording: {title}

  • Name of the original music:
  • Author of the orginal music:
  • Link to the original score:
  • Link to the recording:

Downloading result as an audio file directly

After I upload a recording to the server, I get a link to listen to the results from a web browser, however, is there any efficient way to programmatically download the results as an audio file (ie. wav, mp3)? That would be a neat feature to integrate in your repo.

TypeError: Couldn't build proto file into descriptor pool! Invalid proto descriptor for file "blobopera/libretto_blobopera.libretto.fragment.proto":

Hello so when I ran this command blobopera recording import Sunset\ Paradise\ Season\ 1\ -\ Official\ Opening\ Piano.musicxml Sunset\ Paradise\ Season\ 1\ -\ Official\ Opening\ Piano.out, it gave me this error

Traceback (most recent call last):
  File "/usr/bin/blobopera", line 5, in <module>
    from blobopera.command import application
  File "/home/andrew/.local/lib/python3.9/site-packages/blobopera/command/__init__.py", line 6, in <module>
    from . import jitter, libretto, recording
  File "/home/andrew/.local/lib/python3.9/site-packages/blobopera/command/libretto.py", line 5, in <module>
    from ..libretto import Corpus
  File "/home/andrew/.local/lib/python3.9/site-packages/blobopera/libretto.py", line 38, in <module>
    class Fragment(proto.Message):
  File "/home/andrew/.local/lib/python3.9/site-packages/proto/message.py", line 263, in __new__
    file_info.generate_file_pb(new_class=cls, fallback_salt=full_name)
  File "/home/andrew/.local/lib/python3.9/site-packages/proto/_file_info.py", line 102, in generate_file_pb
    pool.Add(self.descriptor)
TypeError: Couldn't build proto file into descriptor pool!
Invalid proto descriptor for file "blobopera/libretto_blobopera.libretto.fragment.proto":
  blobopera.libretto.Fragment.phonemes: Fields of oneofs must themselves have label LABEL_OPTIONAL.

How to have consonnants at the end of a note before a rest?

Hi,

First and foremost, I want to say that this is a fantastic library, very well written and works like a charm! Thank you @0x2b3bfa0

I've had a lot of fun playing with it for the last couple days, but I've hit some kind of issue:
When I have a note with lyrics ending with a consonnant, followed by a rest, the blobs won't produce the sound of the consonnant.
It is especially true for some phonemes like S and Z.

Here is an example, with the song And So It Goes from Billy Joel, arranged by Bob Chilcott: https://g.co/arts/E6CEX4ruF83QyjyU6.
In the second verse, the sentences end with the words "tones" (phonemes: tonz), "pretense" (pritens), "much" (match) and "defense" (difens).
Each word is followed by a rest (wich translates to silence phonemes).
None of those ending consonnants are pronounced by the blobs.

It seems to me like this is a limitation of Blob Opera itself, but I'm curious to see if there are workarounds.

Things I've tried:

  • removing the rests (by prolonging the note at the end of each sentence up to the starting note of the next sentence): it works, but of course not for the last sentence. It also changes the song quite a lot.
  • doubling the consonnant / adding another consonnant before or after: it doesn't seem to do anything, at least not with the consonnants I've tried
  • replace the start of the rest with a very short vowel note: even with 64th or 128th notes, the blobs will sing a longer vowel (maybe equivalent to an 8th or a 16th), so the result is quite poor.

Is this something you have encountered? If so, any tips?😄

Speed is altered

I don't know if it does it so that the Blobers reproduce each note, but the speed with which they reproduce varies if the melody is very fast, reducing it towards half.

Can you play the melody at the same speed as the original?
image
American_Patrol.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.