-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature request: Ability to add chords and progressions to sequencer patterns #1311
Comments
I may have misunderstood but it looks like this is a collection of standard MIDI files. A user may upload these using webconf but there is an issue that they currently need to be done one at a time. (You can upload the zip but the MIDI player and zynseq import does not handle the resulting folder structure.) If the request is to use the progressions app then I don't see it as fitting in the zynthian workflow. Maybe there should be a better integration between smf files and zynseq to allow them to be selected directly rather than imported... but there is some work to do to make that a reality. Please be more descriptive of the workflow you would like to see implemented. |
Ok, my fault. The script itself doesn't make sense. |
Audio files are presented as zynsampler presets with subfolders shown upto a depth of 2. We could do similar with MIDI. The depth may want to be higher to allow more catagorisation of files. |
I don't think that providing thousands of SMF is a good solution. These are basically variations on a few simple rules which can be created programmatically. It may be a better option to offer the ability to add notes to a pattern using an algorithm. This could be presented in a similar tree structure but the notes would be generated and added to the pattern rather than copied from a template. I think the project referenced has a python generator so we come borrow that code to integrate it into zynthian. |
Which way ever would be easier to implement. The result would be the same so never mind... 1 directory, 12 files The beats where converted from "MMA - MIDI Music Accompaniment" (https://www.mellowood.ca/mma/index.html). |
I started to work on this in a dev branch. I implemented this workflow:
The idea is that you can insert chords or progressions into a pattern. If you want to create a new pattern then you may use the menu option to clear the current pattern and add what you want. You can add chords or sequences of various lengths at various positions within the pattern. I have only implemented the following chords so far but more could be added:
I have not started on progressions (but may do soon). How does this sound? |
Sounds great! That was exactly the idea I had. |
I have added the option to add triad and seventh chords from the diatonic key, centred around the selected tonic. This may allow selection of chords that work well together in the classical or popular style. I started using the same module as the suggested app uses but it is flawed and use is needlessly complex so I reverted to building the chords from static templates. I used similar techniques in some chord plugins I wrote earlier this week. A possible enhancement suggested to me is to select the chord type or diatonic key, then for the potential notes to be highlighted on the grid as the cursor is moved, similar chords allowing chords to be added without needing to reopen the menu. This would require more complex implementation but may be a layer option. My current poc implementation is a bit awkward, requiring repeated access to menu, scroll to select option, select insert type then select chord. |
I changed the title of this ticket to better reflect the request. I have implemented a better workflow. There are now two extra note editor parameters: "Chord mode" and "Chord type" or "Tonal Centre (tonic)". Chord Mode has options:
Chord Type is a list of chords, e.g. Major Triad, Minor, Seventh, etc. Tonal Centre is a list of keys, e.g. C, C#, D, etc. This works much better. You can enable chord entry mode, select the chord type and then add / remove chords in the grid where you want them. It is a rapid workflow for adding chords and provides the two operating modes: absolute chords or diatonic tonal harmonly chords . This is commited to the dev branch. There are some things to fix but it mostly works. I have not yet considered how we would do progressions. Maybe there would be more options in the chord mode for types of progression and then chord type parameter would list the progressions within that catageory. Clicking on the grid could add the progression, from the clicked step, in the key of the clicked row. |
I think inserting chord at current postion in pattern is now working well and makes sense. A user can consider what chord they want and add it with immediate audio feedback (the chord is played) and ability to undo (just reselect the chord or use the undo feature in pattern editor). Offereing absolute chords and tonal chords gives a good range of options. This is implemented in dev. We could expand to also offer modal rather than tonal chords. I am finding the concept of adding progressions more challenging. The implementation can be done in a similar way, using templates of sequences of notes to insert at the cursor, including time and pitch offset but how would a user decide what progression they want? How would they be named and would a user understand what they are asking for? Would all users want the same set of progressions and how could they be organised to allow users to access them in a logical and intuitive way? Would the progressions become outdated or the collection become too large to manage? (Old Bontempi organs are known for their cheesy accompaniment rhythms like bossa nova, tango, and rock.) |
Great! Will test as soon I'll be back at my Zynthian. |
Just searched for the possibly correct branch in the versions dropdowns. I assume your branch is currently github only? |
I just merged into vangelis so no need to use dev branch. |
I am fairly happy with the chord insertion and have posted in the forum to allow users to get involved with testing. We can continue to track issues here for a while, e.g until it is deemed stable (probably by me). I want to move this ticket to the subject of progressions. This may be sufficiently different to warrant its own ticket, in which case we could mark this as resolved and open a new ticket. @tithrion please consider this. Regarding progressions, I don't have a feel for how, or indeed why this should be implemented so it may benefit from a discussion in the forum. Again, @tithrion please consider this point and start that discussion. Actually - having written all of this I now feel that we should definitely separate the requests so I am marking this ticket as resolved, pending release and await the discussion and/or feature request for progressions. |
Is your feature request related to a problem? Please describe.
Found the MIDI package (Beats, Chords and Progressions in MIDI) useful when working with Ardour.
Here it is installed as ardour-media-.extra (or from http://stuff.ardour.org/loops/ArdourBundledMedia.zip)
Originally it comes from https://github.com/ldrolez/free-midi-chords
or https://github.com/ldrolez/free-midi-chords/releases and is MIT licensed.
The beats in the Ardour set were generated with MMA and are CC-by-0 licensed.
Describe the solution you'd like
To install it should be easy, but an integration of some kind (maybe directly selecting rhythms, chords or progressions from a zynseq context menu directory structure) could be really cool.
Describe alternatives you've considered
Installing and using by myself, but currently I don't have "Import from SMF" in the Pad context menu and the feature might be of use for more musicians?
Additional context
Add any other context or screenshots about the feature request here.
The text was updated successfully, but these errors were encountered: