Jump to content


Photo

New Tool (3.1) ChordGun

chord chords tool scale scales

  • Please log in to reply
22 replies to this topic

#1 pandabot

pandabot

    Member

  • Normal Members
  • PipPip
  • 21 posts

Posted 09 August 2018 - 19:03

This tool fires chords into the Pattern Editor when record mode is on, and previews chords using OSC server when record mode is off.

 

Attached Files


Edited by pandabot, 10 August 2018 - 18:32.

  • Guest_ffx_*, ghostwerk, vmuriel and 4 others like this

#2 stoiximan

stoiximan

    Member

  • Normal Members
  • PipPip
  • 60 posts
  • Gender:Male
  • Location:Greece

Posted 09 August 2018 - 20:47

This tool fires chords into the Pattern Editor when record mode is on, and previews chords using OSC server when record mode is off.

http://www.youtube.c...h?v=imMDeInH-Yg


I just hate it when people dont talk on the videos but this.....oh my god!!!Cant wait to test it.Thank you
  • pandabot likes this

#3 hermess

hermess

    Member

  • Normal Members
  • PipPip
  • 19 posts

Posted 09 August 2018 - 21:16

Thank you Pandabot for the tool !
I will hunt bugs, then you have to use “code gun”, bang bang bang ;)
(but maybe this kind of tool doesn’t contains bugs)

+ the video with explanations is always welcome for everybody.

What could be your next tool ???
Cheers
  • pandabot and stoiximan like this

#4 lettuce

lettuce

    Big Super GrandMasta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 724 posts
  • Gender:Male

Posted 10 August 2018 - 02:02

This is awesome.

Must have required a lot of hardcore studying and effort to make this.

 

What does the 'modal mixture button' do exactly?

I can see its re-ordering the chords but in what way, by what rules?


  • pandabot likes this

#5 Rpnz

Rpnz

    Big Masta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPip
  • 586 posts
  • Gender:Male

Posted 10 August 2018 - 02:12

https://www.renoise....ls/scale-finder

pretty much the same i guess?

Nevertheless, this tool is AWESOME.. can't wait to see more tools made by you!

Edited by Rpnz, 10 August 2018 - 02:14.

  • pandabot likes this
House Music All Night Long. - Say What?

#6 pandabot

pandabot

    Member

  • Normal Members
  • PipPip
  • 21 posts

Posted 10 August 2018 - 02:53

Modal mixture is for borrowing chords from other modes, so it looks at the secondary scale and add any chords from that scale that aren't already present. https://en.wikipedia.../Borrowed_chord

 

I refactored scalefinderOSC codebase to make this tool https://forum.renois...er-osc-01alpha/ but yeah scalefinder is the original. This one has some added functionality and better behavior but they are pretty similar.

 

song in the video is:

 


Edited by pandabot, 10 August 2018 - 02:53.

  • radian likes this

#7 lettuce

lettuce

    Big Super GrandMasta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 724 posts
  • Gender:Male

Posted 10 August 2018 - 03:05

Thanks for the 'borrowed chords' link. Thats very interesting.

This tool will be good for studying as well as writing music.

 

Until now I had only understood that if I am using C Major, for example, I could also use other modes with the same notes ( C Major = D Dorian, E Phrygian, F Lydian, G Mixolydian, A Aeolian, B Locrian ) but I hadnt considered borrowing chords from 'C minor' or 'another C scale' ( as those scales contain different notes to C Major ).


  • pandabot likes this

#8 Rpnz

Rpnz

    Big Masta Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPip
  • 586 posts
  • Gender:Male

Posted 10 August 2018 - 15:50

Would be cool if we could trigger a chord with one key.. just like chordz or scaler

Edited by Rpnz, 10 August 2018 - 15:51.

  • pandabot likes this
House Music All Night Long. - Say What?

#9 pandabot

pandabot

    Member

  • Normal Members
  • PipPip
  • 21 posts

Posted 10 August 2018 - 16:39

You can use the keyboard shortcuts right?
 
Although I guess it's not possible to assign the number keys without also holding a modifier key down because some of them are used for the renoise midi keyboard.
 


#10 herodotas

herodotas

    Advanced Member

  • Normal Members
  • PipPipPip
  • 112 posts
  • Gender:Male
  • Location:Forest
  • Interests:misanthropy, trekkerism

Posted 10 August 2018 - 16:44

Thanks, but i have some strange symbols in it.

Attached Images

  • wtf.jpg

  • pandabot likes this

I dont care.....


#11 pandabot

pandabot

    Member

  • Normal Members
  • PipPip
  • 21 posts

Posted 10 August 2018 - 18:33

Whoa lol, I guess your system doesn't recognize the \t escape character. I replaced it with spaces, I think that should fix it



#12 herodotas

herodotas

    Advanced Member

  • Normal Members
  • PipPipPip
  • 112 posts
  • Gender:Male
  • Location:Forest
  • Interests:misanthropy, trekkerism

Posted 11 August 2018 - 07:18

Whoa lol, I guess your system doesn't recognize the \t escape character. I replaced it with spaces, I think that should fix it

 

Symbols gone, thanks.


  • pandabot likes this

I dont care.....


#13 cantti

cantti

    Member

  • Normal Members
  • PipPip
  • 18 posts
  • Gender:Male
  • Location:Saint Petersburg, Russia

Posted 22 August 2018 - 10:49

It is looks nice (did not use it yet).

One question - how can i change chord root pitch? I think it is possible to use global oct setting in renoise, but it is not comfortable for me because i use midi keyboard to enter notes and this setting also affects it.


  • pandabot likes this

I have two music projects: Cantti (reggae dub) and Imminent State (synthwave)

 


#14 pandabot

pandabot

    Member

  • Normal Members
  • PipPip
  • 21 posts

Posted 23 August 2018 - 01:16

oh yeah it uses that global setting for the chord root pitch, so unfortunately you'll have to change that to change it



#15 M. Navas

M. Navas

    Member

  • Normal Members
  • PipPip
  • 19 posts
  • Gender:Male
  • Location:~ Freiburg
  • Interests:Music, Web Dev, Football

Posted 28 August 2018 - 16:11

Maybe I'm doing it wrong, but is there a way to hear the notes played while record mode is turned on?


  • pandabot likes this

#16 pandabot

pandabot

    Member

  • Normal Members
  • PipPip
  • 21 posts

Posted 28 August 2018 - 18:39

No unfortunately the tool doesn't work like that, if chords are previewed while record mode is on then velocity values are populated for each note with volume column visible (side effect of how notes are sent to OSC server). This wasn't acceptable for me because I like to keep the pattern editor as clean as possible, so I opted for no preview while record mode is turned on



#17 M. Navas

M. Navas

    Member

  • Normal Members
  • PipPip
  • 19 posts
  • Gender:Male
  • Location:~ Freiburg
  • Interests:Music, Web Dev, Football

Posted 29 August 2018 - 13:34

Bummer. Thanks for the tool anyway.


  • pandabot likes this

#18 Raul (ulneiz)

Raul (ulneiz)

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1599 posts
  • Gender:Male
  • Location:Spain

Posted 04 December 2018 - 11:48

No unfortunately the tool doesn't work like that, if chords are previewed while record mode is on then velocity values are populated for each note with volume column visible (side effect of how notes are sent to OSC server). This wasn't acceptable for me because I like to keep the pattern editor as clean as possible, so I opted for no preview while record mode is turned on

 

You can avoid saving the volume value of the OSC Server:

 

"Renoise: Preferences/MIDI/Velocities". Deactivate this checkbox.

 

OSC Server commands MIDI data. You can cancel any other value of this panel, even the notes OFFs or aftertouch...

 

Some comments that could help improve your tool:

  1. I think a pre-listening button would be very welcome. Be able to listen before recording.
  2. Add a virtual piano, where the keys of each chord appear illuminated. I have been developing this for my PRE tool. It is relatively easy to do.
  3. It is possible to add a value converter to convert the numbers into notes. Using tostring and tonumber. So, you can enter "C5" and it would return C-5, or D # 6 and it would return that value, or it could even show "D # 6 (+3)", or something similar.

Edit: In point one I refer to the pre-listening button of each chord, which works like this: You press the button, the chord sounds. You release the button, the chord stops. This way you can add the note OFFs also when you record.


Edited by Raul (ulneiz), 04 December 2018 - 13:13.

  • pandabot likes this

:excl: Development of my tools: Piano Roll EditorKangarooX120SamRenderPhraseTouch

 

:excl: My API wishlist R3.1 (updated 24 July 2017):

Spoiler

 

:excl: My Renoise 3.1 wishlist (updated 26 September 2017):

Spoiler

#19 Raul (ulneiz)

Raul (ulneiz)

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1599 posts
  • Gender:Male
  • Location:Spain

Posted 04 December 2018 - 13:27

A question about inversions. If a chord, for example the maj has 3 notes, may only have 2 positive and 2 negative inversions. This is not like this?

 

Without using scale:

                    Maj: C E G

1ª inversion (+1): E G C

2ª inversion (+2): G C E

 

                   Maj: C E G

1ª inversion (-1): G C E

2ª inversion (-2)  E G C

 

If the chord has 4 notes, then it could have 3 positive and 3 negative inversions. This is correct? In this way, is it possible to cover all the inversions?


  • pandabot likes this

:excl: Development of my tools: Piano Roll EditorKangarooX120SamRenderPhraseTouch

 

:excl: My API wishlist R3.1 (updated 24 July 2017):

Spoiler

 

:excl: My Renoise 3.1 wishlist (updated 26 September 2017):

Spoiler

#20 pandabot

pandabot

    Member

  • Normal Members
  • PipPip
  • 21 posts

Posted 04 December 2018 - 17:03

Oh cool didn't know about that Record & Play Filter, that does seem to solve the problem.

 

More inversion values were added to provide a greater range as a convenience, so you could easily fit a chord in a progression for smooth voice leading. For example it would be annoying if you went up two inversions and it's still not high enough, so then you have to increment the octave and lower the inversions to make it fit. This allows you to keep going past the current octave, to fit it in without having to play with two levers



#21 Raul (ulneiz)

Raul (ulneiz)

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1599 posts
  • Gender:Male
  • Location:Spain

Posted 06 December 2018 - 18:22

Oh cool didn't know about that Record & Play Filter, that does seem to solve the problem.

 

More inversion values were added to provide a greater range as a convenience, so you could easily fit a chord in a progression for smooth voice leading. For example it would be annoying if you went up two inversions and it's still not high enough, so then you have to increment the octave and lower the inversions to make it fit. This allows you to keep going past the current octave, to fit it in without having to play with two levers

 

Ok, I'm using a virtual piano with 120 notes. So, to cover all the inversions, it is enough that you go to the next octave (there would be ±2, ±3 or ±4 inversions in the chords of few notes, 3, 4, or 5 notes), since you can shoot each chord from any of the 120 piano notes (there are the 10 octaves directly).
 
What I still have doubts is how to adjust each chord according to the scale. For example, I am using tables to define each chord, of this style:
For maj (no scale): {0,4,7}. How to convert this for all the scales that Renoise offers in the Instrument Editor (Natural Major, Natural Minor, 5 tone Scales...), in order to also add the inversions?
 
I'm using this table:
Spoiler
Do you also use tables or have you used any mathematical operation for each case? I'm dealing with almost 60 different chords between 3 and 7 notes.

:excl: Development of my tools: Piano Roll EditorKangarooX120SamRenderPhraseTouch

 

:excl: My API wishlist R3.1 (updated 24 July 2017):

Spoiler

 

:excl: My Renoise 3.1 wishlist (updated 26 September 2017):

Spoiler

#22 pandabot

pandabot

    Member

  • Normal Members
  • PipPip
  • 21 posts

Posted 06 December 2018 - 19:46

I use a function that was written by either dread or suva, it seemed to work so I didn't mess with it too much

function applyInversion(chord)
  
  local chordLength = #chord
  local chordInversionValue = getCurrentInversionValue()
  local chord_ = chord
  local oct = 0  
  
  if chordInversionValue < 0 then
    oct = math.floor(chordInversionValue / chordLength)
    chordInversionValue = chordInversionValue + (math.abs(oct) * chordLength)
  end
  
  for i = 1, chordInversionValue do
    local r = table.remove(chord_, 1)
    r = r + 12
    table.insert(chord_, #chord_ + 1, r )
  end
    
  for i = 1, #chord_ do
    chord_[i] = chord_[i] + (oct * 12)
  end

  return chord_
end


#23 Raul (ulneiz)

Raul (ulneiz)

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 1599 posts
  • Gender:Male
  • Location:Spain

Posted 06 December 2018 - 20:01

 

I use a function that was written by either dread or suva, it seemed to work so I didn't mess with it too much

function applyInversion(chord)
  
  local chordLength = #chord
  local chordInversionValue = getCurrentInversionValue()
  local chord_ = chord
  local oct = 0  
  
  if chordInversionValue < 0 then
    oct = math.floor(chordInversionValue / chordLength)
    chordInversionValue = chordInversionValue + (math.abs(oct) * chordLength)
  end
  
  for i = 1, chordInversionValue do
    local r = table.remove(chord_, 1)
    r = r + 12
    table.insert(chord_, #chord_ + 1, r )
  end
    
  for i = 1, #chord_ do
    chord_[i] = chord_[i] + (oct * 12)
  end

  return chord_
end

 

Ah ok!  I think I can create my own mathematical operation for my own tables, using a valuebox with -6 to +6 for the inversion of all my chords. It is only adding +12 or -12 to a specific value of the chord according to the inversion chosen. At least I can do it easily without using any scale.

 

Thanks!


:excl: Development of my tools: Piano Roll EditorKangarooX120SamRenderPhraseTouch

 

:excl: My API wishlist R3.1 (updated 24 July 2017):

Spoiler

 

:excl: My Renoise 3.1 wishlist (updated 26 September 2017):

Spoiler





Also tagged with one or more of these keywords: chord, chords, tool, scale, scales