Kara-Moon Forum
March 28, 2024, 08:57:55 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: You can go back to the main site here: Kara-Moon site
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Anticipated chords  (Read 1442 times)
infojunkie
Jr. Member
*
Posts: 13


WWW
« on: June 06, 2022, 03:52:02 PM »

Hello!

As I work on automated conversion of music sheets to MMA, I've noticed that one tricky feature of many musical cultures (including jazz and samba with which I am familiar) are anticipated chords, which as you know occur on the previous 16th or 8th relative to where the chord is actually placed on the chart.

I was wondering if there's a recommended practice to anticipate chords in MMA. I can see two basic approaches:
- Placing the chords in their anticipated position during MusicXML => MMA conversion
- Writing an MMA plugin to anticipate the chords during MMA => MIDI conversion

Looking forward to your thoughts!!
Logged

bvdp
Kara-Moon Master
****
Posts: 1436


WWW
« Reply #1 on: June 06, 2022, 04:57:56 PM »

I've always thought of the chords as being changed on the next bar ... but the bass note is "pushed" at the end of the previous bar. So, for example (and this is not a great example) if you are switching from CM7 to Dm I would play a D bass note at the end of the "C" bar ... the point to play the note is "probably" around a 1/32 before the bar end. And, the note should hold into the next bar. All we're really doing is to make life tough for the bass player here, making him think about what's going to happen Smiley

I think that if you are going to try to anticipate when and what the next chord is going to be based on some "logic" you're going to have trouble Smiley Heck, even composers change their minds in the middle of pieces on this.

As to when to do in the conversion: I think you should do it as part of the MusicXML->MMA process. After all, if the XML source it accurate it will already have done the compensation, won't it?
Logged

My online life: http://www.mellowood.ca
bvdp
Kara-Moon Master
****
Posts: 1436


WWW
« Reply #2 on: June 06, 2022, 08:12:15 PM »

BTW, in case you missed it, all tracks in MMA can have negative offsets for the start beat. From the manual (Patterns->Start):
 
Code:
When to start the note. This is expressed as a beat offset. For example, to start a note at the start of a bar you use “1”, the second beat would be “2”, the fourth “4”, etc. You can easily use off-beats as well: The “and” of 2 is “2.5”, the “and ahh” of the first beat is “1.75”, etc. Using a beat offset greater than the number of beats in a bar or less than “0” is not permitted.

Please note that offsets in the range “0” to “.999” will actually be played in the previous bar using the chord specified at beat 1 of the current bar .....

Which makes setting up these kind of chords and/or bass patterns fairly trivial.


Logged

My online life: http://www.mellowood.ca
infojunkie
Jr. Member
*
Posts: 13


WWW
« Reply #3 on: June 11, 2022, 08:04:35 AM »

Sorry for the late reply and thanks for your advice! Yes, the start offset < 1 looks like exactly what I need.

As you can see from the attached score, it's not just the bass that can start early.


* Screenshot from 2022-06-11 01-01-49.png (88.64 KB, 1280x568 - viewed 209 times.)
Logged

bvdp
Kara-Moon Master
****
Posts: 1436


WWW
« Reply #4 on: June 11, 2022, 04:08:05 PM »

Neat. I wonder, though, are the chord symbol names correctly placed in the score? They indicate that the chord changes on beat one, but the score itself is changing on the final 16th of the previous bar. Guess that is why we have ears to listen to things and then make decisions Smiley
Logged

My online life: http://www.mellowood.ca
sciurius
Sr. Member
****
Posts: 443



« Reply #5 on: June 18, 2022, 07:34:35 AM »

I've seen this often this wa so I think it is conventional. After all the chord change officially takes please at the 1st beat of the measure, but it is played slightly advanced for effect.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.056 seconds with 19 queries.