nix
Converser
Posts: 7
|
Post by nix on Dec 17, 2013 9:03:44 GMT
Hi,
I' m using Beat-Machine as drum sequencer. Is there a way to start and stop the sequencer hitting a drum pad connected to my iphone 4S via the core midi in?
thank you
Max
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 17, 2013 9:57:40 GMT
Hi nix, From looking at their description, I would say almost certainly yes. I'm not familiar with the app but it says it supports MIDI clock sync and virtual MIDI. What we need to find out is whether it is possible to control the transport with a simple start/stop message or if it requires a full clock signal to control the transport (in which case you can use the new MidiBus app to do that for you). It may also respond to MIDI CC messages for transport control. I couldn't find any MIDI implementation reference on the web for this app - maybe that is published in the manual with the app (or not). The first thing you need to do is to determine the MIDI events that your external pads generate when hit, since these will be the key to setting things up. You can use one of the free Midi Monitor type apps or my own (not free) app MidiVision which will spit out the magic codes in the correct format for the Stream Byter, which you will need to map the pad hit to start/stop. I assume you want to hit one pad to start and another to stop. If you want the one pad to do both, then this requires the 'eccecello' scene gymnastics. I suggest you just do two pads to start with and leave that complexity for later if you want it. Let's assume that your start pad sends a MIDI note E3 (hex 40) and the stop pad an F3 (hex 41), here is the ruleset you will need: # remap pads to MIDI start/stop9X 40 01-7F = FA # start9X 41 01-7F = FC # stopYou add the above rules to the Stream Byter either on your physical CoreMIDI input (on left) where the pads are connected, or to Beat Machine's virtual destination (on right) assuming it has one. You then connect your CoreMIDI physical input (left) to Beat Machine's virtual dest (right).
When you hit the start pad, the note event gets converted to MIDI start and sent to Beat Machine and maybe it will start its transport. Same for the stop pad.
I have no idea whether this will work, but if the above gives you no joy, post back here and I will download the app and see what crazy incantations are needed.
Regards, Nic.
|
|
nix
Converser
Posts: 7
|
Post by nix on Dec 17, 2013 11:16:54 GMT
Wow, thank you for the quick answer! I will try as soon as possible and will post here the results. thank you so much, Nix
|
|
nix
Converser
Posts: 7
|
Post by nix on Dec 18, 2013 9:08:00 GMT
Hi Nic, After a long night of tries here what I understood. Considering that it was the first time i connected the drum pad through the iphone camera connector and that you have to take with a grain of salt what I'm writing because it's the first time I'm approaching to these arguments, I've found 2 kinds of issues: 1) It seems that Beat-Machine has a strange behavior with the Note on and Note off MIDI IN messages, meaning that the samples are played when a note on message arrives and stopped with a note off. So when I hit the pad sending quickly a note on/off sequence, the Beat-Machine doesn't generate any sounds (But i think you have to try it by yourself because I'm doing something wrong quite probably ). Anyway (for you little pleasure i suppose ) i bought MidiVision so attached to this post I send you the MidiVision logs of the Pad hits. 2) I added the rules you suggested placing it in the Stream Byter (in the left midibridge or in the right virtual midi Beat-Machine or in the left core midi usb in), trying also some variations without success: a) # your suggest 9X 50 01-7F = FA # start 9X 45 01-7F = FC # stop
b) # from channel 10 cause the pad sends MIDI messages from channel 10 99 50 01-7F = FA # start 99 45 01-7F = FC # stop
c) # sending both note ON and OFF (is it right or should I write 8-9 instead of N?) NX 50 01-7F = FA # start NX 45 01-7F = FC # stop
d) # sending a note OFF (is it right?) 8X 50 01-7F = FA # start 8X 45 01-7F = FC # stop
I've also tried to send start and stop messages to Beat-Machine through a software midi controller like MIDI DESIGNER and it works fine. Thank you for your patience and sorry for my english Nix Attachments:midivisionfiles.zip (697 B)
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 18, 2013 10:51:17 GMT
Hi nix,
I'll download the app and figure it out for you. It is probable that Beat-Machine is acting on the original note events from the pads directly too. It may not be possible to circumvent this, but I'll see,
I'm a bit swamped with seasonal events today, but will take a look tomorrow, so please allow for that.
Thanks for getting MidiVision! Certainly helps with hex conversions.
PS. Your English is just fine. Better than my non-existent italian ;-)
|
|
nix
Converser
Posts: 7
|
Post by nix on Dec 19, 2013 8:19:31 GMT
UPDATE:
Hi Nic,
after some other tries seems that the problem is in the CORE MIDI IN. I'm a bit confused about it. My basic configuration is an iPhone camera connector connected with an iPhone 4S. Reading around the web it seems that this connector is not compatible with the 4S but honestly what I see is that it works because, quite apart from the fact that the CORE MIDI IN is recognized as a device by Midibridge, if I open programs like for example SampleTank or MoDrum or DrumJam, it works pretty fine at least for note on and note off messages. But monitoring the hits on the pad with MidiVision I've noticed that any kind of variations made in the Midibridge filters like for example midi note remaps or splits, are not visualized in the Event View... i can see always the same note on and off messages for D1 and A1 like in the report i sent you. I've tried to apply the filters both in the core midi in and in the Midibridge devices but always with the same result.
Hope this will help.
Bye Nix.
P.S. I will have back my SynthStation25 this weekend.. as far as you know, is it possible to connect a midi usb device like a drum pad to the SS25 mini usb midi connector and acting like a core midi in device?
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 19, 2013 13:44:50 GMT
OK, I got it working. Here is what I did:
Assuming your pads are on channel 10
In Beat-Machine Settings:
- set MIDI in to 11 (yes 11) - set Virtual MIDI On - MIDI Clock Sync Receive, set Start, Stop, Continue On - Background Audio On
In MidiBridge:
- Connect the interface your pads are on (left) to Beat-Machine (right) - Touch the beaker on Beat-Machine (right) and go to the Stream Byter - Add this set of rules
# Beat-Machine/Pads - nix 99 50 01-7F = FA #start 99 45 01-7F = FC #stop X9 = XA # remap CH 10 to 11
Press 'Install Rules' to load the ruleset.
Hit the start/stop pad and the Beat-Machine transport should respond. Other pads (assuming they are mapped) will play the relevant sample.
The reason we are doing the channel 11 thing is because Beat-Machine listens to *all* ports on the device and it is receiving events from both it's own virtual input and the pads themselves (double notes). This is why you are not seeing the mapped notes in MidiVision.
As for the SS25, its USB port is slave only so it has to connect to a computer (or iDevice too with CCK), so you can't connect another slave device to the SS25 USB port. Sorry about that.
Regards, Nic.
|
|
nix
Converser
Posts: 7
|
Post by nix on Dec 19, 2013 14:39:43 GMT
Great!
I will try this evening and let you know if it works.
thank you Nix.
|
|
nix
Converser
Posts: 7
|
Post by nix on Dec 20, 2013 10:44:21 GMT
Dear Nic, with your tricks an my perseverance we did the job! The start and stop worked after inverting the position of the channel remap command... I put the remap command before the Pad assignment and of course had to change the Pad assignment channel from 10 to 11. On the other side the issues related to the note on/off sequences was significant... actually the pad didn't produced any sounds cause, as i wrote in a previous post, in Beat-Machine the samples were played with the note on message and stopped with the note off, so I had to block all the note off with a new command. The command is listed above and it works but please tell me if I can wrote it in a better formal and concise way. # Beat-Machine/Pads - nix X9 = XA # remap CH 10 to 11 8X XX 01-7F = 8X XX +B # Blocks all the incoming Note OFF 9A 31 01-7F = FA #start 9A 33 01-7F = FC #stop
Thank you Nix
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 20, 2013 11:23:15 GMT
Hi Nix,
Thanks for reporting back. I have a couple of refinements for you to consider.
I was using a keyboard to test, so you are right because the pads are sending a note off almost immediately, it is probably cutting off. Rather than block the note offs, maybe it would be better to delay them for a second? (should be long enough for drums unless some samples are longer than 1 sec)
I'm not really sure why moving the remap rule to the top made things work better for you, though.
Some devices send a note ON with velocity zero as note OFF (obviously your pads don't), so for completeness I have added that in too.
# Beat-Machine/Pads - nix X9 = XA # remap CH 10 to 11 8A XX = XX +D1000 # delay note off 9A XX 00 = XX +D1000 # delay note on zero (off) 9A 31 01-7F = FA # remap pad to start 9A 33 01-7F = FC # remap pad to stop
There will not be any performance improvement with my suggestions, so probably best to leave it all if it is working.
Regards, Nic.
|
|
nix
Converser
Posts: 7
|
Post by nix on Dec 20, 2013 12:36:43 GMT
Hi Nic, The idea to delay is obviously better than to block the note off, but i have to pin down on the time because there are some percussions, like wind chimes for example, that requires more than 1 second to play. About the position of the remap rule I will do some other try and report you the results, hoping that it will be useful for some other unlucky pad player bye Nix ,
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Dec 20, 2013 13:17:15 GMT
You could do different delays for different pads of course:
8A 34 = XX +D1000 8A 35 = XX +D5000
|
|