A technical support community for Apple Logic Pro users.

 
aksn
Topic Author
Posts: 6
Joined: Mon Jan 12, 2009 9:54 am

Korg Volca Sample MidiMapper

Sat Oct 07, 2017 8:47 am

Here's something I did today:
VSMM.jpg
VSMM.jpg (50.94 KiB) Viewed 58 times


Simple tool for Korg Volca Sample:
- Splits notes from (C1-A1) to seperate channels (1-10)
- Maps note velocity to sample level (CC7)
- Adjustable sliders for maximum level of each sample

Copy this to your MIDI FX Scripter:
//Korg Volca Sample MidiMapper v1.0, by aksn

function HandleMIDI(event) {

if (event instanceof Note  &&  event.pitch == 36) {
event.channel = 1;
}

if (event instanceof Note  &&  event.pitch == 37) {
event.channel = 2;
}

if (event instanceof Note  &&  event.pitch == 38) {
event.channel = 3;
}

if (event instanceof Note  &&  event.pitch == 39) {
event.channel = 4;
}

if (event instanceof Note  &&  event.pitch == 40) {
event.channel = 5;
}

if (event instanceof Note  &&  event.pitch == 41) {
event.channel = 6;
}

if (event instanceof Note  &&  event.pitch == 42) {
event.channel = 7;
}

if (event instanceof Note  &&  event.pitch == 43) {
event.channel = 8;
}

if (event instanceof Note  &&  event.pitch == 44) {
event.channel = 9;
}

if (event instanceof Note  &&  event.pitch == 45) {
event.channel = 10;
}

if (event instanceof NoteOn  &&  GetParameter(0) == 1) {
 var cc = new ControlChange();
 cc.channel = event.channel;
 cc.number = 7;
 cc.value = event.velocity / 127 * GetParameter(event.channel);
 cc.value = Math.round(cc.value);
 cc.send();
 // cc.trace();
}

    event.send();
    // event.trace();
}


var PluginParameters = [

{ name:"Velocity",type:"checkbox", numberOfSteps:1, defaultValue:1},
{ name:"Level (ch1)",type:"lin", minValue:0, maxValue:127, numberOfSteps:127, defaultValue:127},
{ name:"Level (ch2)",type:"lin", minValue:0, maxValue:127, numberOfSteps:127, defaultValue:127},
{ name:"Level (ch3)",type:"lin", minValue:0, maxValue:127, numberOfSteps:127, defaultValue:127},
{ name:"Level (ch4)",type:"lin", minValue:0, maxValue:127, numberOfSteps:127, defaultValue:127},
{ name:"Level (ch5)",type:"lin", minValue:0, maxValue:127, numberOfSteps:127, defaultValue:127},
{ name:"Level (ch6)",type:"lin", minValue:0, maxValue:127, numberOfSteps:127, defaultValue:127},
{ name:"Level (ch7)",type:"lin", minValue:0, maxValue:127, numberOfSteps:127, defaultValue:127},
{ name:"Level (ch8)",type:"lin", minValue:0, maxValue:127, numberOfSteps:127, defaultValue:127},
{ name:"Level (ch9)",type:"lin", minValue:0, maxValue:127, numberOfSteps:127, defaultValue:127},
{ name:"Level (ch10)",type:"lin", minValue:0, maxValue:127, numberOfSteps:127, defaultValue:127}


];

...and voila, now you have a Volca Sample which can be played from drumpads or keyboard with velocity response.

It's my first script on javascript, so feel free to criticise if somethings not right :)
 
User avatar
Eric Cardenas
Moderator
Posts: 21718
Joined: Sat May 07, 2005 1:47 pm
Location: Uppsala, Sweden
Contact:

Re: Korg Volca Sample MidiMapper

Sat Oct 07, 2017 9:25 am

Thanks so much for sharing.
This looks awesome.
Eric Bradley Cardenas
EC Making Sound
Mac mini 2.6 GHz 16GB RAM Areca⚡RAID | MacBook Pro 2.3 GHz 16GB RAM | Os 10.12.6
Logic Pro 10.3.2 | RME Fireface UFX | Adam A7 + Sub8 | Spectrasonics | Softube