|
|
|
03-03-2019, 05:11 PM
|
#81
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
Thanks for the feedback it's great to hear someone finds it useful !
It's suppose to be a beta test but I haven't got much feedback at all so I lost interest in it as I did'nt know if anyone was using it or not.
Yes that's in the to do list, that just needs adding into the Script: ReaTrak create midi chords from region chord name.lua I will have a look at it and Script: ReaTrak snap midi takes to chords.lua I think it needs the slash also.
For now you can save the chords
change the slash chords to normal
create the midi chord track
add the root notes manually
load the original chords
|
|
|
03-03-2019, 10:28 PM
|
#82
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
Try this and let me know
http://reatrak.com/downloads/ReaTrak...chord-name.zip
Just put it in Scripts/ReaTrak replacing the existing file.
** some of the slash notes could move up an octave depending on the chord root, I will work out a way to do that.
EDIT: this should fix it, note1 is the root of the chord
octave = note1 - slashnote
if octave > 12 then slashnote = slashnote + 12 end
...
Last edited by MusoBob; 03-03-2019 at 11:41 PM.
|
|
|
03-04-2019, 02:44 AM
|
#83
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
For Script: ReaTrak snap midi takes to chords.lua
It converts the chord name into note intervals Major chord = 0,4,7
then into a Reascale 100030050000 that the existing midi notes that start in that chord region are then snapped to.
So I just need to work out how to insert the the slash root into the Reascale.
Will have a look tomorrow when the brain is in gear.
|
|
|
03-04-2019, 05:21 AM
|
#84
|
Human being with feelings
Join Date: Mar 2015
Posts: 133
|
Thanks a lot Musobob, you're faster than light !
I will test this tonight and report.
Also, even though I've got two young children and a full time job - that is to say I don't even have time to sleep steadily - I'll do my best to help you beta-test this astonishing add-on (calling it a script does not justice neither to the power potential of it nor to the insane amount of functions available).
As for the octave range issue you highlight, I'm no coder but I can think out loud if that's of any help :
Let's add a bass note to your CMaj example, a C/F.
Could it be solved with a lazy "post-processing-inversion" approach ?
Something like :
- C/F = C + extra tone = 0,4,5,7
- Reascale = 100034500000
- Then transpose one octave lower the extra note, in this case, the fourth/eleventh ?
|
|
|
03-04-2019, 05:56 AM
|
#85
|
Human being with feelings
Join Date: Mar 2015
Posts: 133
|
I'm just realizing this approach would remove the slash tone from the upper structure if it was solely transposed - meaning a C/G would result in g-c-e instead of g-c-e-g.
The tone should be both duplicated AND transposed below.
That's a bit of a hassle... But maybe it's not necessary, in that I suppose the main usage of a chord track function is to remap notes on the fly while (re)harmonizing a track, so having a note doubled up is more a formal thing than a useful thing.
|
|
|
03-04-2019, 10:20 AM
|
#86
|
Human being with feelings
Join Date: Mar 2015
Posts: 133
|
Just tested the updated "ReaTrak-create-midi-chords-from-region-chord-name", and it works ! Thanks a lot Muso.
However, another issue came up (I can't say if it was there with the former version of the script). With a dm7b5 chord, the root note became the 7th (C) and was transposed several occtaves below. A Cm69 also made some trouble with an alien tone in root position (a C# in our case) Have a look :
|
|
|
03-04-2019, 04:35 PM
|
#88
|
Human being with feelings
Join Date: Mar 2015
Posts: 133
|
Thanks Muso, another problem solved.
Since I'm now your de-facto beta-tester, allow me to report some other tone mapping issues
I'll try to do the same for the other midi-related functions at least.
I tried some complex chords, and more than 80% went fine.
In the gif below you'll notice issues with C13b9, C13#5#11, Cmaj7add13, C7sus#5#9 respectively. Also This is not an extensive test.
|
|
|
03-04-2019, 05:42 PM
|
#89
|
Human being with feelings
Join Date: Mar 2015
Posts: 133
|
While I'm at it, you've been pretty extensive in your chord database, going as far as referencing ultra exotic chords, C13susb9#11 or the like !
The only addition I can think of would be the quartal chord.
This one as you may know is simply 3 stacked fourths (a quartal C would be c-f-Bb). I feel its inherent simplicity makes it a more often used chord than ultra-complex structures. Well, at least in Jazz and probably contemporary music. It's sometimes notated as Q4 or simply 4 (a quartal F# would be F#Q4 or F#4).
It's not to be confused with the "so what" chord which is just an inversion of a min11 chord, which means it's already there in reatrack !
A sibling chord would be the Q5, which is, you've already guessed, a stack of 3 fifhts.
Other than that, I've been testing Half of Reatrack midi actions and so far so good !
It only raised one question:
is there a reason why Transpose Chord Selection and Transpose MIDI Chord Region aren't merged ? Especially since there is an "Ignore Region" function in case one wants to leave some notes untouched ?
|
|
|
03-04-2019, 08:31 PM
|
#90
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
Thanks for your help it's much appreciated.
"Transpose Chord Selection and Transpose MIDI Chord Region"
One should be for audio and the other midi, is that you mean ?
and I will have to check those 2 as they may need the ignore @ region bit ?
EDIT: yes know what you mean now, It's all coming back to me, I just thought if you
had more midi tracks it's best to do them manually, and transpose Reaper regions manually ???
Maybe have a global Transpose ?
Yea I added Biab chords also as you can import Biab songs into ReaTrak.
Edit this > Script: ReaTrak create midi chords from region chord name.lua
You can add or correct any you like and I will update it,
just copy a line then insert it under and edit it to add a new chord,
note1 is already set as the chord root so it's just note2 and up you need to add.
This is where the chord list start in the script
Code:
if string.find(",Maj,M,", ","..chord..",", 1, true) then note2=4 note3=7 end
if string.find(",m,min,", ","..chord..",", 1, true) then note2=3 note3=7 end
if string.find(",dim,m-5,mb5,m(b5),0,", ","..chord..",", 1, true) then note2=3 note3=6 end
if string.find(",aug,+,+5,(#5),", ","..chord..",", 1, true) then note2=4 note3=8 end
if string.find(",-5,(b5),", ","..chord..",", 1, true) then note2=4 note3=6 end
if string.find(",sus2,", ","..chord..",", 1, true) then note2=2 note3=7 end
if string.find(",sus4,sus,(sus4),", ","..chord..",", 1, true) then note2=5 note3=7 end
if string.find(",5,", ","..chord..",", 1, true) then note2=7 end
if string.find(",5add7,5/7,", ","..chord..",", 1, true) then note2=7 note3=10 end
if string.find(",add2,(add2),", ","..chord..",", 1, true) then note2=2 note3=4 note4=7 end
if string.find(",add4,(add4),", ","..chord..",", 1, true) then note2=4 note3=5 note4=7 end
if string.find(",madd4,m(add4),", ","..chord..",", 1, true) then note2=3 note3=5 note4=7 end
if string.find(",11,", ","..chord..",", 1, true) then note2=4 note3=7 note4=10 note5=14 note6=17 end
if string.find(",11sus4,", ","..chord..",", 1, true) then note2=5 note3=7 note4=10 note5=14 note6=17 end
if string.find(",m11,min11,-11,", ","..chord..",", 1, true) then note2=3 note3=7 note4=10 note5=14 note6=17 end
if string.find(",Maj11,maj11,M11,Maj7(add11),M7(add11),", ","..chord..",", 1, true) then note2=4 note3=7 note4=11 note5=14 note6=17 end
if string.find(",mMaj11,minmaj11,mM11,", ","..chord..",", 1, true) then note2=3 note3=7 note4=11 note5=14 note6=17 end
if string.find(",aug11,9+11,9aug11,", ","..chord..",", 1, true) then note2=4 note3=7 note4=10 note5=14 note6=18 end
.....
.....
.....
too many to add all here
Last edited by MusoBob; 03-04-2019 at 08:47 PM.
|
|
|
03-04-2019, 08:55 PM
|
#91
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
If you don't mind you can check out/add the chords in
Script: ReaTrak snap midi takes to chords.lua
Code:
if string.find(",Maj,M,", ","..chordtype..",", 1, true) then notenums = "0,4,7" end
if string.find(",m,min,", ","..chordtype..",", 1, true) then notenums = "0,3,7" end
if string.find(",dim,m-5,mb5,m(b5),0,", ","..chordtype..",", 1, true) then notenums = "0,3,6" end
if string.find(",aug,+,+5,(#5),", ","..chordtype..",", 1, true) then notenums = "0,4,8" end
if string.find(",-5,(b5),", ","..chordtype..",", 1, true) then notenums = "0,4,6" end
if string.find(",sus2,", ","..chordtype..",", 1, true) then notenums = "0,2,7" end
if string.find(",sus4,sus,(sus4),", ","..chordtype..",", 1, true) then notenums = "0,5,7" end
if string.find(",5,", ","..chordtype..",", 1, true) then notenums = "0,7" end
if string.find(",5add7,5/7,", ","..chordtype..",", 1, true) then notenums = "0,7,10" end
if string.find(",add2,(add2),", ","..chordtype..",", 1, true) then notenums = "0,2,4,7" end
if string.find(",add4,(add4),", ","..chordtype..",", 1, true) then notenums = "0,4,5,7" end
if string.find(",madd4,m(add4),", ","..chordtype..",", 1, true) then notenums = "0,3,5,7" end
if string.find(",11,", ","..chordtype..",", 1, true) then notenums = "0,4,7,10,14,17" end
if string.find(",11sus4,", ","..chordtype..",", 1, true) then notenums = "0,5,7,10,14,17" end
.......
|
|
|
03-05-2019, 01:45 AM
|
#92
|
Human being with feelings
Join Date: Mar 2015
Posts: 133
|
Great !
I'll add some and fix the 13b9 and others if any.
Are those the only 2 lua files where chords are defined ?
Also, I know it's a beta and all but wouldn't it be more efficient if there was a global call to a definition file (the equivalent of a "include chords.h" if it was programmed in C - yeah, I did some coding 20 years ago ).
Also, if I add chords in those 2 lua files, are they going to appear in the GUI chord section ?
|
|
|
03-05-2019, 03:47 AM
|
#93
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
I think that's it just those 2 will have a look tomorrow.
In the chord scale tab I got up to Dorian I just need to add the rest.
Same in the Circle of Fifths there's still some to be added, use ReaTrak Circle of Fifths Setup.lua. (don't worry too much about them unless you are keen)
In the ReaTrak gui.lua they would need to be added to the functions & buttons.
This is the function for 69 chord and below the Functions in the script are the Buttons for that group (same with all groups)
Code:
function btn_click_69()
chord_type = "69"
chord_input ()
end
5 is tab, 16 is x pos, 130 is y pos, 85 length, 20 height of button
Code:
GUI.New("chord_Maj69", "Button", 5, 16+x5, 130+y5, 85, 20, "69", btn_click_69)
|
|
|
03-05-2019, 04:22 AM
|
#94
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
Yes I thought about a common chord db.
I still need to add all the chord aliases to the ReaTrak move and match.lua
but it's just for matching the pre recorded audio instruments tracks with the chord region names.
Also need to work out substitutions so if the chord the user enters is not available in the source tracks it will substitute one.
|
|
|
03-05-2019, 04:28 AM
|
#95
|
Human being with feelings
Join Date: Mar 2015
Posts: 133
|
Thanks a lot Muso, I'll try to check this. I'm already "fixing" some chords in the lua files, although I realize the former issue I raised with the 4th instead of the 5th in the 13b9 chord might not be an error per-se but a choice of yours, as the fifth was also there, I just didn't notice it.
But, and that's a big but, we may get to the point of a debate
Indeed you chose to add the fourth in all chords with a 13 extension, which is perfectly consistent with the fact that you also added the ninth, and of course, the seventh.
But although it's consistent and somewhat "standard" with minor chords, the 4th is considered in many musical theories (especially jazz and other contemporary theories) an avoid-note in major chords unless stipulated otherwise, and a no-go in dominant chords (if the 4th is present, then it's viewed as a sus chord, because even with the fifth in the stack, it's going to have a "sus-like" open-sound).
The same more or less applies to major chords where the 4th/11th also subtly changes the function of the chord because of this openness which sounds like a "musical question mark", it brings uncertainty as to the real character of the chord (even if the major 3rd is obviously the main contributor to the characterization of the chord, the 4th kinda conflicts with it).
But, that's my musical background and I clearly may have a strong bias, so what I say is certainly not to be taken as a gospel.
Also, this choice of yours has an advantage in that it's a convenient way to treat a chord/region as a chord-scale system, providing the script with more notes to process while reharmonizing/remapping musical material.
So, I'm just gonna focus on fixing the missing tones in the script and upload it for you and the world and make a customized lua with avoided 4th for me and myself
|
|
|
03-05-2019, 03:54 PM
|
#96
|
Human being with feelings
Join Date: Mar 2015
Posts: 133
|
Hi Musobob,
Attached to this post, you'll find my first small contribution to Reatrak.
It's mainly a few fixes for some chord tones (changes made within both lua scripts you indicated), plus an updated GUI lua file with two extra chords.
What I did :
- 7b5b13 - fixed missing m7
- 7#9#11b13 - fixed missing #11
- 7#11 - fixed missing m7
- 9susb5 - fixed wrong extra tones (13,11)
- 9susb5b13 - corrected string from "(…)sus5" to "(…)susb5"
- 9sus#11 - fixed missing #11
- 9susb5#9 - b5 was #5, fixed missing #9
- 9sus#5#11 - fixed missing tones (all except the fifth)
- 5 and 5/7 - Added octave doubled above
- maug - fixed missing #5 and m7
- quartal - Created Stacked Fourth Chord (quartal)
- sowhat - Created The "So What" Chord (3 stacked fourth + a major third)
- Those last two chords are referenced in the GUI (I've added buttons and related functions)
Now for something completely different, another bug report.
When writing a midi chord track from regions made with "New Chord at Cursor" function, every other chord is void/blank. It doesn't happen when regions are created using "New chord in selection" function, which is the function I've always used until this evening. See below for this strange output :
Last edited by Lorbakounet; 03-05-2019 at 04:00 PM.
|
|
|
03-05-2019, 05:39 PM
|
#97
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
Thanks for that ! will update and upload.
I think this may be the issue:
My region area was bigger so I could see what was happening,
the regions were overlapping when New Chord at Cursor was used so i added
Script: ReaTrak Snap all regions to grid.eel on the end
Custom: Reatrak insert one measure region
Time selection: Set start point
Move edit cursor forward one measure
Time selection: Set end point
Markers: Insert region from time selection
Time selection: Remove time selection
Move edit cursor back one measure
ReaTrak Snap all regions to grid.eel
just drag the top of the first track down to make the region lanes height bigger and you will see what it's doing.
You might be able to make a better action without having to snap
but for now this works thanks to X-Raym for the snap all regions to grid.
...
|
|
|
03-07-2019, 09:08 AM
|
#98
|
Human being with feelings
Join Date: Feb 2015
Posts: 753
|
Hi, Musobob.
I remember when you first introduced this toolset.
And I was glad to see it, but also overwhelmed by the amount of buttons in a toolbar.
I felt that I'd let this mature some and hopefully, Reaper or a fellow scripter would provide a more ergonomic interface for it. Looking at Lorbakounet's post, which seems to be using Lokasenna's GUI library, as well as his continued testing, makes me feel confident that this toolset is going in a good direction, and maybe the workflow actually is easier to adopt as well a logically sound.
I now will download it as well and start my own testing.
Any chance that this could be added to a ReaPack?
|
|
|
03-07-2019, 01:13 PM
|
#99
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
It also has a compact menu if you just want to use that, the GUI is sectioned out and easy to follow.
Yes, eventually it will make it's way to ReaPack but at the moment it's still beta and some of the scripts are a bit rough and need cleaning up.
I will upload another update soon with some added features and fixes.
Last edited by MusoBob; 03-07-2019 at 04:01 PM.
|
|
|
03-07-2019, 04:45 PM
|
#100
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
|
|
|
03-07-2019, 04:49 PM
|
#101
|
Human being with feelings
Join Date: Mar 2015
Posts: 133
|
Oh yes, by the way and about icons, UI and all, just so you know, I'm also working on a set of more conventional icons for reatrak. There's so many functions it's probably gonna take a while, but well, that's something at least
|
|
|
03-08-2019, 02:53 AM
|
#102
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
Thanks !
I was using a web button maker and joined them with Irfanview > Image > Create panorama image..
but I just found a Simple Button Maker for Reaper https://forum.cockos.com/showthread.php?t=120529 for Win Lin Mac
you can use text, graphics or text and graphics, just drag n drop the normal, mouse over and mouse down images in size it up and save.
|
|
|
03-08-2019, 05:46 AM
|
#103
|
Human being with feelings
Join Date: Mar 2015
Posts: 133
|
Thanks for the community software link Musobob. I've made custome actions in Photoshop but this utility might improve my workflow, will check !
|
|
|
03-08-2019, 02:49 PM
|
#104
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
Also here are the section hex colors if you need them, you can use an online HEX to RGB converter
E41A27 = R: 228 G: 26 B: 39
Code:
--Color code table Windows R G B
anywhere_color = 19340004 -----------------E4 1A 27 the color to signify use anywhere 0x01271AE4
count_in_color = 29393151 -----------------FF 80 C0
intro_post_fill_color = 28184951 ----------77 11 AE
intro_color = 31987359 --------------------9F 16 E8
intro_fill_color = 32342199 ---------------B7 80 ED
verse_post_fill_color = 28190481 ----------11 27 AE
verse_color = 32208439 --------------------37 76 EB
verse_fill_color = 32620145 ---------------71 BE F1
verse_ending_color = 32886935 -------------97 D0 FE
bridge_post_fill_color = 18115022 ---------CE 69 14
bridge_color = 19957226 -------------------EA 85 30
bridge_fill_color = 23373039 --------------EF A4 64
pre_chorus_post_fill_color = 18133966 -----CE B3 14
pre_chorus_color = 19976426 ---------------EA D0 30
pre_chorus_fill_color = 26732532 ----------F4 E7 97
chorus_post_fill_color = 19362827 ---------0B 74 27
chorus_color = 20688401 -------------------11 AE 3B
chorus_fill_color = 24898896 --------------50 ED 7B
chorus_ending_color = 28769950 ------------9E FE B6
drum_riff_color = 17897331 ----------------73 17 11
hold_color = 29343679 ---------------------BF BF BF
shot_color = 25132927 ---------------------7F 7F 7F
rest_color = 16777216 ---------------------00 00 00
--Color code table if NOT Windows (ie MacOS or Linux)
if os_type ~= "Win32" and os_type ~= "Win64" then
--color code table Mac R G B
anywhere_color = 31726119 ---------------------E4 1A 27 the color to signify use anywhere 0x01271AE4
count_in_color = 33521856 ---------------------FF 80 C0
intro_post_fill_color = 24580526 --------------77 11 AE
intro_color = 27203304 ------------------------9F 16 E8
intro_fill_color = 28803309 -------------------B7 80 ED
verse_post_fill_color = 17901486 --------------11 27 AE
verse_color = 20412139 ------------------------37 76 EB
verse_fill_color = 24231665 -------------------71 BE F1
verse_ending_color = 26726654 -----------------97 D0 FE
bridge_post_fill_color = 30304532 -------------CE 69 14
bridge_color = 32146736 -----------------------EA 85 30
bridge_fill_color = 32482404 ------------------EF A4 64
pre_chorus_post_fill_color = 30323476 ---------CE B3 14
pre_chorus_color = 32165936 -------------------EA D0 30
pre_chorus_fill_color = 32827287 --------------F4 E7 97
chorus_post_fill_color = 17527847 -------------0B 74 27
chorus_color = 17935931 -----------------------11 AE 3B
chorus_fill_color = 22080891 ------------------50 ED 7B
chorus_ending_color = 27197110 ----------------9E FE B6
drum_riff_color = 24319761 --------------------73 17 11
hold_color = 29343679 -------------------------BF BF BF
shot_color = 25132927 -------------------------7F 7F 7F
rest_color = 16777216 -------------------------00 00 00
|
|
|
03-08-2019, 04:13 PM
|
#105
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
If anyone needs to translate buttons Button Shop 4 is free
https://www.softpedia.com/get/Intern...ker-Aqua.shtml
It will create the three state buttons or icons, check "Use Image Button" to use icon only.
You can add new images or icons to
User\Documents\Button Shop 4
just drag n drop the normal, mouse over and mouse down images in size it up and save in Simple Button Maker for Reaper https://forum.cockos.com/showthread.php?t=120529
|
|
|
03-08-2019, 09:43 PM
|
#106
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
ReaTrak Studio beta test ReaTrak_beta.37.zip
See manual install guide on first post
or quick guide here EZ Install Guide
Right click Save Link\Target As
ReaTrak_beta.37.ReaperConfigZip
Will implement tempo mapping soon so you can ReaTrak instruments and drums to a tempo map.
beta 37
Fixed adding extra chords on the end > ReaTrak insert musicxml chords in selected midi track.lua
ReaTrak set item bpm to fit tempo map.lua (added but no button)
Fixed New Chord at Cusor snaps to grid Custom: Reatrak insert one measure region
Lorbakounet fixed and added to ReaTrak create midi chords from region chord name.lua
ReaTrak snap midi takes to chords.lua ReaTrak gui.lua :
- 7b5b13 - fixed missing m7
- 7#9#11b13 - fixed missing #11
- 7#11 - fixed missing m7
- 9susb5 - fixed wrong extra tones (13,11)
- 9susb5b13 - corrected string from "(…)sus5" to "(…)susb5"
- 9sus#11 - fixed missing #11
- 9susb5#9 - b5 was #5, fixed missing #9
- 9sus#5#11 - fixed missing tones (all except the fifth)
- 5 and 5/7 - Added octave doubled above
- maug - fixed missing #5 and m7
- quartal - Created Stacked Fourth Chord (quartal)
- sowhat - Created The "So What" Chord (3 stacked fourth + a major third)
- Those last two chords are referenced in the GUI (I've added buttons and related functions)
|
|
|
03-09-2019, 03:26 AM
|
#107
|
Human being with feelings
Join Date: Mar 2015
Posts: 133
|
Thanks for the update Musobob as well as for the links to the various buttons editors.
I'll try them out but will stick to a conventional button size so that in the end, Reaktrak blends itself within reaper (it's not an injunction to do so, it's just what I'm willing to do on my side).
A question for you, it seems to me chords and scales are generated in a procedural manner in Lokasenna's theory helper lua add-on, have you thought about this instead of manually populate the various scales (which amounts to an overwhelming effort, but also, perhaps, unnecessary)?
|
|
|
03-09-2019, 04:03 PM
|
#108
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
Yea, I just thought that Button Shop would be good if anyone needs to translate to another language.
I asked them in the French forum if they think ReaTrak should be translated in the buttons, GUI and mini menu.
I was also looking at
Reaper Guitar Midi Tool
Reaper ChordGun
with Lokasenna's theory helper do you mean modify that to enter the region at the same time ?
The Midi Chord Track function was mainly to drive a virtual instrument that has chord input like MusicLab's RealGuitars, Kontakt Akkord,
Sunburst Electric and Session Acoustics, JS Midi Strum and lots of other that use chord input.
I was trying to get around to modifying JS MIDI Strum and JS MegaBaby to work as one so users can create strum/picking patterns and upload to share.
The midi chord track can also be imported into EZkeys to give EZkeys the chords then you can replace it with any midi phrases.
|
|
|
03-09-2019, 04:16 PM
|
#109
|
Human being with feelings
Join Date: Mar 2015
Posts: 133
|
Hey musobob, didn't know you were fench native speaker, fallait le dire plus tôt
So whenever I have specific questions, I'd PM you in french from now on
|
|
|
03-09-2019, 06:49 PM
|
#110
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
Yes my French is very good, good as Google Translate can do
|
|
|
03-10-2019, 07:55 AM
|
#111
|
Human being with feelings
Join Date: Mar 2015
Posts: 133
|
Hi all, just finished a standard 32x32 icons set for ReaTrak Midi functions.
I focused more specifically on the edit functions, so, 90% of the midi edit chords "worflow" is covered.
I didn't make icons for the arrangement/intro/verse etc. Those functions are still accessible through the Reatrak GUI, which I also made an icon of, and this conveniently serves me as a "wild card" for my laziness Once again, at least that's something !
So, as far as Midi chords workflow is concerned, users can have at their disposal a small toolbar for their recurrent operations and a large one (through the GUI) for more advanced or more explicit functions.
I'll try to make another set for the audio part of reatrak once I get used to it.
The icon set as well as the MenuReaperSet is attached to this post. Hope this will be useful to some !
Edit : Updated GIF and attached zip with some fixed icons.
Last edited by Lorbakounet; 03-10-2019 at 02:18 PM.
|
|
|
03-10-2019, 09:11 AM
|
#112
|
Human being with feelings
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
|
Quote:
Originally Posted by Lorbakounet
A question for you, it seems to me chords and scales are generated in a procedural manner in Lokasenna's theory helper lua add-on, have you thought about this instead of manually populate the various scales (which amounts to an overwhelming effort, but also, perhaps, unnecessary)?
|
To clarify, Theory Helper has a very small set of chords hardcoded:
Code:
local chords_arr = {
{
-- Intervals
A_min2 = {0, 1},
B_maj2 = {0, 2},
C_min3 = {0, 3},
D_maj3 = {0, 4},
E_P4 = {0, 5},
F_dim5 = {0, 6},
G_P5 = {0, 7},
H_min6 = {0, 8},
I_maj6 = {0, 9},
J_min7 = {0, 10},
K_maj7 = {0, 11},
L_oct = {0, 12},
},
{
-- Basic
A_maj = {0, 4, 7},
B_maj7 = {0, 4, 7, 11},
C_min = {0, 3, 7},
D_min7 = {0, 3, 7, 10},
E__7 = {0, 4, 7, 10},
F_dim = {0, 3, 6},
G_m7b5 = {0, 3, 6, 10},
},
{
-- More
A_maj = {0, 4, 7},
B_maj7 = {0, 4, 7, 11},
C_min = {0, 3, 7},
D_min7 = {0, 3, 7, 10},
E__7 = {0, 4, 7, 10},
F_dim = {0, 3, 6},
G_dim7 = {0, 3, 6, 9},
H_m7b5 = {0, 3, 6, 10},
I_aug = {0, 4, 8},
J_sus2 = {0, 2, 7},
K_sus4 = {0, 5, 7},
L_sus9 = {0, 7, 14},
M_add9 = {0, 4, 7, 14},
},
}
The scales are read from the current .ReaScale loaded in Reaper's MIDI editor. ReaScale files can have chords too, so they could probably be parsed from there as well.
|
|
|
03-10-2019, 09:23 AM
|
#113
|
Human being with feelings
Join Date: Mar 2015
Posts: 133
|
No actually I was referring to a part of one the scales functions within reatrack where there's a database of scales and modes which needs to be manually populated, whatever the root is.
Something like C lydian = C, D, E, F# etc. D lydian = D, E, F#, G# etc. which can be discouraging from a scripter point of view since it could be automated with the proper transformation algorithm I presume. But I'm on the phone currently, I'll find the code extract when I'm on my workstation to further clarify myself.
Edit :
If you take a look at 'reatrack gui.lua', there's a chord/scale database which needs to be completed. But since there's so many scales and modes in the first place, we'd better prepare for more exotic scale/chords system, so I was wondering how to find the proper formula to write a code which automatically outputs every 3 and 4 tones chords per degree with a single reascale input (via defining generic intervals for scales and chords as you did and then apply it to deduct each degree 3 and 4 tones chord ?) , rather than cooking them by hand. Here's an actual snippet, you'll l understand better
Quote:
--Chord Input
--local number = GUI.Val("key_choice")
CMajor = {"C", "Dm", "Em", "F", "G", "Am", "Bdim", "CMaj7", "Dm7", "Em7", "FMaj7", "G7", "Am7", "Bm7b5"}
CsMajor = {"C#", "Ebm", "Fm", "F#", "G#", "A#m", "Cdim", "C#Maj7", "D#m7", "Fm7", "F#Maj7", "G#7", "A#m7", "Cm7b5"}
DbMajor = {"Db", " Ebm", " Fm", " Gb", "Ab", "Bbm", "Cdim", "DbMaj7", "Ebm7", "Fm7", "GbMaj7", "Ab7", " Bbm7", "Cm7b5"}
DMajor = {"D",
|
Last edited by Lorbakounet; 03-10-2019 at 02:21 PM.
|
|
|
03-10-2019, 06:59 PM
|
#114
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
Thanks for the icon set, they are very good at visually representing the function.
With the Chord Scales I was never good at mathematical algorithms, that's why I use a lot of "if thens" lol
I got the Chord Scales from RapidComposer
|
|
|
03-10-2019, 08:54 PM
|
#115
|
Human being with feelings
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
|
I may have asked this before, ages ago - is there a reason you have the scales hardcoded in like that rather than parsing a ReaScale file?
|
|
|
03-10-2019, 09:55 PM
|
#116
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
Yes, I have a deer with no eyes, I would rather pay you to do it as I seem to have to relearn it all every time I go to do something.
I go back and look at a script I made and think WTF who did this, I don't remember that ! lol
It's all your fault as I bought your How To Reascript Guides that got me into it all ! lol
Maybe some more omega-3, ginkgo biloba, caffeine ??
|
|
|
03-13-2019, 08:39 AM
|
#117
|
Human being with feelings
Join Date: Feb 2015
Posts: 753
|
Yes, please have it read from the chosen reascale.
This way, there would be no need to define scales in multiple places, and I've always use the ZD Ultimate scale set. This with Theory Helper would be a God-send for writing in Reaper. I dream of that day, that 3rd party tools like (Rapidcomposer) will not be necessary, all the harmonizing of tracks can be done right in our own MIDI Editor, and updates to audio and midi can be applied to fit chord changes. I am super grateful for the work you're doing here.
|
|
|
03-13-2019, 11:43 AM
|
#118
|
Human being with feelings
Join Date: Sep 2014
Posts: 2,643
|
I will have to get my head around what you need.
The chord scales tab in the GUI was to give you chords on a particular scale to choose from when entering a progression
same as the RapidComposer screen shot above.
If you can give a scenario what you would like to be able to do, step by step.
With ARA2 if you could access the melodyne notes as you can the Reaper midi notes then you could snap the audio to the chord track.
I just have a feeling that Reaper 6 will have a chord track and all this will have to be modified ??
|
|
|
03-16-2019, 01:35 AM
|
#120
|
Human being with feelings
Join Date: Aug 2007
Location: Near Cambridge UK and Near Questembert, France
Posts: 22,754
|
I can understand how disappointed you must be that so few of us are having a go with this. A TON of work.
Ashamed to admit that I was completely put off by the sheer number of little boxes with actions in them that came up in your original pictures, but its hard to see how you could achieve what you are without them. FWIW you have my respect and support, at least morally!
Well done.
__________________
Ici on parles Franglais
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 02:39 PM.
|