Device Details

Device Overview

Name/Version: J74 HarmoTools 2.0.1
Author: fabriziopoce  
Description: A toolset for MIDI scale/chord detection and harmonization (adapting in real-time a MIDI feed to chords or scales). For use within a Live set, eventually in collaboration with other musicians (using OSC communication over a TCP/IP network).

On this page you can download the software:

For an idea have a look to this videos:

Fabrizio // J74

Device Details

Tags utility, other
Live Version Used: 11.0
Max Version Used: 8.1
Date Added: Jul 01 2012 16:00:37
Date Last Updated: Apr 19 2021 16:08:49
Device Type: midi_device
Download URL (report link)
License (more info): AttributionNonCommercialNoDerivatives


A User Manual is also available:

A demo video on:

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.

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).



I've tried the device, still cant get it to work.I'm using ableton live 9 and max for live 6.1 (64bit).Don't know what Im doing wrong, I put the harmo filter and nothing happens...

Have a look to the manual:

Possibly you are using the "HarmoChord J74.amxd" + "HarmoChordFilterAPI J74.amxd" but forgot to put a "Scale" (Live MIDI device) in place (the device being modulated by chords and doing the actual filtering)

thanks man its working now

Hi Fabrizio, your tools are great for bass harmonization; what i miss is another device, maybe called HarmoChord2ScaleFilter which would recognize the chord and will adapt a ionian scale in case of a major chord or a dorian scale in case of a minor chord.
This way we could improvise over all the notes, not only on the triads of the chord.
This is the missing M4L device, far away better than Schwarzonator, because of your idea of real time harmonization, that is very cool.
If you would do it would be great, thanks.

In the latest version there is a new device (HarmoGuessScale) which goes this direction. It takes real-time MIDI input and starts collecting the notes. If this collection of notes reaches a match with a scale, it pilots the "HarmoScalie FilterAPI" to follow this scale (and finally the Scale device to match this scale as well for the actual filtering).



This is a great device, but I can't MIDI map the button ""Restart_Guess" on the HarmoGuessScale J74".

I wish I can map this function to my sofstep foot controller..

Could you do that?

Hey Fabrizio,

Great work as always, I've got a request: some times when I put the harmotools on a bass track, it doesn't stick to the root of the chord, sometimes it plays the third or fifth note instead of the root.If you could do like a special mode for bass tracks to always stick to the root of the chord it would be great.



Hi Farabee

I'll give the bass version a thought when I have some time.

Hey Fabrizio,

as Farabee asked in January, please please make an update for bass Track with correct root notes. Your Products and Tools are perfect.
But please give them Bass Track little time to program correct !

Thanks a lot

Your are a Maxforlive Ninja :-)



The "HarmoScale2Chords J74.amxd" device (which is a rack of chords, auto-populated using the diatonic method) has been modified.

I added the possibility to map a pad (chord) to an *incoming MIDI note*.
So each pad now can be triggered by an input MIDI note.
You can now play the pads (chords) more naturally, indeed.


Thanks Fab!
What changed today, Jan. 12, 2015?
Just installed the Harmotools folder, and I don't see anything with a date created stamp later than Nov. 3, 2014
Cheers to you,

The pack was update with a new device called "HarmoChordBass J74.amxd". This device receives the chord information detected from the "HarmoChord J74.amxd" device and plays out a line of bass based on the detected root. You can define triggers and pitch offset per step (in sixteens).


Hello Fabrizio,

many thanks for uploading with new device harmochordbass.amxd.
Its working fine but i think its to fix with the integrated sixteen step sequenzer ! I mean you have no control over velocity, note length and 32th or 16th ghost notes ! Thats the main properties of a good bass line.
Please make an update as fast as possible ! It should work like your device
HarmonyChordFilter.amxd it should use the Ableton internal Sequenzer !

Sorry for the new criticism ! ;-)



Hi Fabrizio,

Great stuff as always, and the new harmobass is great too.I only thought when you add it that you'd make it to do the same things as normal harmochords do but instead it would transfer the bass note of the midi clip clip according to what chord data the it gets (like in arranger keyboards).The whole idea was to make ableton do what arranger keyboards do, play accompaniment according to what chords you play.You've done a great work in this area and I really thank you for your time and effort, and I think this device will get better and better every time.Hope you'll consider my input in the new update for this device.



Based on some feedback (read above) I have updated J74 Harmotools again. The latest update includes a new filter called "HarmoTonicFilter J74.amxd".

This device receives the chord information detected from the "HarmoChord J74.amxd" device in the pack and filters any incoming MIDI transposing anything to the chord root note.

If input notes are octaves apart, the output chord roots will be also octave apart. You can also define the octave offset.

This is useful for having simple basslines as MIDI clip adapted to match the root of the currectly detected chord.

PS: For the ones that asked. A full sequencer for the "HarmoChordBass J74.amxd" is a good idea. If I have some time in the future I will give it a go.

Hello Fabrizio,

Thanks for fast uploading but
i doesn?t thought that a Bass Track would make so much programming Problems !

Your Tonic Device is not finished yet.

I have 3 tipps for making better tonic Device

1. It should recognize root notes and let the other Notes in Ableton Sequencer thru. Cause now every not is Root Note until the Octave is changing but between for example c1 until c2 you can't get other notes then root notes.

2. i saw that you can change the button to free filter its working better for me then Correct on Beat but when i change the chords FAST for example from Aminor to Cmajor in half seconds 0.5 sec. and backwards, there should come an extra trigger from the root note even when there is no note programmed in the moment until the next note will pick up and play further.

3. it will be great when we make a range of notes
for example Low C1 and High C3 and everything outside that range will play in the right note in the range.

To my person i?m about 15 Years Player Arranger Keyboards.
I know very well how this machines react. But its impossible for me to program like these cause having no programming skills

so please please Fabrizio bring an update !
i will donate on paypal when product is working fine !



The idea of HarmoTools was not to make an arranger keyboard anyway (a kind of device I kind of dislike....). So this is not an area I will research any further.


Hi Fabrizio,

The arranger idea came to mind (for me at least) when I saw the device you made because of my line of work (playing live mostly oriental music on arranger keyboards), and this device came like a send from heaven to me because I always wanted to use ableton live like an arranger keyboard with steroids lol.

Can't tell you how happy I am to see someone create such a device here.For the new tonic tool, it would be great to add an option to make it play the 5th or the third or maybe both after the tonic been played first (since it's a tonic device), hearing the tonic play over and over can get boring sometimes.Another option would be great too, making the bass play in a predefined range (like from c1 to g2 for example) so if it gets out of this range it would transfer the notes to this range.

great work as always



Wow just read bilo's comment and dang we have almost the same suggestions lol.

Hey Farabee,

Where you come from ? We play same Music Style !
Here is my email: moc.xmg.lugoket-agh try it backwards !

It seems that Fabrizio dont won't to create an Arranger Software !
But this devices are nearly perfect and very close to this Machines !
Anyway we cant force him to do that.
So we must look for another programming genius out there.
But if he would make a version he wouldt make good business,
because there are a lot users who will pay for such a system.



I simply wanted to share my amazement and gratitude towards Fabrizio for the outstanding set of tools he has - unbelievably - and kindly made available for us at zero cost. ( HarmoTools ). For what I do with M4L they are an invaluable asset, what an extraordinary person you are. Off to make a donation at your website. Thanks so very much.


There is a new update to the free J74 HarmoTools device set.
The new version (1.4) has the following changes:

- Scale recognition (guess) has been improved
- New devices added for analyzing and displaying chords and scales on a guitar layout.


Hi Fab,

I got a request, if we can talk in private that would be great.

Hello Fabrize, I'm a fan of your devices (recently made the purchase of the J74 progressive), but I have a problem with HarmoTools: I drag a midi channel harmoscale J74, then to another channel the harmoscalefilter J74 with an instrument and does not filter my scale. My versions of the software are: Ableton Live 9.6.1 x64, max for live 7.2.3, Windows 10 x64

There are a few simple test Liveset/Project in the ZIP pack. Check the examples there. If the example do not work, then try to update the Max version you have installed. PS: I check this page really 2-3 times per YEAR so please use the email-me link you can find on my website!

Hi, Fabrizio!

I'm working on a studio production template for Ableton Live. The main goal is to maximize creative output by automating as many of the tedious & time consuming aspects of production as possible, so that the user can spend less time clicking and dragging, and more time grooving and jamming. I think your J74 HarmoTools device would be a great addition to the template, and with your permission, I'd like to include it. I would, of course, leave all of your branding in place, credit you in the tutorial videos and instruction manuals, and plug whatever website/app/social media you'd like me to promote on your behalf.

Hope to hear from you soon!

Updates in version 2.0:
- New default mode of operation ("adapt") for the HarmoChordFilter which retains the structure of the original phrase doing harmonization of all notes. - The original mode ("fold") for the HarmoChordFilter is available as an alternative (using the mode selector)
- New HarmoAdaptFilter device which follows chords and filters using a scale. This expands on the "adapt"mode of the HarmoChordFilter by doing filtering in the context of the scale (and not of the chord)
- Fixes to various issues as of version 0.9
- Fixes to the test live sets

Hello !

I love using it but it seem there is a problem , especially with "HarmoScale2Chord"

Somes notes are not sent, it miss one on three on certains degrees, Exemple F melo min : degree one.

Can you help ?
Did someone has the same problem ?

Login to comment on this device.

[ browse device library ]