Korg Triton Le: How to record Arpeggios as MIDI

Linux howto's, compile information, information on whatever we learned on working with linux, MACOs and - of course - Products of the big evil....
Post Reply
User avatar
^rooker
Site Admin
Posts: 1483
Joined: Fri Aug 29, 2003 8:39 pm

Korg Triton Le: How to record Arpeggios as MIDI

Post by ^rooker »

[PROBLEM]
I wanted to record a Korg Triton Le, but the audio output AND the MIDI signals, too.

Simply recording what's coming from the Korg's MIDI output didn't do the trick, because most of the song was actually generated using Korg's Arpeggios - AND they're sent to the Internal sequencer, thus not showing up on the recording device. :(


[SOLUTION]
Change the Arpeggios options to use to the external (EXT) MIDI output (instead of the Internal one (INT)).

In the menu: "Combi 3.1" you have a list of the Timbres assigned to each Arpeggiator (A or B) and they're defaulting to "INT and GCh" which means (Internal and Global Channel) - Change the "INT" to "EXT".


[DRAWBACK]
Each Timbre sent to EXT is not handled by the internal sequencer anymore which means that you will NOT receive the Korg's audio signal for it.
User avatar
^rooker
Site Admin
Posts: 1483
Joined: Fri Aug 29, 2003 8:39 pm

Using Arpeggiator as Metronome

Post by ^rooker »

The reason I wanted to have the Arpeggiator's MIDI signal with the audio recording was, that I needed it as some kind of Metronome.

(I'm supposed to play the drums to a keyboard track, which is really hard, since there's no short-timed "click", but just a bass playing which makes exact timing almost impossible!)

As mentioned above, each Arpeggiator-Timbre sent to EXT disappears from the original audio signal coming from the Korg - but in this case, it's sufficient to add another Timbre and send that one to EXT.

I'm planning to strip all unnecessary notes from the recorded Arpeggiator-MIDI-track, assign it to channel 10 (Drumkit), so I have a nice metronome which is in perfect sync with the recorded audiotrack.

voila! :idea:
User avatar
^rooker
Site Admin
Posts: 1483
Joined: Fri Aug 29, 2003 8:39 pm

the better Metronome...

Post by ^rooker »

I must admit now that I simply had NO clue about how to handle this Triton Le properly. :oops:

Of course it's absolutely possible to output a Metronome signal without affecting the main audio output. There are several ways of doing that. The easiest one (I know so far) is to simply use the Sequencer-Mode and do this:

1) Set Metronome to "Play&Rec"
2) Choose individual output (instead of L/R) for it.
User avatar
^rooker
Site Admin
Posts: 1483
Joined: Fri Aug 29, 2003 8:39 pm

some Notes missing

Post by ^rooker »

[PROBLEM]
Now this one really scared the hell out of me:

I fiddled around with a lot of features of the Triton and when I went to check some Combination we used previously, I heard that there were notes missing. :shock:

After checking all the arpeggiator settings, even re-loading factory defaults and restoring settings previously saved on external memory - still: that combination (and a few others) just sounded "slightly" different .

(The sound came from the main output (not headphones)).


[SOLUTION]
On the next morning, I wanted to solve this misery, and so I put the headphones on because others were still asleep...
And when I wanted to listen to the "broken" Combi, the solution immediately appeared to me :idea:
The broken effect was stereo!! - The "missing" notes were on the right channel
I knew that I wired the main output only mono, but that was never a problem - so what happened?

There was a 6.3mm to 3.5mm adapter plugged in the right main outaput, causing the circuit to correctly assume a stereo wiring.

that's was it.
User avatar
^rooker
Site Admin
Posts: 1483
Joined: Fri Aug 29, 2003 8:39 pm

pd (pure data) - MIDI clock

Post by ^rooker »

[PROBLEM]
How to build your own MIDI clock generator using pd (pure data) ?


[SOLUTION]
The MIDI clock is only a single byte message to be sent over MIDI, thus we can easily use the "midiout" object and feed it "248" (= 0xF8, which is the number for "MIDI clock") as a message.

Now we take the metronome controlled "makenote" example from pd's MIDI help and connect it to the MIDI clock message. Now we connect a number field to the second input of "metro" to control the speed and we're done!

Here's roughly what it looks like:

Code: Select all

on      off
 ____   ____
[1__(  [0__(
|      |
|-----/
|
|___            ___
[0__\    Speed [20_\
|              |
|-------------/
|
[metro 500]
|
|
|_____
[248_(
|
[midiout]
Legend:

Code: Select all

 ___
[0_(     Message
 __
[0_\    Number
 
[midiout]     Object

[NOTE]
I think that this implementation is still more a hack than a fully compatible MIDI clock. I'm suspecting this, because I've converted its output to notes, recorded it and viewed it in a piano roll editor.
The timing of those ticks was very (VERY!) strange... I'll have to check that. Additionally, I'd like to add song-positioning mechanism to this small pd-patch.
Last edited by ^rooker on Sun Feb 19, 2006 3:50 pm, edited 1 time in total.
User avatar
^rooker
Site Admin
Posts: 1483
Joined: Fri Aug 29, 2003 8:39 pm

BPM is not BPM

Post by ^rooker »

"BPM is not BPM" - or: "What the hell is wrong with my song?"

[PROBLEM]
I was trying to synchronize a music keyboard with a drum sequencer using MIDI clock. The keyboard was using its arpeggiator feature, claiming the tempo for it to be 120 BPM. Fine. So I just set the MIDI clock in my recording software to 120 BPM, but then the drums were too slow. They were exactly in-time, but simply too slow. Now what the hell...? :shock:

I thought: "a-haa! no problem. I'll just double the clockspeed for the drums, because it's gotta be faster, and it can't be anything in between...".
I was wrong. 240 simply was too fast.

[SOLUTION]
In the end I figured out that it makes sense in a musical way to have the arpeggiator running at 120, but playing a 160 BPM beat to it. Since those two speeds have a common divisor, the timing is ok.

It's kind of hard for me to clearly visualize that problem in my head, but I've heard it and so I know it's a fact.

If I understood it correctly, it looks somewhat like this: ('o' is the end of the rhythm)

Code: Select all

   ------------------c---b--------a
a  120 x        x        x        o        x        x        x
b  160 x     x     x     o     x     x     x     o     x     x
c  240 x   x    x    o   x   x    x    o   x   x    x    o   x
[PROBLEM #2]
Unfortunately this is easy to solve for recording purposes, but it poses an ugly problem for live scenarios: Synchronizing several devices using MIDI clock, but some of them need different BPMs?? -ouch-

[SOLUTION #2]
I've written my own cheap MIDI clock using pd, so it think it's possible to generate 2 different BPM signals based on the same "metro"-object.


[PROBLEM #3]
(...it never ends.... :x )
Each clock needs its own MIDI device (since the clock is channel independent). soooo? how to fix that?

[SOLUTION #3]
For some setups (and mine, too I hope) there are workarounds using MIDI loopback devices, since the drum sequencer is software and only the Triton LE (keyboard) is connected by cable.

Actually, I think the arpeggiator pattern should be changed to make it cleanly work with the drum-tempo. From the drummer's point of view I'd say that all instruments should listen to the drum - and not the other way round, or with mixed BPMs 8)
User avatar
^rooker
Site Admin
Posts: 1483
Joined: Fri Aug 29, 2003 8:39 pm

Pure Data MIDI clock #2

Post by ^rooker »

Finally, I've found the time to return to my pd-midi-clock problem. And I've solved it slightly better than with my first try.

Here's my code (midiclock.pd):

Code: Select all

#N canvas 0 0 530 735 12;
#X text 101 47 off;
#X msg 51 72 1;
#X msg 104 72 0;
#X text 48 48 on;
#X floatatom 250 272 5 1 1000 0 Speed - -;
#X obj 104 460 midiout;
#X msg 104 398 252;
#X obj 158 398 248;
#X obj 51 397 250;
#X msg 51 242 bang;
#X obj 51 272 delay 1500;
#X floatatom 284 204 5 0 0 0 - - -;
#X floatatom 161 71 5 0 500 2 Speed_(BPM) - -;
#X obj 250 240 /;
#X obj 284 168 * 24;
#X msg 223 203 60000;
#X msg 223 169 bang;
#X text 28 1 by ^Rooker (rooker@das-werkstatt.com);
#X text 244 82 Convert BPM to metro intervals: (60000msec / (24*BPM))
;
#X text 213 424 Delay: make sure slave has enough ticks to guess tempo
correctly.;
#X obj 158 316 metro 20;
#X text 10 378 MIDI start / stop / clock;
#X text 27 -15 MIDI Clock Implementation:;
#X connect 1 0 9 0;
#X connect 1 0 20 0;
#X connect 2 0 6 0;
#X connect 2 0 20 0;
#X connect 4 0 20 1;
#X connect 6 0 5 0;
#X connect 7 0 5 0;
#X connect 8 0 5 0;
#X connect 9 0 10 0;
#X connect 10 0 8 0;
#X connect 11 0 13 1;
#X connect 12 0 14 0;
#X connect 12 0 16 0;
#X connect 13 0 4 0;
#X connect 14 0 11 0;
#X connect 15 0 13 0;
#X connect 16 0 15 0;
#X connect 20 0 7 0;
It's based on the patch shown above (with only the metro triggering a 0xF8 midi clock msg, but with several enhancements:

1) Starting/stopping the clock sends MIDI start / MIDI stop signals.
2) The start signal is delayed (by 1.5sek) to avoid strange hickups on some clients - but that delay can easily be omitted
3) The speed can be input in BPM (which makes it usable at all!)


Footnote: "This patch is released under the GPL."
Jumping out of an airplane is not a basic instinct. Neither is breathing underwater. But put the two together and you're traveling through space!
Post Reply