Jump to content

chromatic transposition


Radiussound
Go to solution Solved by Eric Cardenas,

Recommended Posts

Hi,

 

The midi notes in my project are recorded with a single drumpad.

The drumpad is assigned to key C1 so all the midi notes are in C1.

How can I transpose all the midi notes Chromatically up from C1?

 

Here is an idea of the result I am after > C1 - C#1 - D -D# - E etc.

 

In stead of: C - C - C - C - C ( like it is now in my project )

 

Thanks

Link to comment
Share on other sites

Why?

 

Steve

 

Hi Steve,

 

It is because it works best for me in some projects.

I've composed a composition in chord trigger with a lot of complex rhythms which can be best played by me on a drumpad. 1st note of composition starts on C1 in chord trigger, and from C1 it goes chromatically up to C#1 etc.

 

After a long search on the internet I didn't find any results on how to transpose this way.

I hope it is possible in Logic Pro X.

Link to comment
Share on other sites

What about the MIDI Transform?

Indeed. In the example below I used:

• Position = Inside 1 1 1 1 – 2 1 1 1

• Status = Note

• Pitch = Cresc. C1 – G#1

 

Let me know if you have any questions.

 

transform.gif

 

Hi David,

 

I seem to be doing something wrong. There a double notes on the same key. This is what I did:

- recorded 10 midi notes on C1 from position 1 1 1 1 to 3 1 1 1.

- Selected the region & opened Midi Transform

- created New Parameter Set in Midi Transform

- Position = Inside 1 1 1 1 - 3 1 1 1

- Status = note

- Pitch = Cresc. C1 - A1. (C1 + 10 notes = A1)

 

I added screenshots of the above.

 

Sometimes notes in the piano roll are skipped < (have not added screenshots of this issue)

1.png.42254414980f484da37af073d5950ce4.png

2.thumb.png.1b025abb3c01ea716ff4f00661246ef2.png

3.thumb.png.9ad1dd374dee1e29d2af3a8ac08195de.png

Link to comment
Share on other sites

  • Solution

Transform is not going to cut it once you include complicated rhythms.

You can try this script in the the first MIDI-FX slot, or before the Chord Trigger.

I've included a way to reset and start from C1 again. It is now tied to the Modulation Wheel, but you can change it to another CC if you need.

 

//-----------------------------------
var TITLE = "ECX Chromatic Pitch Up";
var triggerNote = 'C1';
var resetCC = 1;		
//-----------------------------------

var accend = [];

function Reset() {
accend = [];
}

var trigNr = MIDI.noteNumber(triggerNote);

function HandleMIDI(e) {
if (e instanceof ControlChange && e.number === resetCC && e.value >= 90) {
	accend = [];
}
	
if (e instanceof NoteOn && e.pitch === trigNr) {
	e.pitch += accend.length;
} 

if (e instanceof NoteOff && e.pitch === trigNr) {
	e.pitch += accend.length;
	accend.push(e.pitch);
	
	if (e.pitch >= 127) {
	accend = [];
	}	
}	
e.trace();
e.send();		
}

var PluginParameters = [{
	name: TITLE,
	type: "text"
}]

Link to comment
Share on other sites

Transform is not going to cut it once you include complicated rhythms.

You can try this script in the the first MIDI-FX slot, or before the Chord Trigger.

I've included a way to reset and start from C1 again. It is now tied to the Modulation Wheel, but you can change it to another CC if you need.

 

//-----------------------------------
var TITLE = "ECX Chromatic Pitch Up";
var triggerNote = 'C1';
var resetCC = 1;		
//-----------------------------------

var accend = [];

function Reset() {
accend = [];
}

var trigNr = MIDI.noteNumber(triggerNote);

function HandleMIDI(e) {
if (e instanceof ControlChange && e.number === resetCC && e.value >= 90) {
	accend = [];
}
	
if (e instanceof NoteOn && e.pitch === trigNr) {
	e.pitch += accend.length;
} 

if (e instanceof NoteOff && e.pitch === trigNr) {
	e.pitch += accend.length;
	accend.push(e.pitch);
	
	if (e.pitch >= 127) {
	accend = [];
	}	
}	
e.trace();
e.send();		
}

var PluginParameters = [{
	name: TITLE,
	type: "text"
}]

 

 

 

@ Eric,

 

Wow,

This is exactly what I was hoping for to be possible in Logic. Now I can play it back and do it in realtime. What a marvellous way to reset using modulation wheel (or any other cc) Thank you soo much. You are a lifesaver :).

I noticed the transform way David described works, but if rhythm is complicated, the note structure is cut.

Thanks.

 

@ David,

Thanks for the help with the transport window. I can definitely use it with some other purposes.

 

 

All the best,

 

Radiussound!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...