Hi Nick,

On Sun, 18 Oct 2009, nick bailey wrote:

I've been playing with Non-sequencer over the last few days, love the simplicity and uncluttered approach to the programme, however I'm finding if run alongside Hydrogen or Ardour, the tempo drifts out of sync, this occurs playing any songĀ  longer than a couple of patterns. The obvious answer to this is to have ardour as jack transport master, Non-sequencer does not like this however and crashes. I post the

Since Non is a pretty immature program, it's inflexible about the Transport. When initializing, it always wants to be the transport master, and doesn't take action of another program takes over. That's why it's unstable.

question here rather than Linux Audio Users because I plan to write applications utilising Jack MIDI myself and am wondering the best approach to implement tempo in absence of alsa sequencer, which I found quite nice to use but still jittery even with high res timers / real time kernels.

The transport is the way to go. One way would be to take it upon yourself to fix Non's transport. You will learn a lot of the in's and out's that way.

The JACK Transport is a Good Thing. Some things about it that aren't easy to understand:

    * The program who is transport master can *lose* this
      status at any time without notification.  You
      must not write your program with logic that says
      "If I'm the master... calculate this way, but if
      I'm a transport slave.... calculate some other way."

    * Because of that, always program your audio code as
      if it's *always* the transport slave.  Set up the
      Transport Master code elsewhere.

    * When you supply the Bar:Beat:Tick info, it needs
      to come evenly.  Your ticks-per-beat and beat-per-
      bar needs to align.

    * Beware of frames-per-tick roundoff error.  It's
      natural to calculate frames-per-tick, round it to
      and integer, and use that as a basic building
      block.  However, it will result in tempo drift.

HTH,
Gabriel
_______________________________________________
Linux-audio-dev mailing list
[email protected]
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev

Reply via email to