|
|
|
11-30-2017, 08:40 AM
|
#1
|
Human being with feelings
Join Date: Dec 2016
Posts: 373
|
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.
|
|
|
11-30-2017, 08:44 AM
|
#2
|
Human being with feelings
Join Date: Dec 2016
Posts: 373
|
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.
|
|
|
11-30-2017, 09:48 AM
|
#3
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
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 !
|
|
|
12-02-2017, 10:04 AM
|
#4
|
Human being with feelings
Join Date: Oct 2015
Posts: 739
|
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.
|
|
|
12-03-2017, 12:44 PM
|
#5
|
Human being with feelings
Join Date: Dec 2016
Posts: 373
|
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.
|
|
|
12-04-2017, 06:56 AM
|
#7
|
Human being with feelings
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
|
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.
|
|
|
12-04-2017, 08:33 PM
|
#8
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
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.
|
|
|
12-04-2017, 10:57 PM
|
#9
|
Human being with feelings
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
|
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.
|
|
|
12-05-2017, 07:32 PM
|
#10
|
Human being with feelings
Join Date: Dec 2016
Posts: 373
|
Quote:
Originally Posted by JamesPeters
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.
|
|
|
12-05-2017, 11:47 PM
|
#11
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
Quote:
Originally Posted by Flaneurette
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.
|
|
|
12-13-2017, 11:59 PM
|
#12
|
Human being with feelings
Join Date: Dec 2016
Posts: 373
|
Quote:
Originally Posted by JamesPeters
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.
|
|
|
12-25-2017, 05:35 PM
|
#13
|
Human being with feelings
Join Date: Dec 2016
Posts: 373
|
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
-
|
|
|
12-26-2017, 01:53 AM
|
#15
|
Human being with feelings
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
|
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 !
|
|
|
12-26-2017, 04:02 AM
|
#16
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
|
Did you install tkinter, what is the new error message?
|
|
|
12-26-2017, 04:19 AM
|
#17
|
Human being with feelings
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
|
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.
|
|
|
12-26-2017, 06:21 AM
|
#18
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
|
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.
|
|
|
12-26-2017, 07:12 AM
|
#19
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
|
Quote:
Originally Posted by Flaneurette
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.
|
|
|
12-26-2017, 07:52 AM
|
#20
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
|
scales.py contains 'only' around 330 scales. Here a list with around 2300 scales.
PHP Code:
|111101010110|Adonai Malakh (Israel) 2b 1# Chord Cm9b6sus4 - Gregorian Scale 2, Assari Thaat (India), Se (China) Kitmun (Sumarian)|101101011010|Aeolian Natural Minor, Asavari Asc Nats. A to G |100110101101|Aeolian 2# 4# #5 |101101111001|Algerian |110001010100|Altered Pentatonic |110110000000|Alternating TetraMirror genus tertium Raga Devamani|100110011001|Augmented, Messiaen Truncated Mode 3 2457Inverse |110100011000|Balinese, Pelog 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 Hypolydian, Puravi bVI |110011101001|Chromatic Hypolydian Inverse, Persian |111001110100|Chromatic Hypophrygian Inverse |110011001010|Theoretical - No Known Name |110100111001|Chromatic Lydian Inverse, Todi 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 Chord, 3 Semitones |101101101101|Diminished |101011010111|Dominant Bebop C9 chord|101010010010|Dominant Pentatonic Chord Cm69sus4 - Eskimo Heptatonic (N. America) Kafi Thaat (India), Embulum (Sumerian)|101101010110|Dorian, Kafi D to C asc. naturals |101101011110|Dorian Aeolian (as 7/0/5 in 12 edo) #5 |101101100110|Dorian b5 Akebono (Japan)|101100010100|Dorian Pentatonic, Kumoi Japan |101101000000|Dorian Tetrachord Ukrainian minor Raja, Dorian with a sharp fourth|101100110110|Romanian, Gnossiennes |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 Hexatonic, Raga Kalakanti |110110110110|Half-Diminished, Symmetric, Blues Dim. |101001011000|Han - kumoi (Japan) |101011011001|Harmonic Major 1, Ethiopian, Nat Bhairava |101011001101|Harmonic Major 2, Ionian #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) • Minor Pentachord|101100010101|Hawaiian |100011000101|Raga Bhinna Shadja, Hindolita (India) |101100011000|Hirajoshi Japan |110101100010|Honchoshi Plagal Form |101111011110|Houseini (Greece) |100111010101|Houzam (Greece) Raga Saildesakshi, Trishuli (India) Mela Sanmukhapriya (India)|101100111010|Hungarian Gypsy, Damian Emmanuel |100110110110|Hungarian Major Raga Nasamani (India) Maqam Nawa Athar (Arabia), Double Harmonic Minor, Niavent (Greece)|101100111001|Hungarian Minor |111100111001|Hungarian Minor b2 |110110011010|Indian, Phrygian dim 4th Chord CMaj69sus4 - Thaat, Nid Murub (Sumerian)|101011010101|Ionian, Major, Bilaval C to B asc. nats. Chord CMaj7sus4|100011010001|Ionian Pentatonic Raga Gambhiranata (India) |110001100010|Iwato Japan |110001011000|Japanese, Sakura Pentatonic Soft Descend |110100110000|Japanese Pentachord (as 7/356/7 in 12edo) Jazz Minor|101101010101|Minor Melodic |110101010110|Jazz Minor Inverse. Javanese, Dorian bII & HIndi |110111010110|JG Octatonic |101101111110|Kiourdi (Greece) Miyakobushi (Japan)|110001010010|Kokin-Joshi, Soft Ascend Japan |101010100100|Kung |101010101011|Leading Whole-Tone Qablitum (Sumerian)|110101101010|Locrian - B to A Ascending naturals |110101101100|Locrian bb7 |110101100110|Locrian Natural Maj 6, Pseudo Turkish |110101100000|Locrian PentaMirror Ping (China) Nis Garb.ri (Mesopotamian)|101010110101|Lydian, Kalyan F to E ascending naturals |100110110101|Lydian #2 Raga Kuksumakaram |100110010101|Lydian #2 Hexatonic |101010101101|Lydian Augmented, Hindi #IV & #V Raga Dumyaraga, Madhuvanti, Ambika (India)|101100110101|Lydian Diminished Mela Vacaspati (India) Raga Bhusavati (India) Lydian Mixolydian. Bartok Scale|101010110110|Lydian bVIIth, Overtone, Hindi #IV & bVII Chord CMaj769|101010010101|Lydian Hexatonic |101010111010|Lydian Minor, Stravinski Raga Ratipriya (India) |101011110111|Lydian Mixolydian Taishikicho, Ryo (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.g. C Chord CMajor7|100010010001|Major 7 Chord |100100100010|Messiaen Truncated F# Bb Eb |101000100100|Major b7 Chord e.g. D7 |100001010010|Major b7 Suspend 4th Chord Bhairav Thaat (India) Mela Mayamalavagaula (India) Raga Paraj (India) Hitzazkiar (Greece)|110011011001|Hungarian Folk or Byzantine Major Gypsy |101011101010|Major Locrian Ishikotsucho (Japan)|101011110101|Major Lydian Genus Diatonicum Veterum Correctum Mela Carukesi (India) Raga Tarangini (India)|101011011010|Major Minor, Hindu bVI & bVII |101111011111|Major & Minor mixed |101011010000|Major Pentachord Chord C69 - Gong (China) Raga Bhopali, Mohanam, Deskar, Bilahari (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 (b2, 3b,#4) as 9/3478/2 in 12edo|110011001100|Messiaen Truncated Mode 3, Half-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 Locrian, Hindi 3 flats and bV |101101010000|Minor Pentachord Chad Gadyo (Israel) |101111110111|Minor Pentatonic with Leading Tones Chord C69sus4 - Ching (China). Mitum (Sumerian) Gregorian Scale 7|101011010110|Mixolydian, Khamaj G to F ascend. nats ...
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.
|
|
|
12-26-2017, 08:55 AM
|
#21
|
Human being with feelings
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
|
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 ..
Last edited by vanhaze; 12-26-2017 at 09:15 AM.
|
|
|
12-26-2017, 10:36 AM
|
#22
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
|
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.
|
|
|
12-26-2017, 12:44 PM
|
#23
|
Human being with feelings
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
|
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 ...
|
|
|
12-26-2017, 01:13 PM
|
#24
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
|
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.
|
|
|
12-26-2017, 01:24 PM
|
#25
|
Human being with feelings
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
|
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 ....
|
|
|
12-26-2017, 01:28 PM
|
#26
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
|
Can you try renaming 'ReaChorder 23-10-2017' to 'ReaChorder' only. Keeping things simple first.
|
|
|
12-26-2017, 01:33 PM
|
#27
|
Human being with feelings
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
|
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.
|
|
|
12-26-2017, 01:52 PM
|
#28
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
|
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.
|
|
|
12-26-2017, 06:10 PM
|
#29
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
|
Quote:
Originally Posted by vanhaze
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
|
|
|
12-26-2017, 06:22 PM
|
#30
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
|
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
]
|
|
|
12-26-2017, 08:42 PM
|
#31
|
Human being with feelings
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
|
Quote:
Originally Posted by TonE
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?
|
|
|
12-26-2017, 11:43 PM
|
#32
|
Human being with feelings
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
|
Quote:
Originally Posted by TonE
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.
|
|
|
12-27-2017, 05:52 AM
|
#33
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
|
Quote:
Originally Posted by vanhaze
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
|
|
|
12-27-2017, 05:56 AM
|
#34
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
|
Quote:
Originally Posted by hopi
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)
|
|
|
12-28-2017, 03:05 PM
|
#35
|
Human being with feelings
Join Date: Apr 2010
Location: Turkey/Istanbul
Posts: 1,820
|
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.
|
|
|
12-30-2017, 07:10 AM
|
#36
|
Human being with feelings
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
|
Quote:
Originally Posted by TonE
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 ..
|
|
|
12-30-2017, 10:06 AM
|
#37
|
Human being with feelings
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
|
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.
|
|
|
12-30-2017, 10:08 AM
|
#38
|
Human being with feelings
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
|
Quote:
Originally Posted by Veto
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, Y, BOTH, RAISED
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 RC, msg
except ImportError:
pass
try:
from rs_midi import RSMidi
except ImportError:
pass
try:
from reaper_track import Track, Item
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, Y, BOTH, RAISED
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 ?
|
|
|
12-30-2017, 11:06 AM
|
#39
|
Human being with feelings
Join Date: Oct 2014
Posts: 1,356
|
Quote:
Originally Posted by TonE
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..
|
|
|
12-30-2017, 04:49 PM
|
#40
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
|
Good question, this I did not check, it could be they are not used yet?
|
|
|
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 11:46 PM.
|