Post by frikilax on Aug 24, 2017 12:56:07 GMT
I recently started to play Phase Shift again after some time, and I have tried to connect my Roland HD-1 to my computer via a (cheap) MIDI-to-USB.
Of course, like a number of other dudes that tried before me, I've stumbled across the following problem : when hitting multiple notes at once, almost every time Phase Shift will only recognise one of them.
After trying different things and playing around with the midi_data.exe program you provide, I think I understood some things :
- when you hit a zone, there is always 2 notes coming out, differentiated by the "type" (I don't quite understand this parameter) and the fact that the second one is always at value 064 (I believe this must be the center value of the strength applied)
- I believe in Phase Shift, you filter those two notes by selecting only the "type 9" note
- when you hit several zones at once, the MIDI has the tendency to put one note on channel 9, and the others at channel 0
- in fact, Phase Shift only selects hits from channel 9 and type 9, thus filtering double inputs and not taking the others hits it should take (because they end up in channel 0)
Thus, I managed to make Phase Shift take double (or upper) hits by adding the configurations in midi_profiles.ini (adding for example lines like : "<RED>38,0,0</RED>" below "<RED>38,9,0</RED>").
Of course there is still a big problem : when doing the test with midi_data.exe, you realise both inputs of one of the hits you've made at the same time have the same "type" (see picture)
So when you hit 2 or more zones at the same time, Phase Shift takes once one of the hits and twice the other one(s) ! Which means every time you don't hit one zone at a time (which is really frequent with drums) you end up with ghost notes being played, screwing your combo...
However, I've found another way this could be corrected, and it would almost perfectly solve the problem : instead of filtering the inputs by their type, let's filter them by their value !
This has to be verified, as I tried only with my drumkit, but every second input from a hit has the 064 value, so I believe those can be deleted quite easily.
Of course this brings another problem, as you can still hit a zone with appropriate strength to give it the 064 value, but this can be corrected by looking for close consecutive MIDI inputs with same note and value 064, and letting one be chosen.
I don't really know if you're still developing the game, but I believe that would be quite easy and fast to implement.
I tried to be as clear as possible, but English is not my main language and it's easy for me to get complicated when I write, so please feel free to ask for more details if something is not clear.
Of course, like a number of other dudes that tried before me, I've stumbled across the following problem : when hitting multiple notes at once, almost every time Phase Shift will only recognise one of them.
After trying different things and playing around with the midi_data.exe program you provide, I think I understood some things :
- when you hit a zone, there is always 2 notes coming out, differentiated by the "type" (I don't quite understand this parameter) and the fact that the second one is always at value 064 (I believe this must be the center value of the strength applied)
- I believe in Phase Shift, you filter those two notes by selecting only the "type 9" note
- when you hit several zones at once, the MIDI has the tendency to put one note on channel 9, and the others at channel 0
- in fact, Phase Shift only selects hits from channel 9 and type 9, thus filtering double inputs and not taking the others hits it should take (because they end up in channel 0)
Thus, I managed to make Phase Shift take double (or upper) hits by adding the configurations in midi_profiles.ini (adding for example lines like : "<RED>38,0,0</RED>" below "<RED>38,9,0</RED>").
Of course there is still a big problem : when doing the test with midi_data.exe, you realise both inputs of one of the hits you've made at the same time have the same "type" (see picture)
So when you hit 2 or more zones at the same time, Phase Shift takes once one of the hits and twice the other one(s) ! Which means every time you don't hit one zone at a time (which is really frequent with drums) you end up with ghost notes being played, screwing your combo...
However, I've found another way this could be corrected, and it would almost perfectly solve the problem : instead of filtering the inputs by their type, let's filter them by their value !
This has to be verified, as I tried only with my drumkit, but every second input from a hit has the 064 value, so I believe those can be deleted quite easily.
Of course this brings another problem, as you can still hit a zone with appropriate strength to give it the 064 value, but this can be corrected by looking for close consecutive MIDI inputs with same note and value 064, and letting one be chosen.
I don't really know if you're still developing the game, but I believe that would be quite easy and fast to implement.
I tried to be as clear as possible, but English is not my main language and it's easy for me to get complicated when I write, so please feel free to ask for more details if something is not clear.