[SHARE] HarmoTools - A toolset for MIDI harmonization

Questions and discussion about building and using Max for Live devices
f.poce@tiscali.nl
Posts: 103
Joined: Sun Mar 21, 2010 4:14 pm

[SHARE] HarmoTools - A toolset for MIDI harmonization

Post by f.poce@tiscali.nl » Sun Jul 01, 2012 9:11 pm

A toolset for MIDI harmonization, adapting in real-time a MIDI feed to chords or scales (using Live API and Ableton's native "Scale" MIDI device).
For use within a Live set and eventually in collaboration with other musicians over a TCP/IP network (using OSC communication).

Image

On this page you can download the software:
http://www.fabriziopoce.com/download.html

For an idea have a look to this video (which shows these as well as other M4L devices I produced):
http://www.youtube.com/watch?v=IwZf7fXy ... ature=plcp

A User Manual is also available here:
http://www.fabriziopoce.com/HarmoTools% ... Manual.pdf

Also listed on the MaxforLive.com web library:
http://www.maxforlive.com/library/devic ... otools-j74

Have fun,

Fabrizio
Last edited by f.poce@tiscali.nl on Sat Oct 06, 2012 2:57 pm, edited 1 time in total.

cip23
Posts: 32
Joined: Wed Mar 31, 2010 9:46 pm

Re: [SHARE] HarmoTools - A toolset for MIDI harmonization

Post by cip23 » Mon Jul 02, 2012 2:35 pm

Very interesting! I understand your rationale very well and try your tools. Thanks for sharing!

best regards,
Christoph

f.poce@tiscali.nl
Posts: 103
Joined: Sun Mar 21, 2010 4:14 pm

Re: [SHARE] HarmoTools - A toolset for MIDI harmonization

Post by f.poce@tiscali.nl » Mon Jul 02, 2012 8:12 pm

Feedback is welcome.

By the way, before anyone asks, you may have noticed a vague similarity with the Schwarzonator of by Henrik Schwarz. There are a few similarities, in fact, but that is rather superficial: the two sets have actually quite a different target in mind and the results they produce are very different.

The Schwarzonator "helps" you playing and adjust MIDI on tracks by fitting them to a selected (custom) scale, eventually adding a bit of randomness and/or additional notes spread across the keeyboard as you define. You need to manually select (eventually automating it) the scale to change the fitting scheme.

HarmoTools' target is to do real-time harmonization, as you do in composition and improvisation: you are in charge of commanding the harmonization by dynamically entering chords (actually you or, in a network collaboration, any other musician taking part in the jam). So it supposes you "know" chords and harmony, at least to some extent. What it does is helping you in arranging your stuff (clips) on the fly, to fit the chords. It is somehow as less intrusive as possible.

Similar is the fact of having a master and many slaves little devices. Different is that in HarmoTools slave devices can be in the same liveset or on other computers.
The implementation is also quite different. The actual filtering is not done by Max but by a companion standard Live's Scale device, commanded using the API each time a chord is recognized. So in cases chords are selected at relatively long distances in time, it is very quite on your CPU, acting like a simple Scale device.

Anyway, try this set out and let me kno what you think about them.

f.poce@tiscali.nl
Posts: 103
Joined: Sun Mar 21, 2010 4:14 pm

Re: [SHARE] HarmoTools - A toolset for MIDI harmonization

Post by f.poce@tiscali.nl » Fri Oct 05, 2012 9:58 pm

An update.

I added a new device in the HarmoTools family: the “HarmoScale2Chord J74.amxd” device.
This device generates chords based on a selected scale, using the so called diatonic harmonization technique.

It can be quite useful as an aid to composition.
For questions like: [Which is the next chord / What chord would fit this scale / the previous ones?]
For tweaks and testing variations to a set of chords you already have [what if I add a seventh to a chord?]
For testing chord progressions.

Image

The tool interface looks like a “rack of chords” (with 9 pads/slots).
Each pad/slot hosts and triggers a chord and allows individual editing/tweaking (adding/removing of notes).
The chords can be triggered by MIDI mapping and by MIDI clips (note C-2 triggers slot 1, C#-2 slot 2 etc.).

Way of using it:
- One simple way of using this tool can be, in fact, as a simple “rack of chords”: you can manually load your chords on the pads and test progressions and variations.
- Anyway the real target here is exploring chords within scales, using the diatonic harmonization rules. To do this you need to use the “HarmoScale2Chord J74.amxd” and “HarmoScale J74.amxd” devices together (somewhere in the same live set, not necessary in the same track). The “HarmoScale J74.amxd” device is used to select a scale (this already existing device in the HArmoTools family is a multipurpose scale selector, as it is also used for selecting a scale for real-time API-based filtering/harmonization as possible in HarmoTools). Once a scale has been selected this way, the “HarmoScale2Chord J74.amxd” auto-populates its pad/slots with chords, built using the diatonic harmonization technique (applied on top of the selected scale).

Additional notes:
Even if the auto-populated chords are always triads (chords of three notes), by editing the pads/slots, you can easily create more colored variation (i.e. adding more notes, like a seventh).
This is very easy: each pad/slot can be edited individually using the small one octave keyboard in the pad/slot (just click to activate/disable any note for the chord).
And if you select an "exotic" scale, the result can be harmonically quite complex.

The download link is still the same (I just updated the file):
http://www.fabriziopoce.com/download.html
or
http://www.maxforlive.com/library/devic ... otools-j74

Cheers
Fabrizio

f.poce@tiscali.nl
Posts: 103
Joined: Sun Mar 21, 2010 4:14 pm

Re: [SHARE] HarmoTools - A toolset for MIDI harmonization

Post by f.poce@tiscali.nl » Tue Apr 02, 2013 8:17 am

Just a hint for new Max for Live users, as I recently got some questions around about this.
It's a free set of devices for real time scale and chord harmonization.

Cheers
J74/Fabrizio

cyclicAMP
Posts: 118
Joined: Thu Mar 07, 2013 1:58 am

Re: [SHARE] HarmoTools - A toolset for MIDI harmonization

Post by cyclicAMP » Wed Apr 03, 2013 5:03 am

Really cool idea. Thank you! I will try this out soon.

carrieres
Posts: 246
Joined: Thu Sep 13, 2007 7:54 am
Location: Poissy, France
Contact:

Re: [SHARE] HarmoTools - A toolset for MIDI harmonization

Post by carrieres » Wed Apr 03, 2013 9:12 am

awesome !
thanks a lot !
Yamaha CS-30, Roland SH-1 and MKS70, Focusrite Scarlett 18i6, Yamaha FS1R, Oberheim Matrix 1000, Novation Remote 37SL, Alesis M1Active 520, Novation Launchpad PRO
Intel i7-7700HQ, Windows 10, Ableton Live 10 Suite
http://soundcloud.com/ccarrieres

Herman the German
Posts: 19
Joined: Thu Nov 05, 2009 5:26 pm

Re: [SHARE] HarmoTools - A toolset for MIDI harmonization

Post by Herman the German » Sun Apr 28, 2013 10:43 am

Hi,
is it possible that this is not (yet) working with Live 9 or Max6 or in 64bit?
The scale device does not react to the "ChordFilterAPI" here. Pushed the activate button, but nothing happend.
Both, the "HarmoChord" and the "ChordFilterAPI" are displaying the chords just fine. Strange.
Any help is appreciated.

f.poce@tiscali.nl
Posts: 103
Joined: Sun Mar 21, 2010 4:14 pm

Re: [SHARE] HarmoTools - A toolset for MIDI harmonization

Post by f.poce@tiscali.nl » Sun Apr 28, 2013 1:12 pm

Hi,

I haven't tested on the 64 bit version (I mostly stick to the 32bit versions, for various reasons).
Anyway there as been report of a working setup also on the 64 bit (it was windows).

As I understand the chords are recognized. So at least that part works.
One important thing I can point out is to have the Scale device in place BEFORE you drop the "HarmochordFilterAPI".
The "HarmochordFilterAPI" commands the "Scale" device via the Live API.If you drop the "HarmochordFilterAPI" but it does not find a "Scale" device the Live API will fail to initialize.

So the correct steps are first drop the "Scale", after that drop the "HarmochordFilterAPI".
A last point: if saved and recalled in a Liveset, initialization works properly.

Gr
Fabrizio

Herman the German
Posts: 19
Joined: Thu Nov 05, 2009 5:26 pm

Re: [SHARE] HarmoTools - A toolset for MIDI harmonization

Post by Herman the German » Mon Apr 29, 2013 3:10 pm

Hi Fabrizio,

thank you for trying to help, it's much appreciated.
Unfortunately it still doesn't work for me. Very strange.
The scale device doesn't react to the "HarmochordFilterAPI".
What a pity, I would have liked the functionality.
By the way: I am in fact on Windows7 64-bit.

Question to the community:
Is there anyone else with the same problem (things not working in Live9 on Windows7 64-bit),
or the other way round, is there anyone who has it working on that platform???

Greetings
Herman

f.poce@tiscali.nl
Posts: 103
Joined: Sun Mar 21, 2010 4:14 pm

Re: [SHARE] HarmoTools - A toolset for MIDI harmonization

Post by f.poce@tiscali.nl » Mon Apr 29, 2013 3:17 pm

All,

I modified the "ChordFilterAPI" and "ScaleFilterAPI" devices to auto-lock to the Live Scale device whenever this gets dropped in the same track.
This should solve all the situations for which the solution was not synchronized due to Scale device being dropped as last device (making now the order of dropping devices in the liveset irrelevant to have everything connected).

Image

This way things become much more user friendly.

The same download link still applies:
http://fabriziopoce.com/HarmoTools.html

#########################################################################################################
By the way, also regarding harmony and melody, have a look to the latest device set I released (for Launchpad and APC40).

http://fabriziopoce.com/isocontrollers.html

Image

Cheers
Fabrizio

Herman the German
Posts: 19
Joined: Thu Nov 05, 2009 5:26 pm

Re: [SHARE] HarmoTools - A toolset for MIDI harmonization

Post by Herman the German » Mon Apr 29, 2013 4:00 pm

Hi Fabrizio,

did a quick test: I can see now, that the scale is not locked, as the LED stays black.
The other LED right next to it is flashing red every few seconds, what is this indicating?

Greetings
Herman

f.poce@tiscali.nl
Posts: 103
Joined: Sun Mar 21, 2010 4:14 pm

Re: [SHARE] HarmoTools - A toolset for MIDI harmonization

Post by f.poce@tiscali.nl » Mon Apr 29, 2013 4:28 pm

The flashing led indicated that there is no Scale device in the track and that the "ChordFilterAPI" or "ScaleFilterAPI" are still looking.
So my question is: is there a Scale device in the track?
Which platform are you in (Win/Mac, Live versio, Max version, 32/64 bits)?

Gr
Fabrizio

Herman the German
Posts: 19
Joined: Thu Nov 05, 2009 5:26 pm

Re: [SHARE] HarmoTools - A toolset for MIDI harmonization

Post by Herman the German » Mon Apr 29, 2013 6:06 pm

Yes, there is a Scale Device in the track.
I'm on Windows 7 64-bit, running Live 9.0.2 with M4L 6.1.1
The current chain is HarmoChordFilter - Scale Device - Instrument Rack.
I tried to put the Scale Device first in the Device pane, or the HarmoChordFilter first,
saved and reopened the live set, pressed 'activate', nothing helped.

Greetings
Herman

f.poce@tiscali.nl
Posts: 103
Joined: Sun Mar 21, 2010 4:14 pm

Re: [SHARE] HarmoTools - A toolset for MIDI harmonization

Post by f.poce@tiscali.nl » Mon Apr 29, 2013 6:19 pm

I cannot reproduce this (yet).

Anyway my educated guess is that it must have something to do with the 64bit version of Max (for Live).
According to cycling74 release notes the implementation of the 64 bit version has not yet feature-parity with the 32 bits one. Specially on the Jitter side of things. So in the case of this device set there must probably, somewhere, be something not being supported (object or attribute/option) to be able to work properly, as it actually does on the 32 bits version (which I both tested, Mac and Windows with correct behavior).

I'll try to see what is wrong with the 64bits as soon as I can.

PS: support of stuff on the 64bit version still is quite a p.i.t.a. thing....

Anyway, thanks for now, @Herman.

Gr
Fabrizio

Post Reply