Old 12-23-2016, 07:03 AM   #1
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default Lokasenna's Theory Helper

I'm not that great when it comes to music theory. I know enough to get by, but figuring out chords and scales usually means having to get a pen, draw myself a fretboard, and work things out by hand.

Wait, isn't that why we have these expensive digital glorified abacuses?



The script is available via ReaPack, or you can install it the old-fashioned way by right-clicking this link right here and choosing Save As.

Release history:
Jan. 26, 2017 - Replaced by 'Theory Helper', lots of new stuff; see below
Jan. 01, 2017 - Chords can be inserted as arpeggios, added a velocity slider as well
Dec. 28, 2016 - Added buttons to cycle through a scale's modes
Dec. 26, 2016 - Added to ReaPack.
Dec. 25, 2016 - Rearranging again, added buttons to play the current scale up or down, highlight the last-played chord for each degree.
Dec. 23, 2016 - Rearranged things, added chord arpeggios (preview-only) and button tooltips.
Dec. 23, 2016 - Initial release.

Instructions:

- Run it from a MIDI editor.

- See the script's Help tab for some basic documentation. Most things also display a tooltip.

- At some point I'll think about putting further documentation here.

Let me know if you have any questions, comments, bugs, etc, and feel free to click the Donate button down below. No hard feelings if you don't; this stuff is fun anyway.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate

Last edited by Lokasenna; 03-16-2017 at 11:20 AM.
Lokasenna is offline   Reply With Quote
Old 12-23-2016, 07:11 AM   #2
zappadave
Human being with feelings
 
zappadave's Avatar
 
Join Date: Jan 2008
Posts: 1,257
Default

Looks fantastic
Will have to give this later.
Very nice christmas present. Thanks.
__________________
Music is the best
เพลง ที่ดีที่สุดคือ
zappadave is offline   Reply With Quote
Old 12-23-2016, 09:34 AM   #3
NextLevel
Human being with feelings
 
Join Date: Dec 2014
Posts: 417
Default

Thank you Lokasenna this is going to be really useful.

A few things I would'nt mind seeing added;
1) Ability to sustain chord until mouse button is released.
2) Maybe a couple of buttons next to the selected scale, buttonA previews the scale ascending, buttonB previews descending.
3) Maybe an option to preview chords arpeggiated ascending/descending.

Cheers!
NextLevel is offline   Reply With Quote
Old 12-23-2016, 10:09 AM   #4
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,691
Default

Awesome!!!!!
Sexan is offline   Reply With Quote
Old 12-23-2016, 11:43 AM   #5
kawa_
Human being with feelings
 
kawa_'s Avatar
 
Join Date: Mar 2016
Posts: 117
Default

Great! Thank you for!
__________________
web | kawaScripts | donate | twitter |
kawa_ is offline   Reply With Quote
Old 12-23-2016, 11:45 AM   #6
Mordi
Human being with feelings
 
Mordi's Avatar
 
Join Date: May 2014
Location: Norway
Posts: 987
Default

Woah, that looks great. I'll have to try this out!
Mordi is offline   Reply With Quote
Old 12-23-2016, 12:00 PM   #7
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
Default

wow this is great... only gripe is that reaper api makes you use the VMK with it... kind of a pity and wonder if the DEV's can make it so it works with whatever other midi we might be using
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva
hopi is offline   Reply With Quote
Old 12-23-2016, 12:15 PM   #8
nitrousbob
Human being with feelings
 
nitrousbob's Avatar
 
Join Date: Dec 2009
Posts: 37
Default

Very cool, i cant wait to put it into action
nitrousbob is offline   Reply With Quote
Old 12-23-2016, 12:16 PM   #9
dankan
Human being with feelings
 
dankan's Avatar
 
Join Date: Apr 2015
Posts: 17
Default great tool

I keep my fingers crossed for development of this tool made by you. Works great with ZD-scales. Thank you very much.Regards.
dankan is offline   Reply With Quote
Old 12-23-2016, 12:22 PM   #10
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Quote:
Originally Posted by hopi View Post
wow this is great... only gripe is that reaper api makes you use the VMK with it... kind of a pity and wonder if the DEV's can make it so it works with whatever other midi we might be using
Agreed. FR here: http://forum.cockos.com/showthread.php?t=185366
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 12-23-2016, 12:40 PM   #11
dankan
Human being with feelings
 
dankan's Avatar
 
Join Date: Apr 2015
Posts: 17
Default integration with midi editor

Quote:
Originally Posted by Lokasenna View Post
I'm not a script writer but user and don't entirely know is above post about this but when i turn on in midi editor snaping to the scale with open chord helper its getting hard work with.
dankan is offline   Reply With Quote
Old 12-24-2016, 12:47 AM   #12
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Quote:
Originally Posted by Lokasenna View Post
I'm not that great when it comes to music theory. I know enough to get by, but figuring out chords and scales usually means having to get a pen, draw myself a fretboard, and work things out by hand.

Wait, isn't that why we have these expensive digital glorified abacuses?



- Grab the script here.

Release history:
Dec. 23, 2016 - Rearranged things, added chord arpeggios and button tooltips.
Dec. 23, 2016 - Initial release.

Instructions:

- Run it from a MIDI editor.

- Click the "Load" button to choose a .reascale file. If you don't have any, try sample.reascale in the Reaper\Data folder.

- Click the key or scale at the top of the window to change them and see what chords are available.

- You can also change the set of chords being used, and the octave of notes being played. I'm happy to add more chords, it was just a pain deciding which ones to include.

- If you want to preview the chords, your track has to be a) Record Armed, b) Monitoring, and c) set to receive input from the Virtual MIDI Keyboard, channel 0. This is a limitation of Reaper's API at the moment; I can't find any other way to have a script play MIDI notes.

Let me know if you have any questions, comments, bugs, etc, and feel free to click the Donate button down below. No hard feelings if you don't; this stuff is fun anyway.
Jeeeez, amazing !!
vanhaze is offline   Reply With Quote
Old 12-24-2016, 01:09 AM   #13
azimuth
Human being with feelings
 
azimuth's Avatar
 
Join Date: Apr 2014
Location: The place that's round on the ends and high in the middle
Posts: 247
Default

Really nice job on this Lokasenna. It will definitely get plenty of use here, thank you.
azimuth is offline   Reply With Quote
Old 01-17-2017, 12:00 AM   #14
Germps112
Human being with feelings
 
Join Date: Dec 2016
Location: Finland
Posts: 197
Default

Quote:
Originally Posted by Lokasenna View Post
I'm not that great when it comes to music theory. I know enough to get by, but figuring out chords and scales usually means having to get a pen, draw myself a fretboard, and work things out by hand.

Wait, isn't that why we have these expensive digital glorified abacuses?



The script is available via ReaPack, or you can install it the old-fashioned way by right-clicking this link right here and choosing Save As.

Release history:
Jan. 01, 2016 - Chords can be inserted as arpeggios, added a velocity slider as well
Dec. 28, 2016 - Added buttons to cycle through a scale's modes
Dec. 26, 2016 - Added to ReaPack.
Dec. 25, 2016 - Rearranging again, added buttons to play the current scale up or down, highlight the last-played chord for each degree.
Dec. 23, 2016 - Rearranged things, added chord arpeggios (preview-only) and button tooltips.
Dec. 23, 2016 - Initial release.

Instructions:

- Run it from a MIDI editor.

- Click the "Load" button to choose a .reascale file. If you don't have any, try sample.reascale in the Reaper\Data folder.

- Click the key or scale at the top of the window to change them and see what chords are available.

- You can also change the set of chords being used, and the octave of notes being played. I'm happy to add more chords, it was just a pain deciding which ones to include.

- If you want to preview the chords, your track has to be a) Record Armed, b) Monitoring, and c) set to receive input from the Virtual MIDI Keyboard, channel 0. This is a limitation of Reaper's scripting API at the moment; I can't find any other way to have a script play MIDI notes.

Let me know if you have any questions, comments, bugs, etc, and feel free to click the Donate button down below. No hard feelings if you don't; this stuff is fun anyway.
I cliced the link how to install manually it did not gave any download
Germps112 is offline   Reply With Quote
Old 01-17-2017, 03:39 AM   #15
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 685
Default Beyond diatonic

Just brainstorming here...

How about a tab that would let you set:

1. number of chords for the progression
2. scale for the i/I chord
3. "tolerance" in number of matching scale tones for each of the other chords in relation to the i/I chord/scale
4. scales for the other chords that are within the set tolerance
5. scale degree for those chords
6. any possible chord for that scale degree (for example, can be either major or minor in non-diatonic scales)
Sju is offline   Reply With Quote
Old 01-17-2017, 05:58 AM   #16
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Quote:
Originally Posted by Sju View Post
Just brainstorming here...

How about a tab that would let you set:

1. number of chords for the progression
2. scale for the i/I chord
3. "tolerance" in number of matching scale tones for each of the other chords in relation to the i/I chord/scale
4. scales for the other chords that are within the set tolerance
5. scale degree for those chords
6. any possible chord for that scale degree (for example, can be either major or minor in non-diatonic scales)
Interesting idea, we'll have to see. My "to-do" list keeps getting bigger faster than I can work through it.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 01-18-2017, 04:34 PM   #17
cretaceous
Human being with feelings
 
Join Date: May 2010
Location: UK
Posts: 125
Default

Can anyone help me get this running

I get this error:

...s\ReaTeam Scripts\MIDI Editor\Lokasenna_Chord Helper.lua:2839: 'reaper.BR_Win32_GetPrivateProfileString' is unknown

Well.. I did get that error - but now I've lost Chord Helper from the actions.
Is there a dummy's guide to using REAPack and Chord Helper?
I've followed the REAPack web page instructions and Rob's YouTube video and REAPack seems to be installed correctly.
(am on Windows)
Thanks!

EDIT

I upgraded Reaper to latest and now I get this error:

Lokasenna_Chord Helper.lua:2839: attempt to call a nil value (field 'BR_Win32_GetPrivateProfileString')
I have SWS installed

Last edited by cretaceous; 01-18-2017 at 04:43 PM.
cretaceous is offline   Reply With Quote
Old 01-18-2017, 06:29 PM   #18
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Is your SWS up to date? I can't think of any reason you should be getting that error with SWS installed.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 01-17-2017, 05:55 AM   #19
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Quote:
Originally Posted by Germps112 View Post
I cliced the link how to install manually it did not gave any download
Make sure you right-click it, and then you should have an option that says "Save link as...", or something similar. Then save it in your \Reaper\Scripts folder as "Lokasenna_Chord Helper.lua", use the "Load" button in the Action List, and then run it like any other action.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 06-26-2017, 11:32 AM   #20
jxsh
Human being with feelings
 
Join Date: Jun 2017
Posts: 7
Default theory helper script

Hi i get this error message Lokasenna_Theory Helper.lua:5356: attempt to index a nil value (field '?') when i try to open theory helper. It would be helpful if i can get a solution thanks in advance.
jxsh is offline   Reply With Quote
Old 06-29-2017, 04:13 AM   #21
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Looks like an issue reading your scale file.

1. Do you have a .reascale file loaded in the MIDI Editor?

(check "Scale" at the bottom, then click the scale type - defaults to "Major" - and choose "Load...")

2. Is the script asking you to load a .reascale when you run it?

3. What .reascale file are you using?
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 06-29-2017, 06:35 AM   #22
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,820
Default

i am back to this again, would like to see this sorted in my machine. I provide 2 images:




The first image i want to point how that error shows in the Gui. The Second it's a message that appears when click in the button set.

Probably the separators i referred to you in another thread has something to do with this? if you need to have a remote connection on my computer, just say something!

Thank you
Attached Images
File Type: jpg Screen Shot 2017-06-29 at 14.24.03.jpg (56.7 KB, 1082 views)
File Type: jpg Screen Shot 2017-06-29 at 14.24.57.jpg (38.2 KB, 1080 views)
deeb is offline   Reply With Quote
Old 07-01-2017, 02:55 AM   #23
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

1. If you mean the "<bad string>" message... every time I think I've fixed that it shows up again somewhere else. If you click the Type box above it and choose any of the options, I believe it should go away and everything should work fine.

I'll add that to my list of things to look at, but I don't have a ton of time for really deep bug fixes right now.

2. I can only reproduce that error if I click the Set button when there are 0 results available from the current search. I'll add a check for that, but are you getting it in a different circumstance?
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 07-15-2017, 05:20 PM   #24
bigcatJC
Human being with feelings
 
Join Date: Jan 2009
Posts: 32
Default

OK folks, new to the game. I'm getting the prompt for reascale and have a sample reascale in Reaper. Is this what I'm supposed to use? If not, what do I use and where do I get it? Are they available in ReaPack?

SORRY - Should have read entire thread first - IGNORE PLEASE
__________________
Personally I'm always ready to learn, although I do not always like being taught.

Sir Winston Churchill (1874 - 1965)

Last edited by bigcatJC; 07-15-2017 at 07:17 PM.
bigcatJC is offline   Reply With Quote
Old 08-15-2017, 08:04 AM   #25
Cloudswim
Human being with feelings
 
Join Date: May 2017
Posts: 372
Default

Quote:
Originally Posted by Lokasenna View Post
I'm not that great when it comes to music theory. I know enough to get by, but figuring out chords and scales usually means having to get a pen, draw myself a fretboard, and work things out by hand.

Wait, isn't that why we have these expensive digital glorified abacuses?



The script is available via ReaPack, or you can install it the old-fashioned way by right-clicking this link right here and choosing Save As.

Release history:
Jan. 26, 2017 - Replaced by 'Theory Helper', lots of new stuff; see below
Jan. 01, 2017 - Chords can be inserted as arpeggios, added a velocity slider as well
Dec. 28, 2016 - Added buttons to cycle through a scale's modes
Dec. 26, 2016 - Added to ReaPack.
Dec. 25, 2016 - Rearranging again, added buttons to play the current scale up or down, highlight the last-played chord for each degree.
Dec. 23, 2016 - Rearranged things, added chord arpeggios (preview-only) and button tooltips.
Dec. 23, 2016 - Initial release.

Instructions:

- Run it from a MIDI editor.

- See the script's Help tab for some basic documentation. Most things also display a tooltip.

- At some point I'll think about putting further documentation here.

Let me know if you have any questions, comments, bugs, etc, and feel free to click the Donate button down below. No hard feelings if you don't; this stuff is fun anyway.
Hey when I launch the script it asks for a reascale file?
Cloudswim is offline   Reply With Quote
Old 08-15-2017, 08:08 AM   #26
Cloudswim
Human being with feelings
 
Join Date: May 2017
Posts: 372
Default

Quote:
Originally Posted by Cloudswim View Post
Hey when I launch the script it asks for a reascale file?
I have set it to snap and a certain scale but its still asking for a rescale file?

And the version is 1.32. Thanks alot!

Last edited by Cloudswim; 08-15-2017 at 08:17 AM.
Cloudswim is offline   Reply With Quote
Old 08-15-2017, 09:57 AM   #27
Anton9
Human being with feelings
 
Anton9's Avatar
 
Join Date: Jun 2009
Location: Earth
Posts: 1,340
Default

Quote:
Originally Posted by Cloudswim View Post
I have set it to snap and a certain scale but its still asking for a rescale file?

And the version is 1.32. Thanks alot!
Here ya go.., https://forum.cockos.com/showthread.php?t=75857

Have fun!
Anton9 is offline   Reply With Quote
Old 08-15-2017, 06:20 PM   #28
Cloudswim
Human being with feelings
 
Join Date: May 2017
Posts: 372
Default

Quote:
Originally Posted by Anton9 View Post
NICE!
Cloudswim is offline   Reply With Quote
Old 08-17-2017, 05:15 PM   #29
Cloudswim
Human being with feelings
 
Join Date: May 2017
Posts: 372
Default

I don't know but this dosen't seem to work, it just says unable to preview notes
Cloudswim is offline   Reply With Quote
Old 12-06-2017, 02:46 PM   #30
Johnny Rico
Human being with feelings
 
Johnny Rico's Avatar
 
Join Date: Jul 2009
Posts: 121
Default

Maybe i'm an idiot, but I don't know what to do...(first time using this script !)

Thanks
Attached Images
File Type: png Sans titre.png (57.8 KB, 376 views)
Johnny Rico is offline   Reply With Quote
Old 12-13-2017, 03:44 PM   #31
Monroy
Human being with feelings
 
Monroy's Avatar
 
Join Date: Nov 2015
Posts: 305
Default

Hi,

First of all Thank You Very Much for this addon. Is great!

But I have problem with GUI. I'm using Reaper 5.40 and I've added button with action opening Locasenna on toolbar in MIDI editor. Problem is that GUI opens above over visibility area of screen. I need click somewhere on midi editor, Locasenna GUI disappear, then click again in action button to open Locasenna again. Now I have window to choose "new instance", "terminate" and "cancel". When I click "new instance" this time GUI opens correctly on center of screen - but I need to set everything again e.g. in options etc.

How to fix this?

--- EDIT ---

This is something with GUI window positioning relative to mouse coursor. Below some examples:

1. GUI position when I open Lokasenna by clicking action button on toolbar in MIDI editor:



2. GUI position when I open Lokasenna via Action Window. Action Window is in left top corner:




3. GUI position when I open Lokasenna via Action Window. Action Window is in right bottom corner this time:




In other words - would be good if TOP Lokasenna GUI window opens where mouse coursor is or just open in center of screen. Is possible to fix this?

Last edited by Monroy; 01-14-2018 at 03:33 AM.
Monroy is offline   Reply With Quote
Old 03-12-2018, 06:30 AM   #32
scbncb
Human being with feelings
 
Join Date: Mar 2018
Posts: 1
Default Theory Helper

Hello All,

I'm new to Reaper and cannot find the url for Theory Helper. I've placed reaper_reapack64.dll in its folder, but can't find it on github. Am I missing something. Please be kind, I am smarter than I look.
scbncb is offline   Reply With Quote
Old 03-12-2018, 07:21 AM   #33
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,970
Default

A new menu Extensions > ReaPack should appear after the ReaPack DLL is installed in the UserPlugins directory and REAPER is restarted. (You can also find it in the Action List)

Search for Theory Helper in the Browse packages window, right click and choose Install:

cfillion is offline   Reply With Quote
Old 06-19-2018, 03:01 PM   #34
barbaroja
Human being with feelings
 
barbaroja's Avatar
 
Join Date: Jul 2009
Posts: 429
Default

Awesome script. A circle of fifths tab to borrow chords from other scales, and using the use of secondary dominants in chords is also super welcome.

Thanks.
barbaroja is offline   Reply With Quote
Old 06-19-2018, 08:06 PM   #35
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

- Circle of Fifths is definitely on my list of ideas, if and when I ever get around to working on Theory Helper again. I'd like to, there's just a lot of work under the hood I'd have to do before any new updates could happen.

- I had to Google "secondary dominant", since I'm not great at theory. From my reading, isn't it just the V7 of a given chord? That should be in the generated list already as one of the second degree's chords, no?
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 09-10-2018, 04:57 PM   #36
pcartwright
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,030
Default

Hey Lokasenna.

Are chords (chords used as keys) also supposed to work with theory helper? I get strange results when I try to use a chord as a key.



I selected E sus 4 as the key. This means that only E, A, and B are valid pitches. When I set the sliders based on moving "down a second" (which I take to mean moving down to the next available note in a key). The sliders seem to go all over the place. I would expect E to move down to B, B down to A, and A down to E.

Am I thinking of this wrong?
pcartwright is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 10:37 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.