< Back to IRCAM Forum

MIDI Recording in Mubu

Hi there,

I’m wondering how to accurately record MIDI data into Mubu.

I’ve set up a Mubu track with the correct matrix size and column names for recording MIDI into my Mubu container (as per the Mubu help file info on data format).

Here I can see that mubu accepts durations against MIDI notes. Does this mean I need to calculate durations myself from the stream of MIDI info, packing them into a list for mubu.record? Is there a way for mubu.record to do this for me, and store the durations?

I’m dealing with polyphonic MIDI data, so I’m looking for a solution to record this into Mubu without having to chase down durations from different voices first.

Thanks,
Ben

Answering my own question perhaps, but should I be using borax for this?

Copying here a solution to my issue, using manual time-tags, borax and coll to collate MIDI to send straight into mubu.track. I noted @schwarz previously mentioned using mubu.track and the append message for manual timing. Thanks for the tip.

Perhaps there’s a more elegant solution to this, but this works so far. Please let me know if I’ve reinvented the wheel and there’s a simpler way to do this!

Cheers,

Ben


----------begin_max5_patcher----------
2267.3ocybs1qiZyD9y47qvhO0p2b1hMlaUsUpWdqT+P6V0aeYaUDIwIGZI.
BLm8rsp+2qu.IPhAbBNIm8nMnXCLyyyLdFi8D9mGlYsL6ERoE3SAuCLa1+7v
rYhl3MLq96yr1E8xpjnRwoYsJa2NRJ0ZtrOJ4Epn8GA+RUQJ3sa1.9prhnW.
ushV96oOB9IRIgJai+0uNgDU.95rjD.+qxKJ8nq4moQETvuDuiTzHnj3Txpr
pTgzbqaLdsP1YK+yGwAMmYdDc0SwoaWTPVQkPywC+F64.nss3fq3fOqMveTe
QoU6hSSHTAHgGZLqh1zpMuw+8gG3eLWS1Jk7dlxcBYQAKAPvRKEv.2znTxzO
jSjXvZYT5Vq4.qXN6W+085uJPa6KPaHje.i3ehPmGlcLGlWSR.tpPryvHVGH
5ILnNtCCQjRHBMqYcIvVEHQiZVaad0AyP2WEl0b.8ohJUPF1Kjq8fO8vP3VN
ns1aFFZOLtcUhab6aOK1hDs0vcl0l3Dxyjhx3rzVb2Lqn77VMOq0kv4n+LSb
iBluuo3TYSN6apf7b7w2V18sfARJCgUEBpw5Eulg+7aS1ZRQZU7dmTg0pVkD
1kzncjx7nUxKla9Z5tEsEJi74wO3gEzFNv9.uwr6aSxV8WDgoytowrbRZbZd
AK5cJMhVq666dMYSTUBcwlrTZY7eKz.H2WTQ+ap0PkcxwfP8+xh3nj8.XaQ7
5rTtRzwRvatQbuCHGBv+7.XDmQZTthKl4Uxnkd5rjAxpxkQEbC0xDRq.FLu8
rrjtcs+5RHan0cmGmldDKRyx6uyh3sOMv0tLi04tgt2hdJWTkJ6cAymftnL5
4trMMJIodva2a+KQow6hnDZrzDfr22IIMhAzmJWUvRT2AuxddVQOqY93qHuO
dM8IgfZ6LvN837FmHq8V40waIkztsQi1V1skR5GjjdqlpVVOFdAkrKOgghtm
.azQbIs7or2WVehMNZsIfCS8o8X51QB6z9PQD6FUbKWgZ0Qq3hH+1cbRrw8w
.GINHNPjx6jv+8l1quTeyZRETGfw7jAy+LZ0eAhk+0GsfGjVFMkwHzUfHLnO
bb5B1KcguMzkFjEzaZ9PdNslNrav3jB9l3CIjWOP1wdT+iwPMBIl4jLGny9O
6G018i5V8z7DQsi+HT9z0DApcuUTDbxTTf6cggtYNQnIyPPj8cghP2JJxY5T
j68wKx4VQQ3oSQg2GuHSlBSpC8wQtV5jWFIyHqCCzedY66UnlgY.OKch0d6Y
.zMiA7szJV5smBbtYTPfkVwJu8TfpHAGdJZ9ps1yyFI.Aue0bSYVUwplPgMy
UEzEOrmGjFmteQEd2gGLB.A+gV1lyUKD2bszBr7DuJZAeRr5yEWMs.poVzX5
tNZA5bzhqkeAe5N5qEnqkVfOGsv4ZMFAKu4ipE7j6WM+BgVfzQK7t1ZATGsv
+ZqE53WvyyziVT2XyRGawWev0KjqE5hHJsHdYEUFru8ZgeVqY21jrkQIGsPa
pVRuGNnblZKWNrJIcR7pylOLz1M.Qtuw2kMd.6+F1ATn3yybeVPW.P6aCVea
EMuhB9+Oy5DHRiCxRS9.6CPZFk7X1lMJ2qTzojCxan8JEJ1qTDahIt7EWWrw
ANNW+8JsOf+qkjZT+cBTSy.0bwuEkTw7b0E0tiiZGGOIpct2ntFh78.GvF+v
My4Ykwz3mIfeijjsJl9AsQNbHjaKvJ1ws0dieOQ9WlmSRWC9dRYYzVB3Qv2l
UriEnhrFrIq.rqZY0anE7EI8ihjmJeCLdjSR4wL3AVWUHhOBdtlm.qdJJMkj
7wJILrBByd.BC56KW1TbKByy99QX+LMqf.9lHZD3yZnh4RtX9dxX9d1XdCc7
EJoCuSoCX3PzANTtQzh.E9B1Hv+9wF+DCJEqY5H3aSXtDeDDrhWxIkfkhRL4
+AVwq8jMwEkzOV2APPeqQ2Pdr8qjwO+.KavmvBQ.9wn3BEoFgCEGLDcBVP12
05jIQEDbFsbJFtVBDnzEKyzcyRs2CJ2n.gg8BvMIYQCO0EjqeqH5iAuqdUwH
1Oq5H0aNZisZC4fdgrN1x5nw1ACWWHdWaztRTKEELMQAD8mfUsIOss.uxcv6
NZUKYAXfJfn2zFY136JQoC9RPoAGZVu00a5wkEMh87LptIYbWOA587t2E00d
Py9SkUFNowp1hYL3EdIkv0svE1eZ9v0SHHv+UgKbqRQoMHcCuLSHR5b5HK7P
GzcNLzm+4Jq2R2fAe9eM.HxC1LQt6bMkpNziq8TWgiPYpR4L1ucSBZm745Tj
3jMKcU0Q5k5nZWO9Sr9M28ZC9KTWWv9Wre59EnB95XZd8DmA6MkTENgNuJBy
TWSV8MO.r8kAROgoq1B5NR9P7Uepq7GLlWNkKVGQiTsnpCLTbdq+qwDcjqVf
LE44F0AedqjMY2xipb1bl5rubr8L9ZRKmznpoKN4UkttZFkEtG9hXOCN0BwJ
pnBmnyuz+03fFDib2zG8WGfiRlI7BXl10ITmmz6Rmg7f0EjxZBRc8.opB.Np
JXLETQSctVWc3dI97cpqiN30wZL6mG6oXC7vgnfP4+7fiiudVMsy0bJt4cKf
CIbOdyGqA8Ia5HtyFy2yFNhcNrgimPrZKIGcjD1.Rxyu8141ij7MAjvZ.IiI
nwPD+2fE.aBIgFSRgl.SHcjjQvDRC1CgNTxGSyyaTebjAXOjViaglRRN5HIn
IjDVGIgLgj7zQRNS02CpgcxDPpwBLnfb6TRZVYEqk+tHg2.QGnVz1SWziFDw
1T76XCC3qyVKlvjfzQGPZbSanNQYrMvX+i7LGPRSdDoVRxy.XxQWAYa.AM13
OSHGrNo2LwbEg5fn.SjxQyny1FPNPMjiIvCRC4L0AQN5DXvDyyQqzmlvkKPm
oxaBA4qiOmmIdpAecHOjQvjFBJz.t2dZJmohGWcbucLhjzwuy0HRxVmmgzHO
s5Mi8vd2JIgzIYNBYJIo0SqBMQVVaMxx1ERx0b5nWSJbYbzqGkid0nb5qEk9
eknb7qCEQ8r22qAkG92G9Ob1J8kJ
-----------end_max5_patcher-----------

Hi Ben,
great you found a solution! What a pity that borax doesn’t handle the channel, then you wouldn’t even need that coll. Note that the insertpoints message for mubu.track must be used. append will move the timetag after the last one.