Old 11-30-2017, 08:40 AM   #1
Flaneurette
Human being with feelings
 
Join Date: Dec 2016
Posts: 373
Default ReaChorder Extension - Part II.

I've opened this new thread for Reachorder, as the other one is getting somewhat dated and confusing.

What is ReaChorder?

ReaChorder is a Python extension/plugin that enables you to generate songs in MIDI format. It does this by applying music theory. You can choose song formula, the key and whether it needs to be Major or Minor. It then uses the circle of fifths to propose chord progression and randomly chooses and combines different chord inversions, melodies and bass lines. So each time you press the button, you get something completely new. Sometimes it sounds cool, sometimes random and not so cool. It can generated chords, melodies, bass lines and drum patterns all at the click of a button. It also comes with many drum-patterns.



ReaChorder works best on Windows. Although some MAC users successfully run it, there is no guarantee

ReadMe on Github:
https://github.com/flaneurette/ReaCh...ster/README.md

Updated ReaChorder.

What is new:

- better error checking
- new song progressions: primes & Fibonacci sequences
- preparations for markov progressions and melodies
- harmony checkbox.
- GUI updates

Download links.

Script zip:
https://github.com/flaneurette/ReaCh...ads/master.zip

Binary installer for Windows:
https://github.com/flaneurette/ReaCh...ReaChorder.exe

ReaPack:
Locate ReaChorder in ReaPack and add into the MIDI editor.

Minimum required software
Reaper 4.5.2+: http://reaper.fm/
Python 3.3: http://www.python.org/download/releases/3.3.0/
SWS extension v2.4.0 #1: http://www.standingwaterstudios.com/

Any version above or below might work, but is not tested.

Tutorials on how to install Python and debug it
Install Python on Windows: https://www.howtogeek.com/197947/how...on-on-windows/
How to install Python for Reaper: http://forum.cockos.com/showthread.php?t=127110
Mac OS tkinter issues? See: http://www.python.org/getit/mac/tcltk/
Stackoverflow Python questions: https://stackoverflow.com/questions/tagged/python
Old ReaChorder thread: https://forum.cockos.com/showthread.php?t=128316

Support
I cannot give support on Python, Windows or Mac. As I do not have the resources or time to test all possible configurations. If you want to know how to install Python, then follow the above links. If it still doesn't work, please open a new thread or ask on Stackoverlfow where many Python experts can answer your questions. So please, only post bug reports relating to the extention and/or Reaper itself. This keep this thread tidy and on-topic.

ReaChorder in Action:



Animated Images/Clips are kindly hosted by www.giphy.com

Audio demo
Quick example of what it came up with: https://stash.reaper.fm/32336/BetterMelody.mp3

-

Last edited by Flaneurette; 03-30-2022 at 11:56 PM.
Flaneurette is offline   Reply With Quote
Old 11-30-2017, 08:44 AM   #2
Flaneurette
Human being with feelings
 
Join Date: Dec 2016
Posts: 373
Default

Quick installation guide

Step 1
Move the contents of the .zip to your /Scripts/ folder in Reaper. For Windows this can be: C:\Users\<username>\AppData\Roaming\REAPER\Scripts



Step 2

Import the ReaChorder.py into the action window (new/load).

Then you can load it in the MIDI piano-roll editor, or add script action to the toolbar as a shortcut. (right click on the toolbar in the MIDI editor). It must be called from the MIDI piano-roll editor.

Flaneurette is offline   Reply With Quote
Old 11-30-2017, 09:48 AM   #3
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

Thanks for sharing !

Did you made any update to it ?

IMHO, you should bump the old thread too, so that users who wanted a notifications at the thread updates get ware of this new thread !
X-Raym is offline   Reply With Quote
Old 12-02-2017, 10:04 AM   #4
sonicowl
Human being with feelings
 
sonicowl's Avatar
 
Join Date: Oct 2015
Posts: 739
Default

Hi.

I get error: (FIXED, see edit below)
Code:
Script execution error

Traceback (most recent call last):
  File "ReaChorder.py", line 6, in <module>
    from wizard_section import Wizard
  File "C:/Users/Me/AppData/Roaming/REAPER/Scripts/ReaChorder\wizard_section.py", line 1, in <module>
    import tkinter
ImportError: No module named tkinter
I think I followed your install instructions properly. Any idea what I did wrong? I have Python 2.7 installed - could that be the reason?

EDIT. Nevermind, I installed new python 3.6 and set correct path, now is all fine. THNX for this great script.

Last edited by sonicowl; 12-02-2017 at 10:33 AM.
sonicowl is offline   Reply With Quote
Old 12-03-2017, 12:44 PM   #5
Flaneurette
Human being with feelings
 
Join Date: Dec 2016
Posts: 373
Default

Short explanation of functions.



When clicking "Draw into MIDI take", it's possible to keep clicking it. Each click will produce a new structure. What happens inside, is that ReaChorder will go through all possible chord inversions. This extends our possibilities dramatically. The down side, is that it can sound rather jumpy at times. In the next major version we will add a function where one can select certain inversions, and maybe an option to let all chords hoover around a common note or tonic.


-

Last edited by Flaneurette; 12-03-2017 at 01:13 PM.
Flaneurette is offline   Reply With Quote
Old 12-03-2017, 02:18 PM   #6
Flaneurette
Human being with feelings
 
Join Date: Dec 2016
Posts: 373
Default

Another quick tip:

I use Edirol (Roland) Sound Canvas VST as an FX on a single track. All the MIDI data/channels are being played through it. It's a quick and easy way of listening to the output without having to load multiple tracks.

There are also free alternatives:

Synthfont sf2 player
http://www.synthfont.com/
32bit: http://www.synthfont.com/VSTSynthFontSetup.exe
64bit: http://www.synthfont.com/VSTSynthFont64Setup.exe
Others
http://www.best-free-vst.com/plugins...-player-01.php
http://www.creative.com/emu/proteusvx/

The aim is not extremely realistic instruments, but rather a quick way of hearing the output without doing too much effort in the song sketching phase.

-

Last edited by Flaneurette; 12-03-2017 at 02:54 PM.
Flaneurette is offline   Reply With Quote
Old 12-04-2017, 06:56 AM   #7
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

I am willing to pay generously for any mac user that has this script working.

My troubles already begin by trying to let Reaper recognize Python V3 .dylib instead of the python 2.7 .dylib, which comes with OSX.

A step by step explanation of the complete howto would be really wonderful.
__________________
Macbook Pro INTEL | Reaper, always latest version | OSX Ventura | Presonus Studio 24c
My Reaper Tips&Tricks YouTube Channel: https://www.youtube.com/user/vanhaze2000/playlists
vanhaze is offline   Reply With Quote
Old 12-04-2017, 08:33 PM   #8
JamesPeters
Human being with feelings
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
Default

vanhaze: I am using a PC (Windows) so I don't know if this will help, but I recently struggled to get Python 3.6.3 recognized by Reaper...because I had been installing the 32-bit Python version instead of the 64-bit version (I use 64-bit Windows and 64-bit Reaper). Derp. Their default download link for Windows users was the 32-bit version so I didn't realize that (I thought it auto-detected my version of Windows but I was mistaken). So I'd recommend checking the list of Mac releases and seeing if you chose the correct version for your OS:

https://www.python.org/downloads/mac-osx/

Flaneurette: Thank you for making this extension!

I have a question or possibly a request.

For the Drum tab, I see it generates the MIDI notes based on a preset list of notes per kit piece (presumably GM). I don't use GM for drums, so I'm wondering if it's possible to edit one of the extension's files to my specific drum map(s). Or if this is a feature that can be added so it can be done from the Drum tab.
JamesPeters is offline   Reply With Quote
Old 12-04-2017, 10:57 PM   #9
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Thx for your help !
But i am sure i installed the right version of python:

I installed the 64bit version, cause i use 64bit version of Reaper.
__________________
Macbook Pro INTEL | Reaper, always latest version | OSX Ventura | Presonus Studio 24c
My Reaper Tips&Tricks YouTube Channel: https://www.youtube.com/user/vanhaze2000/playlists
vanhaze is offline   Reply With Quote
Old 12-05-2017, 07:32 PM   #10
Flaneurette
Human being with feelings
 
Join Date: Dec 2016
Posts: 373
Default

Quote:
Originally Posted by JamesPeters View Post

Flaneurette: Thank you for making this extension!

I have a question or possibly a request.

For the Drum tab, I see it generates the MIDI notes based on a preset list of notes per kit piece (presumably GM). I don't use GM for drums, so I'm wondering if it's possible to edit one of the extension's files to my specific drum map(s). Or if this is a feature that can be added so it can be done from the Drum tab.
Correct.

In the file: reaChord_data.py we have this setting at line 86:

Code:
    # This is how we map the drumkit.
    # The value is the midi pitch.
    # The index is the translation from the canvas indices.
    # If the canvas order of indices change, we need to reorder each item here, from top to bottom.
    # To change mapping, only edit the value, !not the indice order!

    generalMIDIMap = [
        [41], 	# Floor Tom 2
        [43], 	# Floor Tom 1
        [55],	# Splash cymbal
        [51], 	# Ride Cymbal
        [42], 	# Hi-Hat Closed
        [46], 	# Hi-Hat Open
        [38],	# Snare Drum
        [36] 	# Kick Drum
    ]

The first values represent the MIDI note. It's possible to edit these in the code if you wish... or, if you feel comfortable in editing code.
Flaneurette is offline   Reply With Quote
Old 12-05-2017, 11:47 PM   #11
JamesPeters
Human being with feelings
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
Default

Quote:
Originally Posted by Flaneurette View Post
Correct.

In the file: reaChord_data.py we have this setting at line 86:

Code:
    # This is how we map the drumkit.
    # The value is the midi pitch.
    # The index is the translation from the canvas indices.
    # If the canvas order of indices change, we need to reorder each item here, from top to bottom.
    # To change mapping, only edit the value, !not the indice order!

    generalMIDIMap = [
        [41], 	# Floor Tom 2
        [43], 	# Floor Tom 1
        [55],	# Splash cymbal
        [51], 	# Ride Cymbal
        [42], 	# Hi-Hat Closed
        [46], 	# Hi-Hat Open
        [38],	# Snare Drum
        [36] 	# Kick Drum
    ]

The first values represent the MIDI note. It's possible to edit these in the code if you wish... or, if you feel comfortable in editing code.
Thank you! I see I have an editor installed, "Idle"...I guess it installed with Python. That should work for me.
JamesPeters is offline   Reply With Quote
Old 12-13-2017, 11:59 PM   #12
Flaneurette
Human being with feelings
 
Join Date: Dec 2016
Posts: 373
Default

Quote:
Originally Posted by JamesPeters View Post
Thank you! I see I have an editor installed, "Idle"...I guess it installed with Python. That should work for me.
I am thinking about making this editable in a settings tab.
Flaneurette is offline   Reply With Quote
Old 12-25-2017, 05:35 PM   #13
Flaneurette
Human being with feelings
 
Join Date: Dec 2016
Posts: 373
Default

A new update to ReaChorder.

Download: https://stash.reaper.fm/31944/ReaChorder.zip

Remember to make a backup of your old version, as this will overwrite the drumpatterns file and other changes you might have made. Also, saving MIDI channels is not yet possible.

Changes:

Chord Tab:
+ New option to choose between chord inversions:
Inversion option: All, Root + 1st, Root + 2nd, 1st only, 2nd only, Root only.

Bass Tab:
+ Option to choose octave
+ Option to choose strumming pattern: whole, half, quarter.


I also made a short video, of me demonstrating and composing a basic orchestral piece using ReaChorder.

Video: https://www.youtube.com/watch?v=khycGPdvpnk


-
Flaneurette is offline   Reply With Quote
Old 12-25-2017, 11:50 PM   #14
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Thanks for sharing. Having these film music chords built in might be useful, like two chord progressions with given distance, see also arpeggiation technique in second video:
https://forum.cockos.com/showthread.php?t=200878


Here a direct jump to the interesting part:
https://www.youtube.com/watch?v=AD6dA-qU_uw&t=3m30s

Later if reaper gets this, wonderful:
https://forum.cockos.com/showthread.php?t=201151

Cool bicycle videos!

Last edited by TonE; 12-26-2017 at 06:54 AM.
TonE is offline   Reply With Quote
Old 12-26-2017, 01:53 AM   #15
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Sorry to do a mac bump, but still no mac user out there that has this beauty up and running succesfully in Reaper ?

Merry Xmas !
__________________
Macbook Pro INTEL | Reaper, always latest version | OSX Ventura | Presonus Studio 24c
My Reaper Tips&Tricks YouTube Channel: https://www.youtube.com/user/vanhaze2000/playlists
vanhaze is offline   Reply With Quote
Old 12-26-2017, 04:02 AM   #16
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Did you install tkinter, what is the new error message?
TonE is offline   Reply With Quote
Old 12-26-2017, 04:19 AM   #17
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

I have installed Python OSX 3.6-64bit (i use Reaper 64bit).
Now, For Starters, i can't even let Reaper recognize the python 3.6 dylib file.

i tried with lower versions of Python v3 also , same issue.
The proces (on mac) in Reaper Prefs > Python, to let Reaper recognize a certain python version is utterly vague to me.
__________________
Macbook Pro INTEL | Reaper, always latest version | OSX Ventura | Presonus Studio 24c
My Reaper Tips&Tricks YouTube Channel: https://www.youtube.com/user/vanhaze2000/playlists
vanhaze is offline   Reply With Quote
Old 12-26-2017, 06:21 AM   #18
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Sorry no mac here, did not test this yet, but just for the fun of it, will test it now in wine in ubuntu 14.04 lts, 32-bit of windows Reaper in wine, reporting back here how it went.

UPDATE:
Which python do I have?
: python --version
Python 2.7.6

Let us try with this older python version first, maybe it will work even the requirements tell python 3.3+ is needed.

Putting ReaChorder.zip content into Scripts directory.

Going to action list, loading the py file. All supported files shows only .eel and .lua, so have to activate python somewhere first. Options, Preferences, Plug-ins, ReaScript. No compatible version of Python was found. Ok, have to install it for wine extra. Then I can install v3.3 instead. Let us take the closest version number then Python 3.3.5 - 2014-03-09 from this link:
https://www.python.org/downloads/windows/

I take the 32-bit version: http://www.python.org/ftp/python/3.3.5/python-3.3.5.msi
(20.7 MB in size), installed for all users.

Closing, restarting Reaper shows now Python: python33.dll is installed. Good. Now I check "Enable Python for use with ReaScript". Apply. OK.

Back to action list, now the file types list showing also 'Python files (*.py)', great. Select ReaChorder.py, open. Run 'ReaChorder.py' and the window opened, no error messages. Wonderful.

Quick test if it works. Create an item, open in midi editor. Run ReaChorder.py, yes it works. Whatever tab you enable with 'Draw' is drawn after a 'Draw into MIDI take' click.

vanhaze, my friend, you could try something similar maybe, just taking the closest older version of python, not the latest. Ok I had windows version which was tested. Now some mac user should hopefully report here how they could get it working. Come on mac and ReaChorder users, help vanhaze, thanks.

Last edited by TonE; 12-26-2017 at 06:49 AM.
TonE is offline   Reply With Quote
Old 12-26-2017, 07:12 AM   #19
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Quote:
Originally Posted by Flaneurette View Post
Another quick tip:

I use Edirol (Roland) Sound Canvas VST as an FX on a single track. All the MIDI data/channels are being played through it. It's a quick and easy way of listening to the output without having to load multiple tracks.

The aim is not extremely realistic instruments, but rather a quick way of hearing the output without doing too much effort in the song sketching phase.
Yes, YXG vsti is another suggestion. Having piano output is best anyway, at least for comparing stuff against each other independently of sound. Using 'piano' as neutral or universal sound.

For hardware JV-1080 or JV-1010 might be good options.

Flaneurette, thanks a lot. Now time to explore this a bit more. Wondering where this will develop into.

Great is the beats are defined as simple .json file. Someone could make a .mid to .json converter but not sure if this is really needed for quick prototyping. Only if you are bored with the available beats after some time, you could bring in some new beats quickly.
TonE is offline   Reply With Quote
Old 12-26-2017, 07:52 AM   #20
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

scales.py contains 'only' around 330 scales. Here a list with around 2300 scales.

PHP Code:
|111101010110|Adonai Malakh (Israel2b 1#
Chord Cm9b6sus4 Gregorian Scale 2Assari Thaat (India), Se (ChinaKitmun (Sumarian)|101101011010|Aeolian Natural MinorAsavari Asc NatsA to G
|100110101101|Aeolian 2# 4# #5
|101101111001|Algerian
|110001010100|Altered Pentatonic
|110110000000|Alternating TetraMirror
genus tertium Raga Devamani
|100110011001|AugmentedMessiaen Truncated Mode 3 2457Inverse
|110100011000|BalinesePelog 1 
|110010110000|Balinese Pentachord (as 7/346/1 in 12edo)
|
110110010100|Blues Dorian Hexatonic
|101111110110|Blues Enneatonic
|100101110110|Blues Heptatonic
|100101110010|Blues Minor same as 7/23/7 in 12edo)
|
100101110001|Blues Minor Maj7
|101101110010|Blues Modified
|101101110110|Blues Octatonic
|111101000000|Blues PentaCluster 2b's 1#
Chord Cm11 - Pyongjo Kyemyonjo (Korea) Minyo (Japan)|100101010010|Blues Pentatonic Minor, Hard Japan descending
|110101110010|Blues Phrygian (same as 7/3/7 in 12 edo)
|100101110011|Blues with Leading Tone
|100111001000|Center-Cluster PentaMirror
|101001001010|Chaio (same as 6/26/5 in 12edo)
|100010110001|Raga Malashri (India) & Chinese
|111011010111|Chromatic Bebop
|111111111100|Chromatic DecaMirror all except A# & B 6# 7
as 8/0/6 in 12edo|111101011110|Chromatic Diatonic Dorian (#1,b3,#5,b7)
Raga Kanakambari (India)|111001011100|Chromatic Dorian
|100111010011|Chromatic Dorian Inverse Raga None (India)
|111111100000|Chromatic HeptaMirror #'
s
|111111000000|Chromatic HexaMirror all #
|101110011100|Chromatic Hypodorian
|100111001110|Chromatic Hypodorian Inverse
|110010111001|Chromatic HypolydianPuravi bVI
|110011101001|Chromatic Hypolydian InversePersian
|111001110100|Chromatic Hypophrygian Inverse
|110011001010|Theoretical No Known Name
|110100111001|Chromatic Lydian InverseTodi bVI
|111010110010|Chromatic Mixolydian
|101001110011|Chromatic Mixolydian Inverse
|111111111000|Chromatic NonaMirror
|111111110000|Chromatic OctaMirror
|111110000000|Chromatic PentaMirror
|111011011101|Chromatic Permuted Diatonic Dorian
|100111001011|Chromatic Phrygian
|111010011100|Chromatic Phrygian Inverse
|111100000000|Chromatic TetraMirror
|111000000000|Chromatic TriMirror
|111111111110|Chromatic UndecaMirror All except 7th all sharp Bb
|100100100000|Diminished Chord
|100100100100|Diminished 7th Chord3 Semitones
|101101101101|Diminished
|101011010111|Dominant Bebop
C9 chord
|101010010010|Dominant Pentatonic
Chord Cm69sus4 
Eskimo Heptatonic (NAmericaKafi Thaat (India), Embulum (Sumerian)|101101010110|DorianKafi D to C ascnaturals
|101101011110|Dorian Aeolian (as 7/0/5 in 12 edo#5
|101101100110|Dorian b5
Akebono 
(Japan)|101100010100|Dorian PentatonicKumoi Japan
|101101000000|Dorian Tetrachord
Ukrainian minor Raja
Dorian with a sharp fourth|101100110110|RomanianGnossiennes
|110101100100|Double-Phrygian Hexatonic
|101001010010|Egyptian Suspended Pentatonic
as 10/23410/1 in 12 edo|110010101011|Enigmatic Ascending (b2,#4,#5,#6)
|110100101011|Enigmatic Minor same as 7/7/8 in 12edo)
|
101010101100|Eskimo Hexatonic 2
|101010010000|Eskimo Tetratonic
|101101011111|Full Minor (enharmonic b6 b7)
|
110111011101|Genus Chromaticum
Chord CMaj6sus4
|100011010101|Genus Secundum
|110001101110|Gipsy HexatonicRaga Kalakanti
|110110110110|Half-DiminishedSymmetricBlues Dim
|
101001011000|Han kumoi (Japan)
|
101011011001|Harmonic Major 1EthiopianNat Bhairava
|101011001101|Harmonic Major 2Ionian #5
|101101011001|Harmonic Minor
Maqam Hicaz 
(Arabia)|110011010110|Harmonic Minor Inverse or Bhairav
|101100100000|Harmonic Minor Tetrachord
|111101011001|Harmonic Neapolitan Minor 2b1#
Nando Kyemyonjo (Korea) &#8226; Minor Pentachord|101100010101|Hawaiian
|100011000101|Raga Bhinna ShadjaHindolita (India)
|
101100011000|Hirajoshi Japan
|110101100010|Honchoshi Plagal Form
|101111011110|Houseini (Greece)
|
100111010101|Houzam (GreeceRaga SaildesakshiTrishuli (India)
Mela Sanmukhapriya (India)|101100111010|Hungarian GypsyDamian Emmanuel
|100110110110|Hungarian Major Raga Nasamani (India)
Maqam Nawa Athar (Arabia), Double Harmonic MinorNiavent (Greece)|101100111001|Hungarian Minor
|111100111001|Hungarian Minor b2
|110110011010|IndianPhrygian dim 4th
Chord CMaj69sus4 
ThaatNid Murub (Sumerian)|101011010101|IonianMajorBilaval C to B ascnats.
Chord CMaj7sus4|100011010001|Ionian Pentatonic Raga Gambhiranata (India)
|
110001100010|Iwato Japan
|110001011000|JapaneseSakura Pentatonic Soft Descend
|110100110000|Japanese Pentachord (as 7/356/7 in 12edo)
Jazz Minor|101101010101|Minor Melodic
|110101010110|Jazz Minor InverseJavaneseDorian bII HIndi
|110111010110|JG Octatonic 
|101101111110|Kiourdi (Greece)
Miyakobushi (Japan)|110001010010|Kokin-JoshiSoft Ascend Japan
|101010100100|Kung
|101010101011|Leading Whole-Tone
Qablitum 
(Sumerian)|110101101010|Locrian B to A Ascending naturals
|110101101100|Locrian bb7
|110101100110|Locrian Natural Maj 6Pseudo Turkish
|110101100000|Locrian PentaMirror
Ping 
(ChinaNis Garb.ri (Mesopotamian)|101010110101|LydianKalyan F to E ascending naturals
|100110110101|Lydian #2 Raga Kuksumakaram 
|100110010101|Lydian #2 Hexatonic
|101010101101|Lydian AugmentedHindi #IV & #V
Raga DumyaragaMadhuvantiAmbika (India)|101100110101|Lydian Diminished
Mela Vacaspati 
(IndiaRaga Bhusavati (IndiaLydian MixolydianBartok Scale|101010110110|Lydian bVIIthOvertoneHindi #IV & bVII
Chord CMaj769|101010010101|Lydian Hexatonic
|101010111010|Lydian MinorStravinski Raga Ratipriya (India)
|
101011110111|Lydian Mixolydian TaishikichoRyo (Japan)
|
101010110000|Lydian Pentachord
|110110101101|Magen Abot
|101011011101|Major Bebop
|101011011100|Major Bebop Heptatonic Mela Mararanjani (India)
Blues Dorian Hexatonic|101110010100|Major Blues (as 7/23/4 in 12edo)
Chord C Major|100010010000|Major Triad e.gC
Chord CMajor7
|100010010001|Major 7 Chord 
|100100100010|Messiaen Truncated F# Bb Eb
|101000100100|Major b7 Chord e.gD7
|100001010010|Major b7 Suspend 4th Chord
Bhairav Thaat 
(IndiaMela Mayamalavagaula (IndiaRaga Paraj (IndiaHitzazkiar (Greece)|110011011001|Hungarian Folk or Byzantine Major Gypsy
|101011101010|Major Locrian
Ishikotsucho 
(Japan)|101011110101|Major Lydian Genus Diatonicum Veterum Correctum
Mela Carukesi 
(IndiaRaga Tarangini (India)|101011011010|Major MinorHindu bVI bVII
|101111011111|Major Minor mixed
|101011010000|Major Pentachord
Chord C69 
Gong (ChinaRaga BhopaliMohanamDeskarBilahari (India)|101010010100|Major Pentatonic
Genus Primum
|101001010000|Major Suspended 4th Chord
|101011000000|Major Tetrachord
|110011011011|Maqam Hijaz
|110111100110|Maqam Shadd'araban
Marva Thaat (India)|110010110101|Marva or Marvi (as 7/3/1 in 12 edo)
|111011101110|Messiaen Mode 3
one of 6 variations in 12edo|101110111011|Messiaen Mode 3 Inverse (#2,#4,b6,#6)
|111100111100|Messiaen Mode 4 (1b3#'
s)
|
100111100111|Messiaen Mode 4 Inverse
|111000111000|Messiaen Mode 5 (dupe 8/456/1 in 12edo
|100011100011|Messiaen Mode 5 Inverse?
|
111010111010|Messiaen Mode 6
|101011101011|Messiaen Mode 6 Inverse
(4#'s & b7)as 10/6/1 in 12edo|111110111110|Messiaen Mode 7
|101111101111|Messiaen Mode 7 Inverse
as 9/3569/1 in 12edo|110100110100|Messiaen Truncated Mode 2 (b23b,#4)
as 9/3478/2 in 12edo|110011001100|Messiaen Truncated Mode 3Half-Aug b2
as 7/3456/1 in 12edo|110000110000|Messiaen Truncated Mode 5 (b2 b5)
|
100001100001|Messiaen Truncated Mode 5 Inverse
|101000101000|Messiaen Truncated Mode 6
Minor Added Sixth Pentatonic
|100101010100|Minor 6th Added
|101111010110|Minor Bebop (as 7/0/4 in 12 edo)
|
101110010110|Minor Bebop Heptatonic (as 7/3/4 in 12edo)
|
101101101010|Minor LocrianHindi 3 flats and bV
|101101010000|Minor Pentachord Chad Gadyo (Israel)
|
101111110111|Minor Pentatonic with Leading Tones
 Chord C69sus4 
Ching (China). Mitum (SumerianGregorian Scale 7|101011010110|MixolydianKhamaj G to F ascendnats
... 
Ok, had to cut this list, but here is the full list.
https://github.com/shimpe/mints/blob...scalenames.txt

Last edited by TonE; 12-26-2017 at 09:00 AM.
TonE is offline   Reply With Quote
Old 12-26-2017, 08:55 AM   #21
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Dear TonE,

Thank you very much for helping me, i really appreciate that.

Your help got me motivated to re-invest things and pick up the pieces where i left.
One thing i now succeeded in, is getting Reaper to see an install of Python again.

For mac users, here is what i did:

- First i deleted as much python related files as possible from my OSX System
( i have had created a total mess by installing dozens of different Python versions)

- Then i downloaded Python version 2.7.1.4 from here:
https://www.python.org/downloads/
(This same URL is brought up when you click the "download python" button in Reaper Prefs > Plugins > Reaperscript).

- I installed this Python version.
- Then i went to: Reaper Prefs > Plugins > Reaperscript
- Clicked the "browse" button, at right side of "custom path to python dll directory"
(BTW: this is higly misleading, cause mac users don't have "dlls" on their OSX system!)
- Now, here comes the trick:
Navigate to this path (it's actually a FOLDER AND NOT THE DYLIB FILE ITSELF !!):
/Library/Frameworks/Python.framework/Versions/2.7


- now click on "Open" at the bottom right of the window.
- Click "Apply" button
- Shutdown Reaper
- Restart Reaper
- Goto Reaper Prefs > Plugins > Reaperscript
- I can now see that Reaper sees a valid Python install ("libpython2.7 dylib is installed)
Hooray !

Ok, this is all good but now i am still facing this error when executing Reachorder script:

Script execution error

Traceback (most recent call last):
File "ReaChorder.py", line 5, in <module>
from wizard_section import Wizard
File "/Users/robvanhees/Library/Application Support/REAPER/Scripts/ReaChorder 23-10-2017/wizard_section.py", line 1, in <module>
import tkinter
ImportError: No module named tkinter


I am gonna further investigate on this error ..

EDIT: So i installed this package which, so i read, should install tkinter for mac:
https://www.activestate.com/activetc..._64-404783.pkg

After install, i opened Reaper and tried Reachorder script again: same error about "no module named tkinter"
To be continued ..
__________________
Macbook Pro INTEL | Reaper, always latest version | OSX Ventura | Presonus Studio 24c
My Reaper Tips&Tricks YouTube Channel: https://www.youtube.com/user/vanhaze2000/playlists

Last edited by vanhaze; 12-26-2017 at 09:15 AM.
vanhaze is offline   Reply With Quote
Old 12-26-2017, 10:36 AM   #22
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Yes in windows case, in version 3.3 I took above, tkinter was installed together. Did you try version 3.3 also? Who knows maybe that will work directly? Why did you take 2.7? Try this: http://www.python.org/ftp/python/3.3...macosx10.6.dmg

But you are almost there, only solving tkinter issue will solve rest I guess.
TonE is offline   Reply With Quote
Old 12-26-2017, 12:44 PM   #23
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Hi TonE,

- V 2.7 came installed with OSX High Sierra, so i thought i should install that version.

But my findings do evolve somewhat now:
After googling around, it seems that V2 versions of Python OSX relate to Tkinter, while V3 versions of Python OSX relate to tkinter.

So i thought , i have to install a working V3 version of Python OSX, so the error about not finding tkinter would be solved.

I managed to let Reaper see Python V3.1.3, higher versions of V3 are not seen bij Reaper (so it seems, for me).

So, Python V3.1.3 installed , seen by Reaper and so i ran again the reachorder script.
Outcome: indeed, the dreadful error about missing tkinter doesn't show up anymore.

However, another error now pops up:

"Can't open /Library/Frameworks/Python.framework/Versions/3.1/lib/libpython3.1.dylib
Extension not supported: "py""


SIGH ...
__________________
Macbook Pro INTEL | Reaper, always latest version | OSX Ventura | Presonus Studio 24c
My Reaper Tips&Tricks YouTube Channel: https://www.youtube.com/user/vanhaze2000/playlists
vanhaze is offline   Reply With Quote
Old 12-26-2017, 01:13 PM   #24
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

You have to start with Python 3.3, why? Because minimum requirements tells this. If Reaper can not detect this version, we can ask Justin.

gwok wrote this:
Quote:
Im running python 3.3 , oesx 10.6.8, working fine. Make sure your reacript preference is set to this - /Library/Frameworks/Python.framework/Versions/3.3/lib
source: https://forums.cockos.com/showpost.p...97&postcount=2

Last edited by TonE; 12-26-2017 at 01:19 PM.
TonE is offline   Reply With Quote
Old 12-26-2017, 01:24 PM   #25
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Moving along:

- I installed Python OSX V 3.3.5
- I pointed Reaper to this version, it sees it !

Now facing this errors when running Reachorder:

Script execution error

Traceback (most recent call last):
File "ReaChorder.py", line 6, in <module>
from chord_section import ChordSection
File "/Users/robvanhees/Library/Application Support/REAPER/Scripts/ReaChorder 23-10-2017/chord_section.py", line 3, in <module>
from rs_midi import RSMidi
File "/Users/robvanhees/Library/Application Support/REAPER/Scripts/ReaChorder 23-10-2017/rs_midi.py", line 2, in <module>
from sws_python import *
ImportError: No module named 'sws_python'


I do have python sws installed ....
__________________
Macbook Pro INTEL | Reaper, always latest version | OSX Ventura | Presonus Studio 24c
My Reaper Tips&Tricks YouTube Channel: https://www.youtube.com/user/vanhaze2000/playlists
vanhaze is offline   Reply With Quote
Old 12-26-2017, 01:28 PM   #26
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Can you try renaming 'ReaChorder 23-10-2017' to 'ReaChorder' only. Keeping things simple first.
TonE is offline   Reply With Quote
Old 12-26-2017, 01:33 PM   #27
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Even better: i just deleted that whole folder.
Then i downloaded the very latest version of Reachorder from Reaper stash.

Put the unzipped folder in folder scripts.
Loaded the reachorder script into my Action List. (midi section)
I then ran it.

Outcome:

No errors anymore but only a very brief flashing of the screen.
__________________
Macbook Pro INTEL | Reaper, always latest version | OSX Ventura | Presonus Studio 24c
My Reaper Tips&Tricks YouTube Channel: https://www.youtube.com/user/vanhaze2000/playlists
vanhaze is offline   Reply With Quote
Old 12-26-2017, 01:52 PM   #28
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

It would be still useful if you tried renaming first. Just to see if it makes any difference. You make always too big changes at once, sometimes one needs to make small steps... to come closer to the source of the problem.
TonE is offline   Reply With Quote
Old 12-26-2017, 06:10 PM   #29
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Quote:
Originally Posted by vanhaze View Post
Outcome:
No errors anymore but only a very brief flashing of the screen.
Did you create an item, open midi editor, then run that action? I guess yes.
You could try starting Reaper from command line, then doing same, checking if there is any useful info there?
If this does not help, trying older version 3.3.0: https://www.python.org/ftp/python/3....macosx10.6.dmg
TonE is offline   Reply With Quote
Old 12-26-2017, 06:22 PM   #30
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Wondering what is the source for the values of markov chain? Where do those values come from? Or asked in a different way, could I take e.g. only Beethoven compositions, then get its MarkovChain which will then generate more Beethoven like melodies?

PHP Code:
    MarkovChain = [
    [
1,11,2,9,3,7,10,5,12,6,8,4], #0  C
    
[3,4,1,5,2,6,7,8,9,10,11,12], #1  C#
    
[1,9,3,8,2,5,11,4,12,7,10,6], #2  D
    
[4,12,1,3,11,2,10,5,9,8,7,6], #3  D#
    
[5,10,1,12,2,4,7,3,11,6,9,8], #4  E
    
[7,12,4,8,1,3,11,2,10,5,9,6], #5  F
    
[7,12,5,11,4,6,2,1,10,3,9,8], #6  F#
    
[4,12,6,10,3,2,8,1,11,5,9,7], #7  G
    
[12,11,10,9,8,2,7,1,6,3,5,4], #8  G#
    
[5,12,6,11,7,4,9,1,10,2,8,3], #9  A
    
[4,12,6,10,5,7,11,2,9,3,1,8], #10 A#
    
[1,12,3,11,7,6,9,5,10,2,8,4]  #11 B
    

TonE is offline   Reply With Quote
Old 12-26-2017, 08:42 PM   #31
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
Default

Quote:
Originally Posted by TonE View Post
scales.py contains 'only' around 330 scales. Here a list with around 2300 scales.
can these be added into reachorder TonE? If yes, how do it do that please?
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva
hopi is offline   Reply With Quote
Old 12-26-2017, 11:43 PM   #32
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Quote:
Originally Posted by TonE View Post
Did you create an item, open midi editor, then run that action? I guess yes.
You could try starting Reaper from command line, then doing same, checking if there is any useful info there?
If this does not help, trying older version 3.3.0: https://www.python.org/ftp/python/3....macosx10.6.dmg
- I installed Python 3.3.0.
Reaper sees this install, after pointing it to it.
- I renamed the Reachorder folder in folder Scripts to the original foldername "ReaChorder"

Outcome: same issue: only small blinking of screen when executing the script in MIDI Editor.

I dunno what you mean by executing Reaper from commandline, i dunno how to do that.
__________________
Macbook Pro INTEL | Reaper, always latest version | OSX Ventura | Presonus Studio 24c
My Reaper Tips&Tricks YouTube Channel: https://www.youtube.com/user/vanhaze2000/playlists
vanhaze is offline   Reply With Quote
Old 12-27-2017, 05:52 AM   #33
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Quote:
Originally Posted by vanhaze View Post
I dunno what you mean by executing Reaper from commandline, i dunno how to do that.
Open terminal. Go to the directory where reaper is installed, using 'cd', change directory. Then when you are in the directory of Reaper do something like:

./reaper , then ENTER

Then it should do same what happens when you double click on Reaper icon, if you start from command line error messages will be visible there, too, normally. Those messages could help you maybe, e.g. when the window is flickering and disappearing, there might be some message in terminal.

If you want to find out where reaper is installed you could try:

locate reaper
TonE is offline   Reply With Quote
Old 12-27-2017, 05:56 AM   #34
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Quote:
Originally Posted by hopi View Post
can these be added into reachorder TonE? If yes, how do it do that please?
One needs to convert the format first. The 2300 scales list uses 12 positions counting from left to right 0..11.

0,1,2,3,4,5,6,7,8,9,10,11

000011110000

For each 0 you would simply ignore this position, the other positions you would write into the scale definition line. So for above example it would be

4,5,6,7

(and all other positions from 0..11 are zero, thus we ignore them, not writing them anywhere)
TonE is offline   Reply With Quote
Old 12-28-2017, 03:05 PM   #35
timbralzoom
Human being with feelings
 
timbralzoom's Avatar
 
Join Date: Apr 2010
Location: Turkey/Istanbul
Posts: 1,820
Default

Thank you again!

here is my 2017 final fun video with this beauty
https://www.youtube.com/watch?v=5tSH...ature=youtu.be

Last edited by timbralzoom; 12-28-2017 at 03:17 PM.
timbralzoom is offline   Reply With Quote
Old 12-30-2017, 07:10 AM   #36
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Quote:
Originally Posted by TonE View Post
Open terminal. Go to the directory where reaper is installed, using 'cd', change directory. Then when you are in the directory of Reaper do something like:

./reaper , then ENTER

Then it should do same what happens when you double click on Reaper icon, if you start from command line error messages will be visible there, too, normally. Those messages could help you maybe, e.g. when the window is flickering and disappearing, there might be some message in terminal.

If you want to find out where reaper is installed you could try:

locate reaper
Hi TonE,

I opened Reaper from within OSX Terminal.
When i execute Reachorder script, there appears no error message or anything in OSX Terminal.

Wondering is there is some osx python debug utility that can show error messages after executing a python script ..
__________________
Macbook Pro INTEL | Reaper, always latest version | OSX Ventura | Presonus Studio 24c
My Reaper Tips&Tricks YouTube Channel: https://www.youtube.com/user/vanhaze2000/playlists
vanhaze is offline   Reply With Quote
Old 12-30-2017, 10:06 AM   #37
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

I do have those 3 sws python files installed in ~/Library/Application Support/REAPER/Scripts.

I do have the Reachorder folder installed in ~/Library/Application Support/REAPER/Scripts.
__________________
Macbook Pro INTEL | Reaper, always latest version | OSX Ventura | Presonus Studio 24c
My Reaper Tips&Tricks YouTube Channel: https://www.youtube.com/user/vanhaze2000/playlists
vanhaze is offline   Reply With Quote
Old 12-30-2017, 10:08 AM   #38
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Quote:
Originally Posted by Veto View Post
What happens if you replace line 1-56 in ReaChorder.py:
PHP Code:
try:
    
from reaper_python import *
except ImportError:
    
pass
try:
    
from sws_python import *
except ImportError:
    
pass
try:
    
import sys
except ImportError
:
    
pass
try:
    
import platform
except ImportError
:
    
pass
try:
    
import os
except ImportError
:
    
pass
try:
    
import tkinter
    from tkinter import ttk
YBOTHRAISED
except ImportError
:
    
pass
try:
    
from rs_statemanager import RSStateManager
except ImportError
:
    
pass
try:
    
from contextlib import contextmanager
except ImportError
:
    
pass
try:
    
from reaChord_data import RCmsg
except ImportError
:
    
pass
try:
    
from rs_midi import RSMidi
except ImportError
:
    
pass
try:
    
from reaper_track import TrackItem
except ImportError
:
    
pass

sys
.argv=["Main"]

try:
    
from wizard_section import Wizard
    from chord_section import ChordSection
    from bass_section import BassSection
    from drum_section import DrumSection
    from melody_section import MelodySection
except ImportError
:
    
pass 
with
PHP Code:
from reaper_python import *
from sws_python import *
import sys
import platform
import os
import tkinter
from tkinter import ttk
YBOTHRAISED
from rs_statemanager import RSStateManager
from contextlib import contextmanager
from reaChord_data import RC
msg
from rs_midi import RSMidi
from reaper_track import Track
Item

sys
.argv=["Main"]

from wizard_section import Wizard
from chord_section import ChordSection
from bass_section import BassSection
from drum_section import DrumSection
from melody_section import MelodySection 
You'll probably see some error messages.
What are the exact error messages?


Above try-except blocks suppress those error messages without further notice in case of a module import error.
I wanna thank you for your help!
I am gonna try this out.

But where should i see any error messages if there are any ?
Is that in OSX Terminal ?
__________________
Macbook Pro INTEL | Reaper, always latest version | OSX Ventura | Presonus Studio 24c
My Reaper Tips&Tricks YouTube Channel: https://www.youtube.com/user/vanhaze2000/playlists
vanhaze is offline   Reply With Quote
Old 12-30-2017, 11:06 AM   #39
bobobo
Human being with feelings
 
bobobo's Avatar
 
Join Date: Oct 2014
Posts: 1,356
Default

Quote:
Originally Posted by TonE View Post
One needs to convert the format first. The 2300 scales list uses 12 positions counting from left to right 0..11.

0,1,2,3,4,5,6,7,8,9,10,11

000011110000

For each 0 you would simply ignore this position, the other positions you would write into the scale definition line. So for above example it would be

4,5,6,7

(and all other positions from 0..11 are zero, thus we ignore them, not writing them anywhere)
but where do the scales.py come into the game?
i didn't find any reference to it in any reachorderfile..
bobobo is offline   Reply With Quote
Old 12-30-2017, 04:49 PM   #40
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Good question, this I did not check, it could be they are not used yet?
TonE 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 06:50 AM.


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