[chuck-users] Midi time problem

Eugene Martynec eugenemartynec at gmail.com
Thu Dec 8 19:08:56 EST 2016


Greetings

Why not send each track instrument a separate midi channel on a single
port. Question is will Cubase do that. It used to only allow one midi
channel at a time when recording. Certainly that is no longer the case?

On Dec 8, 2016 18:28, "Gonzalo" <gonzalo at dense13.com> wrote:

> I found this:
>
> "...the MIDI specification has different parts. One part describes MIDI
> "wire" protocol (messages sent between devices in real time), and another
> part describes Standard MIDI Files (messages stored as events in
> "sequences"). In the latter part of the specification, each event stored in
> a standard MIDI file is tagged with a timing value that indicates when that
> event should be played. By contrast, messages in MIDI wire protocol are
> always supposed to be processed immediately, as soon as they're received by
> a device, so they have no accompanying timing values".
>
> (https://docs.oracle.com/javase/tutorial/sound/MIDI-messages.html)
>
> Might suggest there's no problem with the MidiMsg. Maybe it's a Cubase
> issue? Someone suggested it's a Midi TimeCode issue, but I know nothing
> about that. I'll keep looking, but if anybody has any more info that'll be
> very welcome.
>
> Gonzalo
>
>
>
> On 09/12/16 00:11, Gonzalo wrote:
>
>> Thanks Michael,
>>
>> This might be a bit over my head, but I'll look into it. Never checked
>> Chuck's source code before, at the very least it'll be fun. :)
>>
>> Gonzalo
>>
>>
>> On 08/12/16 23:28, Michael Heuer wrote:
>>
>>> On Thu, Dec 8, 2016 at 3:52 PM, Gonzalo <gonzalo at dense13.com
>>> <mailto:gonzalo at dense13.com>> wrote:
>>>
>>>     Hi,
>>>
>>>     I'm using Bruce Murphy's MIDIsender class
>>>     (http://www.rattus.net/~packrat/audio/ChucK/files/midisender.ck
>>>     <http://www.rattus.net/%7Epackrat/audio/ChucK/files/midisender.ck>)
>>>     to generate MIDI from my Chuck code. I'm sending this MIDI to
>>>     various virtual MIDI ports (using OSX's IAC Driver). Then I have
>>>     various software instruments in Cubase, each one listening to one of
>>>     the virtual ports. Works well when I run my Chuck program, but if in
>>>     Cubase I arm the tracks and try to record the incoming MIDI, all the
>>>     events get 'collapsed' at the same time, specifically the moment I
>>>     click record. They do get recorded, but all starting at the same
>>> time.
>>>
>>>     This only happens if I want to record them, if I'm only playing,
>>>     timing is fine.
>>>
>>>     Using MidiMonitor I see that the time for all the MIDI events
>>>     generated from Chuck is 0, that seems to be the issue. Any thoughts
>>>     on how I can change that?
>>>
>>>
>>> MidiMsg is defined as a four byte record
>>>
>>> https://github.com/ccrma/chuck/blob/master/src/midiio_rtmidi.h#L65
>>>
>>> but ChucK only sets three bytes on send
>>>
>>> https://github.com/ccrma/chuck/blob/master/src/midiio_rtmidi.cpp#L120
>>>
>>> midisender.ck <http://midisender.ck> does the same.  Is the unset byte
>>> supposed to be the time?  Suppose I should go read the spec.
>>>
>>> It appears time is written and read from files separately
>>>
>>> https://github.com/ccrma/chuck/blob/master/src/midiio_rtmidi.cpp#L823
>>> https://github.com/ccrma/chuck/blob/master/src/midiio_rtmidi.cpp#L837
>>>
>>> Not sure that helps,
>>>
>>>    michael
>>>
>>>
>>> _______________________________________________
>>> chuck-users mailing list
>>> chuck-users at lists.cs.princeton.edu
>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>>
>>>
>>
> --
> http://dense13.com
> http://www.whole-play.com
> https://www.30daygroove.com
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20161208/2a80df0d/attachment-0001.html>


More information about the chuck-users mailing list