Ardour reads MIDNAM files / selection in track header

It is now possible to assign an Instrument name from one or more MIDNAM patchfiles to a track:

Ardour reads MIDNAM files / selection in track header

That means that Ardour can read (a subset) of MIDNAM now. (See the output in the terminal window)

Later it will be possible to change the current voice on the UI with little flags
using the patch name an not numbers.

Sending MIDI Clock works now with looping

Right now, Ardour 3 also sends MIDI clock while looping….
I use it to loop part of an audio file and have the keyboard
play the accompaniment…..
Very useful for developing new styles for my PSR-S-900.

Ardour 3.0 sends MIDI clock now

Bildschirmfoto

Just today I got the first working implementation. I hooked Ardours output into my
Yamaha PSR-S900 and it worked like a charm: The audio drum track in ardour and the drum track
on the Keyboard play together very nicely and dont drift from each other.

It doesnt handle loops yet correctly now, but I am about
to find out, whether MIDI clock slaves can handle that anyway:
(It doesnt look like that since http://jedi.ks.uiuc.edu/~johns/links/music/midispec.htm#Seq says, that song position messages are only to be sent
when the slave doesnt play)

MIDI clock sync works smoothly now

Today, after a slight modification in the timing code, MIDI clock sync started to work really
well. The following diagram shows the differences in Ardours transport position every processing cycle.
As we see, sync is achieved in about 30 cycles (174ms) and jitters only 1 sample from thereon:

Ardour syncinc to MIDI Clock

First working version of MIDI clock sync for Ardour

Today the first version of syncing Ardours playback to an external MIDI clock source (my keyboard) started working. There is still a lot of jitter (as shown by the screenshot) which may be due to some error in the calculation of the corresponding transport intervals, but I will continue to figure that out.

MIDI Clock Sync for Ardour

Jack bindings for Haskell

For rapid prototyping and testing I extended Soehnke Hahns Jack bindings for Haskell to include Jack MIDI.

Here is the sample code for a simple Jack client that reads a MIDI Message from the input port, prints it, and writes it to the output port:

{-# options -O2 #-}
module Main where

import Foreign.C.Types (CFloat)
import qualified Sound.JACK as Jack
import Sound.JACK.Midi

main :: IO ()
main = Jack.mainMidi foo

foo :: (MidiEvent -> IO MidiEvent)
foo e = do
    putStrLn $ show e
    return e

Virtual Orchestra with Ardour and LinuxSampler

Alex Stone drives a virtual Orchestra on LinuxSampler

Here is a screenshot of his setup using Patchage:

Ardour3 Virtual Orchestra

Drobilla fixes MIDI Import

Dave “MIDI” Robillard committed a numer of fixes this day. One of those

fixed crashes on MIDI Import, eg. on the Famous Chopin Fantasie Impromptu,

which basically works now :

Drobilla fixed MIDI-Import

Just got started……

While I already hacked a while on Ardour/MIDI, I didnt blog about it.

I kept a picture blog on Flickr, which you can access here:

http://www.flickr.com/photos/24012642@N02/