Midi clip playback to timecode input frames

I revisit this issue every year or two and usually don’t have enough headspace while in the rehearsal mayhem to properly sort it but I feel like surely someone in the touring world has.

want to drop in to Ableton (or any other daw really) an audio file of a song that will ultimately be what also the source of the timecode that gets sent to me from playback team is.

They typically are timecode left channel and audio right for reference.

I know the fps of the timecode is 30. I know Ableton is 96 pulses per beat on midi export resolution.

I leave the audio file non warped and clean, and match the bpm in Ableton to what is given by the artist team as the bpm of the song.

When I lay in notes on downbeats of kicks for example, they line up on the grid with the waveform well.

I then export the midi clip from Ableton as a standalone file.

I want to bring that into TouchDesigner and scrub through it based on timecode frames.

I already have tools built that deal with the start timecode offset in frames and give me a 0 start point of the song. every method I have tried of the math of getting the sample rate of the midi clip matched to frames so that everything stays in sync isnt correct and it feels so elusive. lol

for some info: all my songs are striped with 30fps timecode and I am wanting to drop the notes in via ableton but could use something else if there is a better DAW workflow for exporting files to TD.

have been using TRIM chop in absolute sample index mode for scrubbing through the midi file in sample set.

would LOOOOOOVVEEE to find a clean reliable way/tool for this.

thanks everyone in advance.

B

for what its worth to the community.

The issue here was with how Ableton exports midi clips.

Once I switched over to reaper there are much better midi export and timeline options to know the length and sample rate more consistently and reliably drive from timecode frame numbers.

Then it just became midi file in matched sample rate without drop frame and a lookup chop with the end point set to the file length in frames.

Then drive from offset timecode total frames.

ableton awesome for many things but not exporting timecoded midi stripes.

Cheers

1 Like

Hi @piwolf,

great to hear that going the route of another daw helped resolve this.
Would be really great to understand though why Ableton’s midi does not match up in TouchDesigner. Do you have a example file that illustrates the issue?

cheers
Markus

For some reason, even when I drop a note at the top and end of the track, ableton still wasn’t exporting the midi data in a "framerate” that I could discern with math using the length in info chop.
when you don’t drop a note at the end of the track, it shortens your export to the length of existing notes, even if your midi clip length in ableton is longer, which isn’t helpful. lol
when I exported, I tried different BPMs, sample rates of read in touch, and integrated a value of 96 ppqn trying to find a combination that lined up with frames per second on my scrub but everything was drifting and never accurate.
I did read one place that ableton exports midi clips at a default of 120bpm and found the only tracks I could get to line up were tracks at 120bpm but the strange part was my math would only work out when I arrived at what I thought was math for 30fps but then I would cut it in half, resulting in midi notes playing twice as fast and that would line up.
The same chain of chops for a song at 115bpm was all over the map, regardless of using the bpm value of 115 or 120….
the entire time I was using the length value that reports from the info chop on the midi in file chop to understand what was being exported.
I even tried to resample/stretch the midi file with notes at the beginning and end to the desired length using the new timecode object scripts from a suggestion from Matthew Ragan and that wouldn’t line up either.

At that point I was at a bit of a loss and I jumped over to Reaper and found that because Reaper’s timeline ruler and project can be set to video timecode, and it exports midi clips with the framerate integrated, the length in absolute frames of the midi item in Reaper matched up with what Touch was reporting in the info node for length when the file sample rate and the reaper timecode rate were matched. at that point, its lined up regardless of bpm and none of the ppqn or bpm info needs to be accounted for. way more streamlined and accurate for timecode playback.

my midi experiment file is just a bunch of chains of different math, and I was using a handful of tracks to test from Gambino team that I cant share, so its not that useful and partly protected without building new test files for you just to demonstrate.

The main mystery is just Ableton midi clip export functions have ZERO options and I couldn’t find any decent documentation on how to interprate the sample/frame rate they are exported at to scrub them well.

Having so many lighting desk friends using and and creating midi playback striping functions for Reaper caused me to try it and for this specific task, it’s orders of magnitude superior. It has a bunch of detailed options for how midi clips are exported and what types of timing and marker info is embedded, in addition to just exporting at the project framerate which seems like a no brainer to me.

The issue wasnt TD thankfully. just weirdness and no docs on Ableton data rate and how that relates to what is reporting for length in the info chop.

hope this helps!