Jump to content

MIDI Recording Including Tempo Changes


designserve

Recommended Posts

Hi All,

I've read many threads about MIDI recordings and tempo changes but none seem to relate entirely to my situation.

I'm writing not only for myself but for many keyboard players because I have a few music websites with thousands of members, and I have hundreds of members wanting to do the same thing as me. We have investigated many DAWs. Cakewalk is the easiest to use and gives the best results, except for tempo issues that we don't seem to be able to resolve.

I have several workstation keyboards of several brands and hundreds of sequenced songs. I want to record (MIDI) and export as midi files, as do many of my members.

Cakewalk is doing a great job of recording and exporting except for tempo changes.

With Cakewalk as a Slave and a keyboard as Master (sending midi clock) the MIDI recordings are good. The midi notes re placed accurately and exported midi files play back well on computer or hardware workstations. However, tempo changes are not recorded by Cakewalk.

Other DAWs can be set up to instantly recognise the tempo currently set on the workstation keyboards and to record tempo changes on the fly when playing from the workstations.  I.e. we know that the tempo is being sent by the keyboards and received by the DAWs. We can't find how to do that in Cakewalk whether we are playing live or playing back from our onboard hardware sequencers.

Other DAWs are more difficult to set up and don't export the midi files as well as Cakewalk so I'm hoping to use it. If I can get it working then I will be able to write instructions or record videos to show others how to do it.

Because we record directly into our workstation keyboards, changing the tempos as we wish in real time, it is important to us to be able to capture the results.

We have spent an incredible amount of time investigating various DAWs and we like Cakewalk the best. I hope that we have missed something and that we'll be able to capture MIDI including the tempo changes.

Hope you can help!
Mike

Edited by designserve
Link to comment
Share on other sites

That's right, Cakewalk does not 'record' tempo changes, it just follows the changing sync signal in real time. If you can get the workstation to output a MIDI click as one of the tracks, you can use that as a guide track for the Fit Improvisation function in Cakewalk to create a tempo map after the fact. Or an existing drum track might be 'massaged' to serve that purpose. Basically you need a MIDI track that has one note event on every quarter-note beat. If the tempo changes are at intervals smaller than beats, tempo mapping can still be done after the fact, but will require manual intervention.

  • Like 1
Link to comment
Share on other sites

Here's the bit you're missing: create a tempo map after the fact. Then you can then edit tempo changes if you like. Speed sections up or slow them down, change the entire song tempo, smooth transitions, whatever you want. Designate one track as the tempo master, since multiple tracks recorded freehand may not be in sync.

  • Like 1
Link to comment
Share on other sites

2 hours ago, David Baay said:

That's right, Cakewalk does not 'record' tempo changes, it just follows the changing sync signal in real time. If you can get the workstation to output a MIDI click as one of the tracks, you can use that as a guide track for the Fit Improvisation function in Cakewalk to create a tempo map after the fact. Or an existing drum track might be 'massaged' to serve that purpose. Basically you need a MIDI track that has one note event on every quarter-note beat. If the tempo changes are at intervals smaller than beats, tempo mapping can still be done after the fact, but will require manual intervention.

Thank you that's a helpful suggestion as it could introduce some automation into things.

I fail to understand why Cakewalk doesn't at least record the change tempo events, even if it doesn't use them to change the tempo. If it recorded them it could save them to the midi file.

Link to comment
Share on other sites

Thanks for your suggestion. We aren't missing that possibility. However, we play into our instruments using controllers to adjust the tempo as we wish, live. Sometimes we might be playing live to an audience.

We want to capture what we are playing live and not re-do tempo after the fact. Some of these midi sequences date back decades and we don't wish to re-do them, just capture them as they are. Adding tempo after the fact would at least double the time taken to create the midi files. As an example let's take 1000 sequences (I and many other members have more than that) at a conservative 3 minutes each = 50 hours which would expand to a minimum of 100 hours. However, it goes way beyond that because adding a tempo map requires concentration so the setup can't be left to record on its own while we do other things.

I appreciate your input and don't mean to sound negative, simply explaining.

Link to comment
Share on other sites

The problem is that tempo changes aren't diescrete MIDI 'events' per se. The ability to capture the sync signal and convert it to tempo changes after recording is compete could most certanly be implemented, but it's not simply a matter of capturing bpm numbers sent from the the source with time stamps. I would think some sequencer/DAW app out there has this capability already, but have never looked into it.

  • Like 1
Link to comment
Share on other sites

Hi David,

Almost every DAW I've tested captures the tempo changes (Logic, Protools, Reaper etc) but none of them do as good a job at exporting midi files in a way that suits what we need.

I don't know the terminology but when reading the midi 'events' in midi files (I generally use midiworks but also the gnmidi suite of tools) it literally says "tempo" against the timestamp and has a bpm number.

Very frustrating at the moment I'm literally watching the keyboard display, pausing when the tempo changes and recreating tempos in Cakewalk to match. I'll continue investigating because this takes about 3x longer than a straight recording/capture.

On the plus side the exported midi files are excellent. The midi files are important because they are brand and model agnostic which means we can load them into many different workstations. On the negative side, when using midi clock to sync it doesn't seem to be possible to record audio at the same time so it takes a further pass to record the audio.

Thanks for your input,
Mike

Link to comment
Share on other sites

I have had SONAR synced to an external MIDI clock and I can see the value (based on your description) of not only keeping in sync while recording, but also mapping the external clock to a tempo track.  Not sure if the developers ever considered implementing that and decided it would take away resources from recording, audio processing, etc. 

The workaround to record a click track and then do a Fit Improvisation / create tempo map sounds like a decent option as @David Baay suggested.  I wonder if Cakewalk can record the metronome to a metronome track for that purpose (possibly with the audio not being outputted at any audible level). If so, maybe it would require a single-pass operation to make a tempo map. This assumes the performers are synced to a BPM/midi clock that can be reliably captured as a metromone/click.  I know in earlier versions of Cakewalk/SONAR it was possible to record the Metronone onto an audio track--even by accident!

  • Like 1
Link to comment
Share on other sites

Recording with MIDI sync, and reading MIDI files are two different things. If a MIDI file is opened in Cakewalk, any tempo changes in the file  will be read into the project.

Also, when you say "We want to capture what we are playing live and not re-do tempo after the fact", that's a different situation. If the MIDI was originally recorded into a sequencer running at a constant tempo, the sequence will play back correctly from SONAR when recorded at the same fixed tempo, but aligning the timeline to the variable tempo  with tempo changes is never going to happen fully automatically. There are may ways to extract tempo from MIDI and audio, but none will yield perfect results without some work.

But in the case that the hardware sequencer was providing a click (or acting as a drum machine) for the band at varying tempos, the quickest way to get those tempos into Cakewalk would be to record the sequence in an app that does derive tempos from MIDI sync, and then export/import that to Cakewalk via MIDI file.

 

  • Like 1
Link to comment
Share on other sites

1 minute ago, David Baay said:

Recording with MIDI sync, and reading MIDI files are two different things. If a MIDI file is opened in Cakewalk, any tempo changes in the file  will be read into the project.

Hmmmm. I have never used SMPTE (except for testing and deciding it was not what I needed ages ago--pre-Windows CMS interface + a striped tape), but with all the cross-synchonizing devices that have come out since, might SMPTE offer an even more precise option?

  • Like 1
Link to comment
Share on other sites

Thanks both.

(almost) All of our sequences include a workstation's drum machine, a rhythm sequence or rhythmic accompaniment. Usually, we edit and quantise in the workstation if necessary so adding a click track should be very straightforward. I should be able to make click tracks as midi files for various time signatures. They will then load into one of the sequencer tracks on any model. That does prevent omni midi recording so I'll have to make some templates in Cakewalk and experiment.

We tried SMTPE, none of the workstations seem to send a signal (or I'm not using it correctly).

Thinking further, many of the sequences don't have tempo changes. One of my problems is trying to check which ones do, which was why I'm looking for something automatic (I have been looking for years basically). The process at the moment is:

  • Record the midi with clock sync, watching and listening for tempo changes.
  • At the same time, record audio using a second computer and export as mp3.
  • If any tempo changes, play the sequence again, manually creating a tempo map in Cakewalk.
  • Save as a midi file.
  • Minor edits in midiworks if the resulting midi file is not compatible with various standards (GM, GM2 and others). This is usually relatively automated remapping of patches.

Cheers,
Mike

  • Like 1
Link to comment
Share on other sites

I would htink almost any workstation could output a MIDI click on a specified channel Even if that channel also had a musical part on it, assigning a suitable note number/pitch to the click would make it easy to extract to a separate track.

And when all else fails, Set Measure/Beat At Now is your best freind. I record a lot of improvisations without a click, and set the timeline to the MIDI after the fact using SM/BAN, both with fixed and deliberately variable tempos.

  • Like 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...