Custom drum elementi kit and midi output

Sipaliwini
Posts: 436
Joined: Thu Jan 16, 2014 12:40 pm

Re: Custom drum elementi kit and midi output

Post by Sipaliwini » Mon Aug 26, 2019 11:50 am

Hello, sorry for only replying now and for not having documented the MIDI map feature better yet.

There are a couple of things that I think explain the behaviour that you have seen:

1) In the MIDI map screen, you can change MIDI notes for a whole element class (for example "Ride Bell") using the left column, or for a specific individual element (for example "Bell4" that you created) using the right column.

When an individual element doesn't have a custom MIDI note defined for it, Aerodrums will use the custom note that was defined for the element class it belongs to, or the default if there isn't one.

2) When you make a drum set, you can put elements in it that have the same class (for example several ride bells in different locations), or even that are the same specific element (for example three "Bell4" elements in different locations). The purpose of the "position" setting in the MIDI map screen is to let you assign a different MIDI note to these elements depending on the order in which they appear in the drum set. There are 9 possible positions. Unfortunately the only way to know what position an element has it to count how many elements of the same class (or same name if defining the MIDI note be individual element instead of class) are listed before it in the elements list you can see when you edit that drum kit in the Drum kits screen. Looking at your reports it also seems like their is a bug saving positions in the MIDI map file, I will look into it.

In the meanwhile, the solution that you have is a good one. Thank you both for investigating.

P.S. I wrote "position" but in the English interface that setting is called "Kit placement", sorry for the confusion.

Sipaliwini
Posts: 436
Joined: Thu Jan 16, 2014 12:40 pm

Re: Custom drum elementi kit and midi output

Post by Sipaliwini » Mon Aug 26, 2019 12:34 pm

Just a few more clarifications about points raised by Matteo an Wolfgang:

- in the MIDI map files, the kit placement setting (aka position in French) is saved in the "MapX.number" lines (not the positional_cc lines). This seems to work fine.
- Matteo's first attempt should have worked because in this case the "kit placement" setting should be irrelevant because the elements used are all distinct and (I presume) unique in that drum set. So there is definitely a bug.
- there is really not much info saved in the sample-less custom element files used as MIDI placeholders, as there is no audio data to save
- Aerodrums doesn't set note durations, but in the experiments we have done triggering non drum-set samplers, the samplers were setting a default duration value. Have you come across xylophone / piano / bass samplers that don't?
- Yes the graphics Aerodrums uses for the elements are very drum set specific. This will probably only change with new products.

It's a long week-end here in the UK. Matteo or Wolfgang, could you try changing the MapX.number lines back to 1 in the "BellX" kit that worked and let me know if it still works? If it does then the bug is about element name matching, not kit placement.

matteo2303
Posts: 6
Joined: Fri Aug 16, 2019 9:02 am

Re: Custom drum elementi kit and midi output

Post by matteo2303 » Wed Aug 28, 2019 3:07 pm

It's a long week-end here in the UK. Matteo or Wolfgang, could you try changing the MapX.number lines back to 1 in the "BellX" kit that worked and let me know if it still works? If it does then the bug is about element name matching, not kit placement.

Tested.

Using BellX.number always to 1 (like default) doesn't work to me.
Using BellX.number X work like expected.


Thank you for reply.

Bye
Mat

Wolfgang
Posts: 187
Joined: Tue Jul 07, 2015 11:36 am

Re: Custom drum elementi kit and midi output

Post by Wolfgang » Wed Sep 11, 2019 3:55 pm

Thanks Yann for making things more clear. So kit placements are only for the “By element type” section and not for the “by individual element” part. So there is a bug. And sorry for not having signalled this already two years ago, but I didn’t know it was a one. I thought my workaround was normal behaviour, even if I found it a bit strange.

You have asked us to reset Mapx.number back to 1, but I didn’t touch the ini file, not that I’m afraid to touch ini files, but I had done this 2 years ago with the GUI, so I just repeated the same procedure. My idea to change the Mapx.number parameter came by analysing my resulting ini file.

To resume your explications I tried a new test. I’ve created 4 new empty elements DOME1 to DOME4 and put them in a new drum-kit with 4 times the same 14in bop kick. After in MIDI maps I created a new map ADTEST, took Kick in the left column and associated B7, A#7, A7, G#7 to the first 4 Kit placements, and I took DOME1 to DOME4 in the right column and associated G7, F#7, F7, E7 to each first Kit placement.

The resulting ADTEST.ini is the attached ADTEST1.txt. The “By element type” part works like it should, but not the “by individual element” part.

After I applied the procedure I described before by setting another Kit placement to each DOMEx element and setting the first placement of DOME2 to DOME4 back to the default F2. The resulting ADTEST.ini is the attached ADTEST2.txt and is more than two times longer and I don't really understand what’s happening in there, but might give you some insight.

By the way, this time I saved all together and there is really no problem with saving. I was lead into error because each time I came back, I saw my element “en première position” even if I had saved it at another one. It’s when I’d put Aerodrums in English I understood my error.

The French and German translation sounds for me more like a statement:
Note MIDI pour la pièce DOME1, en 1st position dans la batterie
MIDI-Note für Element DOME1, an Position 1st im Drumset

but in English it sounds more conditional to me:
MIDI note for element DOME1, when placed 1st in the drum kit.

Sincerely
(I’ve send you a pm)

PS
No permission to upload .txt
ADTEST1
[MIDI map]

Name = ADTEST
Is_Preset = no

[Per element map]

Map0.name = DOME1
Map0.number = 1
Map0.channel = 10
Map0.note0 = 115
Map0.openness_cc = 0
Map0.positional_cc1 = 0
Map0.positional_cc2 = 0

Map1.name = DOME2
Map1.number = 1
Map1.channel = 10
Map1.note0 = 114
Map1.openness_cc = 0
Map1.positional_cc1 = 0
Map1.positional_cc2 = 0

Map2.name = DOME3
Map2.number = 1
Map2.channel = 10
Map2.note0 = 113
Map2.openness_cc = 0
Map2.positional_cc1 = 0
Map2.positional_cc2 = 0

Map3.name = DOME4
Map3.number = 1
Map3.channel = 10
Map3.note0 = 112
Map3.openness_cc = 0
Map3.positional_cc1 = 0
Map3.positional_cc2 = 0

[Element type map]

Map0.element_type = KICK
Map0.number = 1
Map0.channel = 10
Map0.note0 = 119
Map0.openness_cc = 0
Map0.positional_cc1 = 0
Map0.positional_cc2 = 0

Map1.element_type = KICK
Map1.number = 2
Map1.channel = 10
Map1.note0 = 118
Map1.openness_cc = 0
Map1.positional_cc1 = 0
Map1.positional_cc2 = 0

Map2.element_type = KICK
Map2.number = 3
Map2.channel = 10
Map2.note0 = 117
Map2.openness_cc = 0
Map2.positional_cc1 = 0
Map2.positional_cc2 = 0

Map3.element_type = KICK
Map3.number = 4
Map3.channel = 10
Map3.note0 = 116
Map3.openness_cc = 0
Map3.positional_cc1 = 0
Map3.positional_cc2 = 0

ADTEST2
[MIDI map]

Name = ADTEST
Is_Preset = no

[Per element map]

Map0.name = DOME1
Map0.number = 1
Map0.channel = 10
Map0.note0 = 115
Map0.openness_cc = 0
Map0.positional_cc1 = 0
Map0.positional_cc2 = 0

Map1.name = DOME1
Map1.number = 2
Map1.channel = 10
Map1.note0 = 53
Map1.openness_cc = 0
Map1.positional_cc1 = 0
Map1.positional_cc2 = 0

Map2.name = DOME1
Map2.number = 3
Map2.channel = 10
Map2.note0 = 53
Map2.openness_cc = 0
Map2.positional_cc1 = 0
Map2.positional_cc2 = 0

Map3.name = DOME1
Map3.number = 4
Map3.channel = 10
Map3.note0 = 53
Map3.openness_cc = 0
Map3.positional_cc1 = 0
Map3.positional_cc2 = 0

Map4.name = DOME2
Map4.number = 2
Map4.channel = 10
Map4.note0 = 114
Map4.openness_cc = 0
Map4.positional_cc1 = 0
Map4.positional_cc2 = 0

Map5.name = DOME2
Map5.number = 3
Map5.channel = 10
Map5.note0 = 53
Map5.openness_cc = 0
Map5.positional_cc1 = 0
Map5.positional_cc2 = 0

Map6.name = DOME2
Map6.number = 4
Map6.channel = 10
Map6.note0 = 53
Map6.openness_cc = 0
Map6.positional_cc1 = 0
Map6.positional_cc2 = 0

Map7.name = DOME3
Map7.number = 2
Map7.channel = 10
Map7.note0 = 53
Map7.openness_cc = 0
Map7.positional_cc1 = 0
Map7.positional_cc2 = 0

Map8.name = DOME3
Map8.number = 3
Map8.channel = 10
Map8.note0 = 113
Map8.openness_cc = 0
Map8.positional_cc1 = 0
Map8.positional_cc2 = 0

Map9.name = DOME3
Map9.number = 4
Map9.channel = 10
Map9.note0 = 53
Map9.openness_cc = 0
Map9.positional_cc1 = 0
Map9.positional_cc2 = 0

Map10.name = DOME3
Map10.number = 5
Map10.channel = 10
Map10.note0 = 53
Map10.openness_cc = 0
Map10.positional_cc1 = 0
Map10.positional_cc2 = 0

Map11.name = DOME4
Map11.number = 2
Map11.channel = 10
Map11.note0 = 53
Map11.openness_cc = 0
Map11.positional_cc1 = 0
Map11.positional_cc2 = 0

Map12.name = DOME4
Map12.number = 3
Map12.channel = 10
Map12.note0 = 53
Map12.openness_cc = 0
Map12.positional_cc1 = 0
Map12.positional_cc2 = 0

Map13.name = DOME4
Map13.number = 4
Map13.channel = 10
Map13.note0 = 112
Map13.openness_cc = 0
Map13.positional_cc1 = 0
Map13.positional_cc2 = 0

Map14.name = DOME4
Map14.number = 5
Map14.channel = 10
Map14.note0 = 53
Map14.openness_cc = 0
Map14.positional_cc1 = 0
Map14.positional_cc2 = 0

[Element type map]

Map0.element_type = KICK
Map0.number = 1
Map0.channel = 10
Map0.note0 = 119
Map0.openness_cc = 0
Map0.positional_cc1 = 0
Map0.positional_cc2 = 0

Map1.element_type = KICK
Map1.number = 2
Map1.channel = 10
Map1.note0 = 118
Map1.openness_cc = 0
Map1.positional_cc1 = 0
Map1.positional_cc2 = 0

Map2.element_type = KICK
Map2.number = 3
Map2.channel = 10
Map2.note0 = 117
Map2.openness_cc = 0
Map2.positional_cc1 = 0
Map2.positional_cc2 = 0

Map3.element_type = KICK
Map3.number = 4
Map3.channel = 10
Map3.note0 = 116
Map3.openness_cc = 0
Map3.positional_cc1 = 0
Map3.positional_cc2 = 0

Post Reply