Direkt zum Inhalt

Problem importing Chord SMF

Posted

I've been slowly getting my head around this complex program. I only have a limited understanding of music theory which may be contributing to my current problem.

I am trying to import a SMF which has a great piano riff. The midi plays chords and a bass-line. For now I won't worry about the bass-line. I want to just deal with the chords. So I have edited the midi file in logic and taken out the bass notes. Also to simplify things I have divided the 16 bars into 4 bar loops and saved them as separate midi files.

The first 4 bar loop plays an Am7/G chord (although I don't really know what the /G means (something to do with voicing maybe)).

Anyway, when I import this midi file into synfire (File>Import) I leave the suggested parameters and press Start Import. What I get sounds right when played back. However, the Harmony/Progression that Synfire displays is (or at least looks wrong). That is, I know the chord I just imported was Am7/G, and sounds like Am7/G (ie sounds the same as what it sounds when played back in logic) but the progression in Synfire shows C6 5(G). So C6 5(G) is playing Am7/G?

Shouldn't the progression in Synfire be showing Am7/G or am I missing something.

Once I understand this I have some follow up questions regarding importing the file with the Base notes and also saving as an accompaniment. But first things first...


Mi., 05.05.2010 - 15:03 Permalink

Am7 and C6 share the same pitch classes (= pitch regardless of octave). Although their function in the key is different, some of their inversions sound equal.

In both cases you mentioned G being the bass: Am7/G is chord Am7 with G played as bass. The other notation C6 5(G) is not regular chord symbol notation. I guess you refer to the label in the progression. The 5 means "5th" and (G) just explains that this is the note G.

Synfire correctly recognized G as bass and the chord being either Am7 or C6. Obviously it decided for C6. Whether that is the best choice depends on the context. I would say Am7 would be more plausible, if it stood just for itself.

The choice would be easier, if either A or C was in the bass, as that would more clearly point to Am7 or C6 respectively.

Mi., 05.05.2010 - 15:05 Permalink

You can replace C6 with Am7/G in your progression without corrupting or changing anything important.

Do., 06.05.2010 - 01:38 Permalink

Thanks for the reply, but I'm still a bit confused.

You say Am7/G is the Am7 chord with G played as the bass which I understand. However, if I enter Am7/G in the chord box in Synfire the bass label shows 7 (G). Doesn't that mean the 7th is the note G so the chord would be made up of ACEG (which it sounds like when played) whereas it should be GACE if G were the bass note? Or alternatively, if my analysis is incorrect, how do I get Synfire to play GACE instead of ACEG.

I tried altering the the bass label with the "-" and "+" buttons in the progression window but that didn't allow me to select
1 (G) or result in anything that sounded like the chord I wanted (GACE).

Similarly with a G6/B Chord. When I enter this in the chord box in Synfire the bass label shows 3 (B) so presumably this means GBDE is played whereas it should be, or at least I want, BDEG?

Do., 06.05.2010 - 02:56 Permalink

What are the interval positions of the symbols and the instruments middle and low playing ranges + desired pitch? This would have an effect on what voicing is used, and automatic inversions, etc.

Have a look at this post xxFxx/viewtopic.php?p=2976&highlight=#2976 showing the visualization of the "auto-chords" interpretation mode and the effect on chord voicings when changing instrument ranges default pitches.

If you use the pink bass symbols in a figure, the lowest instrument playing range dictates the low and middle pitch tags (those two are equivalent.) Page 127 in the manual describes everything well.

Do., 06.05.2010 - 03:12 Permalink

More confusion.

Upon further analysis of what synfire actually plays back after I replace the C6 with Am7 in my progression, it's not ACEG at all. I should first explain that the phrase I imported was a 4 bar loop playing Am7/G (GACE) 5 times.

If I leave the C6 as the progression (which is what synfire recognises after the import) synfire plays back the correct sequence ie GACE 5 times.

However, when I replace the C6 with Am7/G I get the following sequence:

CEAC/EGAC/CEAC/CEAC/DEAC

???????

Do., 06.05.2010 - 04:36 Permalink

I'm not getting that behavior by generating a figure and recycling to a take and reimporting the results back into the take parameter (using auto-chords). This was just using the default GM.Electric piano and ranges.

Maybe you could attach the material you are importing?

Try laying out the chord figures like the following image. This generates GACE with almost every interpretation mode I throw at it.

(3jj_interpretation.png)

(1jj_figure.png)

(2jj_take.png)

Do., 06.05.2010 - 05:13 Permalink

Hey Keith,

thanks for all the tips. I'm not in the studio so will try out some of your suggestions when I get back there later today. I'll also send you the midi file I was importing. Might have to do with the interpretation parametrs. I have figured out a workaround, which is basically just programming the progression directly into Synfire but that doesn't help me understand what I did wrong importing the file.

Also, (if you know) if Am7/G denotes an Am7 with G as the bass note, why does Synfire play it as a straight Am7 with G as the seventh note?

Do., 06.05.2010 - 05:41 Permalink

I think like you said a lot of it probably has to do with interpretation parameters and also instrument range/default pitch, etc.

In my crude test, the notes did come out GACE, but one thing you can try is to draw in some bass symbols on the zero-line along with the chord. You can also disable inversions and get a bit more control over voicing (I think?)

For very strict or simple stuff, you can disable voice-leading on entire phrases or individual symbols.

Fr., 07.05.2010 - 04:20 Permalink

Hmm that didnt work for me. You can email it to me if you like, the address is dj @ (my domain name in my profile, minus the www..)

Fr., 07.05.2010 - 09:58 Permalink

I thought I'd bring this discussion back on-line:

[quote]For very simple things like a single chord, you can almost always do better/easier just by providing the context and copying some notes from somewhere and putting them in place so they sound good. The MIDI import is useful for importing rhythms and velocities so you can import whatever tonal characteristic later.

Ok. I was kind of thinking that myself after a bit of further experimentation.

[quote]MIDI import is like 5% of this program! It would still be incredibly if it couldn't import MIDI. :)

Yes this is an incredible program however the midi import capabilities are very important for how I want to use it. I'm a writer/producer and need to be able to import into Synfire vocal melodies/lead lines/basslines that I have written/recorded in Logic so that I can develop harmonies/progressions/variations in Synfire.

It just seems like a lot of work to get Synfire to correctly recognize a melody or bassline that I wrote in Logic. I can do it, but it is quite a laborious process and I'm just not sure if it's going to be an efficient workflow for me. That's a pity because I can see a lot of potential use out of such a program.

[quote]Usually I will do something like lay down some chords and notes without any real form or fashion (as far as tonality goes) and then just move everything into place and give it a harmonic context, using the velocity and timing only from the MIDI data.

That seems to be where Synfire really excels, but unfortunately, it's not the way I am currently looking to utilize it.

Thanks again for all your help.

Fr., 07.05.2010 - 10:55 Permalink

You left out an important part of my response. :)

I get the exact same output (as in a 100% mirror of the input) of those 4 notes when using the harmonizer manually. The only change necessary was to use the "complex" chord style instead of simple or generic. I just removed the chord changes in the harmonizer and added one manually at the start.

Here is a series of screenshots in order of importing your MIDI, running complex harmonizer on the chunk, and recycling the output back into itself to get the same output as the original input.

(1-jjharm.png)

(2-jjarr.png)

(3-jjrecycled.png)

Fr., 07.05.2010 - 11:01 Permalink

The fact that it can see a C6 from those 4 notes is very logical, it is a very possible interpretation of those notes through inversion. Am7 and C6 are even more ambiguous if there are no more notes to analyze. Cadence would be the next logical step in figuring out what else GACE could best be.

If you take a palette in your key and hold down control or command key and click steps, you can see what chords and inversions of chords are potential choices (without relying on harmonizer choices.) From there you can freeze the palette too and test them out, etc.

Also, you can import simple melodies in using static pitch (like a vocal) if you desire purity, and want to craft around that. The harmonizer will read the notes as they are...even if there is no figure!

(4-jjpal.png)

Attachments

Fr., 07.05.2010 - 12:16 Permalink

Sorry, I didn't mean to gloss over your workaround suggestion. Unfortunately I don't get the same result. Attached is an image of the phrase & figures I get after harmonizing. Don't know what I'm doing differently, but this program might just be a bit too difficult, or take too much time for me to grasp. I hate giving up on something like this but I feel like I'm: :toobad: :toobad:

(Figure from Am7.tiff)
figure_from_am7_199.tiff

Fr., 07.05.2010 - 15:26 Permalink

What version of Synfire is it?

Also, if you just move those chord segments up 2 clicks you would get GACE out of it. The horizontal zero line is the root note of the chord... Those in your pic are transposed -2.