Bulk-Import Chord Sets from MIDI (and subfolders for chord sets)

There are a ton of existing MIDI chord files in existence, which would be really useful to use inside of Scaler. I was hoping to be able to bulk-import a bunch (or even individually import them), but unless I’m mistaken it appears we have to manually drag each one on and then save it out, which is really time consuming.

Also, the more sets you add, the longer your User menu gets. Organising these chord sets into sub folders only results in a list that looks like this:

  • Artist 1/Song1
  • Artist 1/Song2
  • Artist 2/Song 1

instead of a nested hierarchy that only shows the top-level folders. It would be nice to have the same structure as in the Artists section (actually, it would be nice to add your own artists into the Artists section, as this is a more suitable location, with User reserved for your own sets).

1 Like

This maybe more involved that at first glance it appears, as it’s natural to assume that the progressions in Scaler are held externally to the executable. However, apart from, some location items in the registry, a couple XML files with settings and other data and the .flac sound files, the VSTs don’t seem to write or read anything external. (A quick check with System Internals “Process Explorer” seems to confirm this.)

I’m not a techie, but this seems to imply that all the progression data is held within the executable itself. So at first glance it might appears that loading in a stack of MIDI files is a straight forward extension to some existing process, it probably means adding a complete sub-structure to do this, which is maybe more major.

1 Like

Ah, that wouldn’t surprise me. I know that often, the more the simple-sounding things are the most tricky.

Given that Scaler can already determine chord sets from both MIDI and audio, I was hoping maybe there was a way - that it could read in the MIDI, convert it into notes, and detect it in the same way as it detects MIDI from a DAW. Perhaps not.

Well, it can and does read external MIDI data in the ‘state files’. These are in XML and it uses these data to re-instate the position when the save was done.

So lets say we call up a C maj scale and drop C maj into section C.

Now we Save State, and call up the file, we see


…and you see note numbers 48/52/55 (C E G)

If we edit this, and change 52 to 51 (Eb) so

C Eb G

i.e.48/51/55, then load it the file back with ‘Import State’ this results in

C min

Ta Dah ! C min, as we had hoped.

So what this means are there are elements of a mechanism in Scaler to save imported data and then restore that data. Also means that it doesn’t blow up if you know what to modify.

So on the board, people have complained about the velocity of the chords. No problemo … save state, edit the velocity and reload.

velocity 40

We can now see when imported to Live, that this has been reduced to 40

reduced velocity

The foregoing is not a viable practical approach but it illustrates Scaler does have such capabilities. It seems to me this is more one about how any imported data are integrated with progressions currently embedded in the executable.

1 Like

Haha. Also, nice investigative work, there :slight_smile:

If you want to read more, go to


I agree this needs to be improved and I like your suggestions.

1 Like

Thanks. And I guess it could potentially form an additional revenue stream (example) given that PB/Loopcloud already do that kind of thing.

P.S. Actually, being able to convert from .mxp (Cthulhu’s format) would be very nice, too, but I appreciate it may be too niche to warrant inclusion. Scaler is what I always hoped Cthulhu would develop into!