receive MIDI clock

For general discussion related FlowStone
Post Reply
airelibre
Posts: 2
Joined: Fri May 29, 2015 5:12 am

receive MIDI clock

Post by airelibre »

Hi all, I read that FlowStone can only handle midi notes and sysex. Is this still true ?

I would reeeeally like to get MIDI clock (so I can leave this nuisance called timing out of the reach of these other nuisances called CPUs :P )

If the answer is "it's not possible", I'm really curious about the reasons... shouldn't a serial connection with such a rigid protocol be a given ?

Thanks in advance
Claudio - airelibre
KG_is_back
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

Re: receive MIDI clock

Post by KG_is_back »

If your schematic contains stream connections, the Ruby processing is synced with it perfectly. Ruby can schedule events, triggers and methods to happen after specified time (sample-precise) and can also process midi perfectly in sync. Long story short, Ruby processing is in sync with midi and audio by default, green connectors are not though.

The only catch is that time in Ruby is always specified in seconds. You may use sample-rate prim and tempo prim to scale the time.
Nowhk
Posts: 275
Joined: Mon Oct 27, 2014 6:45 pm

Re: receive MIDI clock

Post by Nowhk »

KG_is_back wrote:Long story short, Ruby processing is in sync with midi and audio by default, green connectors are not though.

Manual says: "If you have any of the DirectSound or ASIO primitives in your schematic and these are switched on
then the clock will automatically switch to run in sync with the audio processing. You can then
schedule events to occur with sample precise timing within any audio frame.
".

Here I've added a stream (ASIO) prim, and Ruby should be sync with samplerate now:

midi clock @ samplerate.fsm
(6.25 KiB) Downloaded 936 times

For what I see (and as you noticed), time is always in seconds, even if sync with stream/audio" now.

What if I want to do somethings (in Ruby; such as trigger MIDI to my DAW) every 1000 samples (at samplerate 44100)?

Code: Select all

input 0, nil, time+(1000/44100)

That's can't be scheduled as "sample precise", since there will be rounding errors. Maybe I'm missing somethings?
Post Reply