Kara-Moon Forum
April 29, 2024, 01:12:54 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: suggestion,add some features  (Read 7126 times)
vervethe
Newbie
*
Posts: 4


« on: February 18, 2012, 02:41:30 AM »

add some features? :

has a key sig scaletype for aria / scale / bass  track ? :
    keysig A min 0 2 3 5 7 8 10
    aria scaletype KEYSIG
    aria direction 0 -1 +2 rr r rrr 0
    ........

1 2 3 4 5 6 7 based on key sig in solo / melody riff ? :
    C [Dou ReiMi] { 4 1;8 2+;8 3-; }
    ........

add "aria pitch"  in solo / melody riff ? :
    C { 8 +rrrr;8 +1;8 -2;8 +0;8 +rrr;}
    ........

random select beatoffset ? :
    chord riff 1|1.5 4 80; 3|3.5|4 4 80;
    ........

random select riff ? :
    chord riff {1|1.5 4 80; 3|3.5|4 4 80;}|{2|2.5 4 80;}
    aria sequence {1|1.5 4 80; 3|3.5|4 4 80;}|{2|2.5 2 80;}  a1|a2
    ........

pattern rotate operator ? :
    bass define b14 1 4 80; 4 4 80;
    bass define b12 b14 rotate 1
    ........

multi-bar riffs on a single line :
    walk riff {1 4 80; 3 4 80;} {2 4 80;} {2.5 4 80;} w1
    C
    Am
    Dm
    G
    ....

calculate and get new random value at each call time,like:
    random V 80 85 75 70
    random P 2 2.5 4 4.5
    chord riff 1 4 $V ;3 4 $V ; $P 4 $V ;
    ....

define function/macro,get new value at each call time,like:
    set a c g a e
    func ea
        set r $a[0]
        set a $a[-1:10000]  $a[0:-1]
        $r
    endfunc
    solo riff 4 $ea ;8 $ea ; 8 $ea ;4 $ea ;8 $ea ; 8 $ea ;
    ....

make scaleTpye/notelist more powerful and flexible:
    aria scaleTpye  keyANDscale  //intersection
    aria scaleTpye  keyANDchord  //intersection
    aria scaleTpye  keyOrscale  //union
    aria scaleTpye  keyOrchord  //union
    aria scaleTpye 0 2 4 5 7 9 11 8    //custom notelist
    aria scaleTpye key 8    //custom notelist
    aria scaleTpye 0 0 2 4 4 5 7 7 7 9 11 8    //custom notelist with weight
    aria scaleTpye key 0 4 7 7 8    //custom notelist with weight
    ........

add 'elseif' keyword :
    if eq $$kvm 0.1      
        rndset kvm -1 0 1
    elseif eq $$kvm 0.2
        rndset kvm -2 -1 0 1 2
    elseif eq $$kvm 1.1      
        rndset kvm -1 1
    elseif eq $$kvm 2.2
        rndset kvm -2 2
    endif

bug?: 'eq r rr' is true
    set a r
    if eq $a rr
        print eq    // always print eq
    endif

strum direction and strum time of chord track with beat offset on single line:
    chord sequence {1 2 80;3 2 70;} {1 2 80;} {1 2 80;3 2 70;} {3 2 70;}
    chord strum {1 2;3 -3;} {1 -3;} {1 2;3 -3;} {3 2;}
    C
    Am
    Dm
    G
    ........

multi-bar Plectrum capo with beat offset  :
    Plectrum-Strumming capo 5 {4 4;} 2 {4 0;}
    A
    / / / E/G#
    F#m
    / / / A/E
    ........

« Last Edit: February 29, 2012, 03:07:04 PM by vervethe » Logged
bvdp
Kara-Moon Master
****
Posts: 1437


WWW
« Reply #1 on: February 18, 2012, 03:11:13 AM »

Not sure what you're after.

If you want to have notes from a scale, there is the SCALE track.

Of course, you do (at this time) need to set the scaletype to the correct one (well, the default probably works 99.99% of the time) ... since the scale selected is determined from the chord you should be getting the right notes. Right now the keysig has no effect on this.

So, assume we have scaletype set to the default, and the chord to Am. The notes used would be a,b,c,d,e,f,g. Cm: c;d;eb,f;g;a;b. Etc.

Perhaps you could give me an example of what you would like the output to be. Let's start off with a scale track. It's easier since there's little randominzing there. And what the use of the feature is (are you doing a particular type of music, writing a library file, etc)?

Please let me know.
Logged

My online life: http://www.mellowood.ca
vervethe
Newbie
*
Posts: 4


« Reply #2 on: February 18, 2012, 11:01:06 AM »

when notes is based on keysig scale,the melody is pleasant to hear.
main melody of most songs only have notes based on keysig scale rather than scales based on chords.

try:
aria sequence ........
aria direction  ........
C
Am
Dm
G
....
play

and open midi editor,move the notes not in C major scale to pitch based on C major scale
play
« Last Edit: February 18, 2012, 11:23:22 AM by vervethe » Logged
bvdp
Kara-Moon Master
****
Posts: 1437


WWW
« Reply #3 on: February 18, 2012, 05:19:11 PM »

So you are suggesting that in an Aria track:

1. Assume keysig has been set to C

2. Aria ScaleType Key

3. Now all the notes generated in an aria are base on a C Maj. scale, regardless of the chord setting.

Should be do-able.

But, will this not sound odd if in the piece we have, for example, a C7th chord (with a Bb) ... in this case the scale would be with a B and the chord with a Bb would be dissonant. Guess that'd be the users problem Smiley

Another idea might be to add a list of notes to aria  and limit the picking from the list. So, in this case we'd ignore the scaletype completely. Don't know about the syntax off the top of my head, but something like:

    aria Notelist c d e f g b

would limit to those notes.

This might be more useful. You could then have an aria based on only "C E B" or whatever.

Comments welcome.
Logged

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


WWW
« Reply #4 on: February 18, 2012, 06:26:15 PM »

Well, it was a choice between playing a bit with MMA or shoveling snow. MMA won.

The addition of KEY as a scaletype option to aria was pretty simple and is now working.

I just need to work out the docs a bit. I'm hoping to release a new version of mma this weekend. This will be included.


BTW, what I'm doing is this:

 If the scaletype for aria is "KEY":
   - get the current keysig. If not set, it'll be C Major,
   - create a chord name based on the keysig. It'll be C or Dm, etc.
   - get a list of the scale note associated with that chord. For C, that'd be (0, 2, 3, 5, 7, 8, 10)
   - use that for the notes ...

After we get the list of notes, no other logic needs to change.


Logged

My online life: http://www.mellowood.ca
Oren
Moderators Views
Kara-Moon Master
********
Posts: 5444


...just looking for clues...


« Reply #5 on: February 19, 2012, 12:26:23 AM »

Well, it was a choice between playing a bit with MMA or shoveling snow. MMA won.
Yeah!
Logged

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


WWW
« Reply #6 on: February 19, 2012, 01:33:35 AM »

Well, it was a choice between playing a bit with MMA or shoveling snow. MMA won.
Yeah!

Hey, I know where you live. You know NOTHING about shoveling snow Smiley
Logged

My online life: http://www.mellowood.ca
vervethe
Newbie
*
Posts: 4


« Reply #7 on: February 29, 2012, 02:49:07 PM »

when
    aria scaletype key
,the melody feels irrelevant to chord progression.

if notelist of aria / scale / bass  is based on the intersection of keysig and current chord ,or based on the intersection of keysig and current chord-scale,
then the melody feels harmonious to both entire song and chord progression.
what do you think of intersection? :

    aria scaleTpye  keyANDscale  //intersection
    aria scaleTpye  keyANDchord  //intersection
    ....

there are many new suggestions added on topic........
« Last Edit: February 29, 2012, 03:18:10 PM by vervethe » Logged
bvdp
Kara-Moon Master
****
Posts: 1437


WWW
« Reply #8 on: February 29, 2012, 04:30:51 PM »

I have no idea what you're getting at here Smiley Sorry.

All that MMA is doing, as I'm sure you know, is generating a list of notes to select from. These notes can be grabbed from a scale or a chord.

Then, notes are selected from the list in the Direction setting. The duration of the notes is from the Sequence.

So, you want some kind of hybrid note list based on scales and chords? I have no idea right now. You'll have to give me more details.

I'm looking out at the snow coming down, again, so I might be brain dead today Smiley
Logged

My online life: http://www.mellowood.ca
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.063 seconds with 19 queries.