[chuck-users] Chuck's capture of Midi broken?

Michael Heuer heuermh at gmail.com
Sun Sep 14 23:12:16 EDT 2014


Hello Daniel,

I can't say I'm seeing the same thing; if I add

<<<now, control, note, velocity>>>;

to the MIDI controller class here (at line 155)

https://github.com/heuermh/lick/blob/master/AlesisQX25.ck

and run this example

https://github.com/heuermh/lick/blob/master/examples/alesisQX25Example.ck

For three separate notes

"ready" : (string)
29634816.000000 144 46 9
keyOn 46 9
29639168.000000 128 46 15
keyOff 46
29665024.000000 144 44 20
keyOn 44 20
29669120.000000 128 44 12
keyOff 44
29695488.000000 144 42 39
keyOn 42 39
29701376.000000 128 42 11
keyOff 42

three played legato slowly

29774336.000000 144 46 19
keyOn 46 19
29796864.000000 144 44 27
keyOn 44 27
29821184.000000 144 42 33
keyOn 42 33
29850880.000000 128 46 55
29850880.000000 128 44 36
keyOff 46
keyOff 44
29851136.000000 128 42 44
keyOff 42

and three played legato quickly

29971200.000000 144 46 14
keyOn 46 14
29972992.000000 144 44 78
keyOn 44 78
29976576.000000 144 42 83
keyOn 42 83
30014976.000000 128 46 56
keyOff 46
30015744.000000 128 44 55
keyOff 44
30016000.000000 128 42 39
keyOff 42

The first column is counting off samples at 44.1 kHz so the key on/off
events aren't coming as fast as they are in your example though.
Maybe if I could play keys better.  :)

And I'm running on OSX 10.9 with chuck built from source, which
reports its version as chuck version: 1.3.5.0-beta-4 (chimera).

   michael


On Fri, Sep 12, 2014 at 7:43 PM, Daniel Chapiro <dchapiro at gmail.com> wrote:
> Hi - I think that Chuck's Midi methods seem not to be working (except for very simple examples), as Chuck is dropping Midi events - I'm using the pre-compiled version of Chuck 1.3.0 (gidora), on a Mac Mini (2.7GHz I7), with OSX 10.7.5 (Lion).
>
> The only type of ON/OFF sequence in which Chuck seems not to "swallow" any notes is of the form Note1 ON, Note1 OFF, Note2 ON, Note2 OFF…  Instead, I'm generating Midi streams in which there are new note On events before the prior note goes off. They happen when I play legato with a Yamaha WX5 wind controller, but any Midi keyboard would also generate such sequences if one presses a new key before releasing another one that is already sounding.
>
> I captured the following short sequence with the "MIDI Monitor" app (http://www.snoize.com/MIDIMonitor/). Also it sounds fine with different sound generators):
>
> 20:34:33.026    From In Note On 1       E2      22
> 20:34:33.030    From In Control 1       Breath Control (coarse) 20
> 20:34:33.036    From In Control 1       Breath Control (coarse) 25
> 20:34:33.041    From In Control 1       Breath Control (coarse) 27
> 20:34:33.071    From In Control 1       Breath Control (coarse) 29
> 20:34:33.182    From In Control 1       Breath Control (coarse) 30
> 20:34:33.207    From In Note On 1       F2      30
> 20:34:33.208    From In Note Off        1       E2      0
> 20:34:33.534    From In Note On 1       G2      30
> 20:34:33.535    From In Note Off        1       F2      0
> 20:34:33.664    From In Control 1       Breath Control (coarse) 32
> 20:34:33.845    From In Note On 1       A2      32
> 20:34:33.846    From In Note Off        1       G2      0
>
> Capturing the same with Chuck only shows the 1st Note ON (and all the CCs, which are correct), but the rest of the Note ONs/OFFs vanish (BTW, playing very slowly makes no difference). To make sure it was not some bug in my code, I captured the Midi using just Chuck's example in miniAudicle->File->Open Example->MIDI->gomidi (the numeric output is converted below, just for readability):
>
> Note On E2      22
> CC      BC (msb)        20
> CC      BC (msb)        25
> CC      BC (msb)        27
> CC      BC (msb)        29
> CC      BC (msb)        30
> CC      BC (msb)        32
>
> Only by fully ending each note before playing the succeeding one, all the Note ONs/OFFs show up. But that's not useable...
>
> Any help on incantations for Chuck, workarounds, or a fix would be great! (particularly since after learning to ChucK from Rob Poor's Oxygen8, the rest of my ChucK code seems to be working nicely :-)
>
> Thanks!
> Daniel
>
>
>
>
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


More information about the chuck-users mailing list