Old 09-24-2014, 11:34 PM   #1
Kite
Human being with feelings
 
Join Date: Apr 2010
Location: Portland OR
Posts: 143
Default microtonal piano roll in the midi editor

If you do microtonal music, and you're using more than 12 notes per octave, I've figured out a way
to set up your own custom layout of black and white keys on the piano roll of the midi editor.
Here's an example using 19 notes per octave, with 7 white keys and 12 black ones:




less cluttered:



shorter keys, for showing note names on the notes:


How to do it: Click on a midi item to pull up the built-in midi-editor. The Reaper menu on top
should change. For example the 3rd option should change from View to Navigate. In the new
menu, go to View and choose Mode: Named Notes. Then double-right-click a note on the far left
of the edit window (where the black and white keys were) to rename it. Type in anything. Hit
tab to go on to the next key. Then go to File and choose Customize Note Names / Save Note
Names To File. That makes a little text file that you can even edit directly. In your next
project you can load this file, using Customize Note Names / Load Note Names From File.
There's also Customize Note Names / Merge Note Names From File, and Customize Note Names /
Clear All Note Names.

You can put in any text. You can put in "5/4" or "3\19" or "green C" or "D^" or "E+". You
might even be able to control the font with Reaper themes. To make a black key, you put in a
special character. I used unicode 2588, "full block", but you coud use anything. Here's how to
do special characters on a mac, don't know about a PC:
http://www.wikihow.com/Make-Symbols-on-a-Mac

Once I got one block character in, I cut and pasted it. I used underscores to make the note
names on the white keys line up with the black key names. I did an octave this way in Reaper.
Then I saved the file and used TextEdit to cut and paste more octaves. I edited the note
numbers to run 0-127. If your keyboard has midi notes 21-108 (standard 88 keys), you can
delete lines 0-20 and 109-127. Then after you load it, choose View / Show/Hide Note Rows /
Hide Unnamed Rows. Less to scroll through.

The first 2 screenshots have long black keys made of 6 block characters. The last one has
short keys of just 1 block, so you can choose View / Piano Roll Notes / Show Note Names On
Notes and directly see which notes are the black key notes.

You could use gray block characters to get three colors or more. Many possibilities! The text
files I used for the screenshots are here:

https://stash.reaper.fm/21891/19-tones.zip
__________________
alt-tuner: a microtonal midi plug-in
www.TallKite.com/alt-tuner.html
Kite is offline   Reply With Quote
Old 09-25-2014, 01:09 AM   #2
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 18,074
Default

That's creative, well done

There's one thing I do not understand. The piano roll is still sending "ordinary" MIDI notes. Does your VSTi (which one, by the way?) map those onto 19-note octaves, with C3 (MID note 60?) as a reference note?
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
DarkStar is online now   Reply With Quote
Old 09-25-2014, 11:31 AM   #3
Kite
Human being with feelings
 
Join Date: Apr 2010
Location: Portland OR
Posts: 143
Default

DS - All this little trick does is change the appearance of the midi editor. You still need to somehow retune the VSTi. What I personally do is use alt-tuner to retune PianoTeq, Kontakt, my Yamaha keyboard, etc. Alt-tuner can retune almost everything. Then after I retune it, I make the midi editor's appearance reflect that.

You are correct that these note names map midi note #60 to a "C" on the screen, going up and down from there in 19-note octaves. So the next higher C is #79. Alt-tuner is set accordingly. Other mappings are possible of course, but you'd have to make a new note-names text file for each one.
__________________
alt-tuner: a microtonal midi plug-in
www.TallKite.com/alt-tuner.html
Kite is offline   Reply With Quote
Old 09-25-2014, 02:03 PM   #4
whiteaxxxe
Banned
 
Join Date: Jul 2014
Location: United States of Europe, Germany, Mönchengladbach
Posts: 2,047
Default

12 keys per octave are already too much for me ... but 19 keys???? hey, I am a guitarist ... :-))))

seriously: very interesting. means you can do this way a lot of strange things compared to our usual well temperatured music ... for example making some instruments like saxophone sounding more bluesy, real bluesy.
whiteaxxxe is offline   Reply With Quote
Old 08-12-2015, 02:24 PM   #5
Kite
Human being with feelings
 
Join Date: Apr 2010
Location: Portland OR
Posts: 143
Default

Quote:
Originally Posted by TonE View Post
Normal piano has 12 pitches per octave, but for a simple pure c major song we use only 7 white key pitches out of all available 12 pitches. This means we can throw out those black keys.
Lots of music uses more than 7 notes per octave, like blues or classical. Microtonal music takes this further, this piece "Tibia" uses 22 notes:
http://music.columbia.edu/~chris/sounds/TIBIA.mp3

Quote:
Originally Posted by TonE View Post
My proposal would be: If a composition needs multiple segments, each with different, scales or pitches, simply switch to different scales, similar to program changes, but using program changes for scale changes, so you can have even 1000 pitches, over the composition duration, but never all in parallel
Sometimes this is a very effective strategy. The piece linked above could be performed this way. Another example, this video shows a very complex piece with dozens of pitches, but only 12 at a time are needed:
https://www.youtube.com/watch?v=JxdhL-kr97A
However midi synths aren't designed to respond to program changes that way. You need software like alt-tuner to change the scale mid-song.

Quote:
Originally Posted by TonE View Post
When do we need all 19 pitches together?
Any piece that has a rapid microtonal run, or a microtonal glissando, needs more than 12 notes simultaneously.

Quote:
Originally Posted by TonE View Post
Asking out of curiosity, as always.
If you're on facebook, a great place to ask general questions about microtonal music is here:
https://www.facebook.com/groups/xenharmonic2/
__________________
alt-tuner: a microtonal midi plug-in
www.TallKite.com/alt-tuner.html
Kite is offline   Reply With Quote
Old 08-14-2015, 01:30 PM   #6
Kite
Human being with feelings
 
Join Date: Apr 2010
Location: Portland OR
Posts: 143
Default

Alt-tuner changes scales upon receiving certain keyswitches or CCs. You choose which keys or CCs when you configure alt-tuner for your midi setup. CCs of course include foot pedals, the mod wheel, etc. Alt-tuner doesn't respond to program changes. If for some reason you needed to use PCs instead of keyswitches or CCs, I would simply write a small jesusonic effect for you that would convert any PC to any CC.

The scale changes can be 1) switching among various scales you've set up ahead of time, or 2) keeping the same scale but centering it on a new tonal center, either modulating by a specific interval (e.g. up or down a 5th) or modulating to a specific note (e.g. to D), or 3) changing just one note of the scale. One important application of changing scales is for adaptive JI. Another is to access more than 12 keys per octave using a standard keyboard, for example playing a 12 note subset of 22-ET, and by changing the scale, accessing most or all of the 22 notes as they are needed. (With alt-tuner you can also have more than 12 notes per octave, but that's another story.)

The scale change is reflected in the midi output, which depends on the synth(s) you're using. Alt-tuner can retune almost every synth out there. It usually uses the multiple-midi-channels-with-pitch-bends workaround to achieve polyphonic microtonalism. This unfortunately requires multiple instances of the synth, unless it's a multitimbral synth, which ZynAddSubFX is. So ZynAddSubFX would be fairly easy to retune, as would be Kontakt and PianoTeq.

Quote:
Originally Posted by TonE View Post
For now I use ZynAddSubFX which can import .scl directly. As far as I could see ZynAddSubFX uses .scl definitions and the .kbm mapping for the entire synth, meaning all its 16 parts on 16 midi channels, at maximum. So you can not change this .scl setting based on program change input, on a given midi channel, for example midi channel = 16. That would be useful.
With alt-tuner, you would NOT load a .scl file, instead leave ZynAddSubFX in regular tuning. You would load identical sounds into multiple parts. 8 parts would give you up to 8 voices of polyphony. (There's also a way to get unlimited polyphony as long as you aren't using non-octave scales.) Alt-tuner handles all the microtonal details and doesn't require any special microtonal abilities of the synth, other than responding to pitch bends. Thus you aren't limited in your choice of synth.

Quote:
Originally Posted by TonE View Post
You could make it so, some of your keyboard keys would send before its note a 'program change' so from that point upwards the scale would switch to scale b, and one note below the key could switch back to scale a. Within a 3 octave range you could define yourself freely your 'scale switching points'.
Not understanding. You want a different scale for higher octaves than for lower ones?
__________________
alt-tuner: a microtonal midi plug-in
www.TallKite.com/alt-tuner.html
Kite is offline   Reply With Quote
Old 08-15-2015, 10:52 PM   #7
Kite
Human being with feelings
 
Join Date: Apr 2010
Location: Portland OR
Posts: 143
Default

Quote:
Originally Posted by TonE View Post
Regarding most flexible usage with ZynAddSubFX would be just using multiple instances then Live Configs for switching among instances via program change. So you could have as many scales as you wish, in parallel, then switch between them.
Quoting from http://sws.mj-s.com/download/S&M_LiveConfigs_Ed2.pdf:
"For MIDI, you can simply route the input track to other tracks containing VSTis: nothing is muted but one instrument is being played at a time thanks to distinct MIDI channels. You are obviously limited to 16 configs in this case and you can face “stuck notes” when switching instruments."

So this would only work if there are no notes sounding when you switch synths, otherwise you would have problems with hanging and/or muted notes. For example, say you want to play a C chord, then play an F chord, and the C note that is common to both keeps sounding. If you want one scale during the C chord and another during the F chord, the midi stream looks like this:

switch to 1st synth, C note-on, E note-on, G note-on, E note-off, G note-off,
switch to 2nd synth, F note-on, A note-on, C note-off, F note-off, A note-off

The C note is muted when you switch, because synth #2 never sees the C note-on. And because synth #1 never sees the C note-off, if you switch back to synth #1, the C note will resume sounding. In Reaper, bypassing a synth and then unbypassing it does NOT silence hanging notes.

Also as you say, this would only work for ZynAddSubFX.


Quote:
Originally Posted by TonE View Post
I am assuming, direct and internal support of .scl, as possible in ZynAddSubFX, should work more precisely or reliably than pitchbend method. Because the synth does not need to process anything, it knows beforehand which pitches have to leave at synth output.
The pitchbend method is usually plenty precise and reliable. There is only one synth I know of that reacts sluggishly to pitch bends, because of a built-in portamento that can't be turned off. But mostly they react just fine.

Quote:
Originally Posted by TonE View Post
How many different scales are you using usually, as one setup?
I personally have used up to 9. Alt-tuner can use up to 30, and can be configured to use even more.
__________________
alt-tuner: a microtonal midi plug-in
www.TallKite.com/alt-tuner.html
Kite is offline   Reply With Quote
Old 08-15-2015, 11:24 PM   #8
Kite
Human being with feelings
 
Join Date: Apr 2010
Location: Portland OR
Posts: 143
Default

Quote:
Originally Posted by TonE View Post
Can alt-tuner, show 'note names', which are defined in .scl files, directly above the notes? The notes pitch + pitchbend data + .scl ratios and ratio names would be input, output is dynamic note name view directly inside Reaper midi editor.
Alt-tuner isn't part of Reaper. It's not an extension like SWS. It's just a plug-in. It can't change Reaper's appearance.

To be clear: the original post in this thread is just a trick I came up with to make the notes in the midi editor look microtonal, using an existing feature of Reaper. This trick doesn't require alt-tuner.

Alt-tuner doesn't read .scl files. Instead you drag sliders and click on notes to set up the scale you want. This is a very speedy process, probably faster than scrolling through your list of scala files would be. Once the scale options are set up, you can use footpedals and keyswitches to retune as you play. There's a lot of graphics that show note names, JI ratios, EDO degrees, cents offset from standard tuning, cents between notes, etc. Take a look at the screenshots on this page:
http://www.tallkite.com/gallery.html

Here's some demo videos and mp3s: http://www.tallkite.com/videos.html

The nice thing about alt-tuner is that it makes the retuning process much more intuitive and less number-y. You're clicking and dragging, not typing. It's like the difference between modern computers running Windows or OS X, and ancient computers from the 90s using MS-DOS or CP/M. Instead of typing "dir C:/datafiles" and "copy C:/datafiles/myfile.dat C:/invoices/", nowadays you can just drag files from one window to another, much easier.

Alt-tuner represents a similar advance in microtonal software. You don't have to muck around with typing numbers into .scl files. To go to 53-tet, you just drag a slider to 53. To modulate to the key of F, you just alt-click on the F note in the lattice. Plus you can retune as you play with keyswitches and footpedals.
__________________
alt-tuner: a microtonal midi plug-in
www.TallKite.com/alt-tuner.html
Kite is offline   Reply With Quote
Old 08-16-2015, 10:06 PM   #9
Kite
Human being with feelings
 
Join Date: Apr 2010
Location: Portland OR
Posts: 143
Default

Quote:
Originally Posted by TonE View Post
Maybe this can help against note hanging issue:
http://forum.cockos.com/showpost.php...1&postcount=11
This approach could work, sort of. Someone (not me) would have to code something that would send note-offs to the newly-bypassed synth and note-ons to the newly-unbypassed synth. But it would sound funny with notes that decay. For example, playing and holding a piano note has a certain sound. Playing a piano note, and then muting it and playing a new note on a 2nd piano synth has a different sound.

Bottom line: it's just plain better to use pitch bends than to use bypassing. No hassles with stuck/dropped notes, and notes can decay uninterrupted. And the main advantage: the bypassing method only works with synths that load .scl files. The pitch bend method works with almost all synths.
__________________
alt-tuner: a microtonal midi plug-in
www.TallKite.com/alt-tuner.html
Kite is offline   Reply With Quote
Old 08-17-2015, 06:51 AM   #10
edkilp
Human being with feelings
 
Join Date: Oct 2010
Location: Ohio, USA
Posts: 1,130
Default

Wow, different strokes for different folks I guess. That mp3 just sounds like a terrible, out-of-tune mess to my non-microtonal ears. It's nice that those who need such a thing can achieve it, but I don't think I wanna hear the results! Personally, I'll continue to struggle with the 12 notes I have. It is kinda interesting, though.
edkilp is offline   Reply With Quote
Old 08-17-2015, 05:23 PM   #11
Kite
Human being with feelings
 
Join Date: Apr 2010
Location: Portland OR
Posts: 143
Default

Quote:
Originally Posted by TonE View Post
I am assuming you are using pitchbend events, always just before each note-on event? Otherwise it would not sound correctly, as far as I can imagine.
Yes, pitch bends on different midi channels. Suppose this is your midi:

G note-on on channel 1
B note-on on channel 1
D note-on on channel 1
F note-on on channel 1

After passing through alt-tuner, it might become:

0¢ pitchbend on channel 1
G note-on on channel 1
-14¢ pitchbend on channel 2
B note-on on channel 2
+2¢ pitchbend on channel 3
D note-on on channel 3
-31¢ pitchbend on channel 4
F note-on on channel 4
__________________
alt-tuner: a microtonal midi plug-in
www.TallKite.com/alt-tuner.html
Kite is offline   Reply With Quote
Old 08-18-2015, 01:22 AM   #12
Kite
Human being with feelings
 
Join Date: Apr 2010
Location: Portland OR
Posts: 143
Default

Quote:
Originally Posted by edkilp View Post
Wow, different strokes for different folks I guess.
Yes, different strokes. But it's an objective acoustic fact that if you take a dom7 chord and flatten the major 3rd by 1/6 semitone, and flatten the minor 7th by 1/3 semitone, it will beat less and sound smoother. As long as you're using a harmonic timbre, such as a fairly clean string or wind instrument, or backing vocals. It sounds out of tune only because it's not what you're used to hearing. I guarantee you that if you spent a week playing and hearing these unfamiliar-but-objectively-in-tune chords, upon going back to the standard tuning you would be shocked at how out of tune it sounds.

Every top-notch a capella vocal ensemble (in Western music anyway) departs from standard tuning so that the chords will "lock" or "ring". Barbershop singers in particular do this.

I think you (and others, you aren't alone) find the mp3s jarring because we expect voices to deviate from standard tuning but not pianos or guitars.
__________________
alt-tuner: a microtonal midi plug-in
www.TallKite.com/alt-tuner.html
Kite is offline   Reply With Quote
Old 08-18-2015, 01:24 AM   #13
Kite
Human being with feelings
 
Join Date: Apr 2010
Location: Portland OR
Posts: 143
Default

Quote:
Originally Posted by TonE View Post
Or is it more wise, saving some pitchbends, if there were no changes, but who knows, some notes might come from a different track/routing, then things might start sounding wrong. Most secure would be having always a set of 'pitchbend+note-on'.
Yes, better to be redundant. Nowadays with usb cables instead of the 5-pin midi cable, data transmission speeds are very fast, no problem sending a dozen bytes or more per note, it's still way way less data than 24-bit 44.1-hz audio. And with softsynths, there's no cables at all, data speeds are even faster.

Quote:
Originally Posted by TonE View Post
Regarding the gap between them, is there any rule to add a certain 'gap' between pitchbend and note-on, or is gap=0 best? I could imagine some devices might not be fast enough for gap=0, but not sure, just guessing. From my own experience I know for example if bank select and program change are too fast, after each other some devices have trouble switching banks! So you need a little gap there, slowing down the process.
I find that virtually all softsynths react fast enough that there is no audible scooping. And if you're playing live, you can't add any gap without increasing latency.
__________________
alt-tuner: a microtonal midi plug-in
www.TallKite.com/alt-tuner.html
Kite is offline   Reply With Quote
Old 02-10-2016, 07:38 PM   #14
memyselfandus
Human being with feelings
 
memyselfandus's Avatar
 
Join Date: Oct 2008
Posts: 1,598
Default

Very cool stuff
memyselfandus is offline   Reply With Quote
Old 02-10-2016, 07:44 PM   #15
memyselfandus
Human being with feelings
 
memyselfandus's Avatar
 
Join Date: Oct 2008
Posts: 1,598
Default

Are there any features that could be added to Reaper that would help with microtonal stuff?
memyselfandus 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:27 PM.


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