Your score contains some measure(s) where the length of the contents (notes and rests) doesn't match the measure duration suggested by the time signature. For example you might have a measure containing a single quarter note in a 4/4 time signature. This is common for pickup measures that precede the start of a tune. True anacrusis is not currently supported, but you can make your score work by changing the measure duration to match the time signature, and adding rests before the pickup notes.
No, time signature changes aren't supported yet. Yes! It's still experimental, but now we should be able to handle time signature changes.
The algorithm couldn't find a valid place to play a some particular chord voicing on the guitar while respecting the string adjacency rules for the drop type of that chord. This is almost certainly because your melody went very low on the guitar and there wasn't room on the strings below it to create a drop voicing. If you haven't already, try using drop2 voicings. If you have room, you could also try raising your entire melody an octave.
I know what you mean. It's common for a melody to end on the root note and the tonic chord, but remember that the drop 2 voicing (for example) for a maj7 chord with the root in the top voice will have the 7th in the bottom voice. Unfortunately, that's a pretty rough sounding chord, especially as an ending chord for a tune. Right now that is just a limitation of the strictness of the system, and in your case it's probably a result of all the major triads being forced into maj7 chords. You might try playing around with the options to make major triads into 6 chord, or 6/9 chords, which may sound slightly better though still somewhat unresolved. Ultimately for now in this particular situation you may just have to follow your ear and introduce chord voicings that are not part of the current system - try adding a root back into the bottom of the chord!
Currently the system is entirely deterministic (other than the options menu), so given the same input it will produce the same output. In the future I'd like to have a way for advanced users to select from among possible voicing for each chord, different positions, etc., but as it says in the title... this is still a work in progress!
Yes! The system calculates a new chord voicing each time a chord symbol appears, even if it's the same as the previous chord symbol. So, for a long static chord you can repeat the same chord symbol over successive melody notes to create a new chord voicing for each note - creating a sense of movement even though the harmony is static. If you wanted to go crazy with this idea, you could specify a chord symbol for every single note in the tune, so that every note gets its own full chord voicing!
Please see the contact page and send me and email with your .mxl score file, and a description of the problem. I'll see what I can do!
This system is built mostly with music21 and LilyPond. It's worth noting that, though the magic of this application is only possible through use of these existing tools, it's also the case that some of the limitations of the system are due to limitations of these tools.
I wish. :( The current system relies heavily on systems and tricks in music21 and Lilypond that rule out generating MusicXML output. I'm open to the possibility in the future but it's outside the scope of this project to get that working (I would personally love a fully-working Lilypond → MusicXML converter).
This theme is: vereis / generic.css
Thank you! :) If you make anything awesome with it, please send it my way.
If you're interested in contributing, take a look at the project on GitHub: kwertyops / chordmelodygen
You could also contribute by sponsoring me on GitHub: sponsors / kwertyops