• SONAR
  • Midi file embedded with wrong tempo - how to edit the tempo in sonar?
2014/11/16 16:59:00
Neole
Hi,
 
I have a few midi files that are are not mapped correctly to tempo. They have been recorded from a yamaha keyboard playing a midi song, and recorded by midi cable directly to the computer (long back).
 
I know the tempo of the file, so how do I edit it so that in sonar the midi file alligns to tempo?
 
Right now the midi file is set at tempo 100bpm, but the actual tempo of the song is 130bpm. When I import it in sonar, it opens at 100, and when I change the project tempo to 130, the midi file stretches to fit 130, but it still doesnt fall on the beat. I need the midi file to ignore the project tempo when I change the project tempo to 130.
 
I hope I have made the problem clear.. I dont see a way to attach the file, else I would.
 
Neole
2014/11/16 17:09:45
Elffin
hmmm...
 
you could try this little program... 
 
http://soundbytesmag.net/tempo-thelastdawfrontier/
2014/11/16 17:15:14
kellerpj
Neole:
 
You can try Set Measture/Beat (Shift-M) at the beginning of each measure in your recorded MIDI.  You simply tell it what measure and beat your on and that will align the project tempo map to the recorded MIDI performance. 
 
Hope this helps,
Paul
2014/11/16 17:39:18
konradh
Can't you highlight the whole project (select all) and then cut all the tempo changes?  That should allows you to set a tempo you want at the start of the song.
 
If there is a lot if Yamaha SysEx in the file, then I would just copy and paste ONLY the MIDI notes and controllers into a new track and cut the old one.
2014/11/16 17:42:55
brundlefly
Instead of importing the MIDI into an established project, if you just the open MIDI file in SONAR, the resulting project will take on the tempo of the file.
 
EDIT: The easiest way to set tempo of an existing project to fit the imported MIDI when you know the tempo is to set the Now time at the measure corresponding to the Current Tempo +1, then Shift+M to open Set Measure/Beat At Now and enter the Target Tempo + 1 as the measure. This will change the project tempo around the MIDI without altering it's real-time playback timing.
 
 
2014/11/16 18:57:38
slartabartfast
If you read the article that is referenced by Elffin you will get some insight into the problem. Basically if the MIDI file was recorded by a human being, and that human being was not listening to a steady click track or metronome with the dedication of a lobotomized robot, then messing with the tempo is never going to get the MIDI events to sit on exact beats/measures. At 960 ticks per quarter note there is a very fine quantization available that will accurately reproduce very fine differences in the length of events. You can record with all of the expressiveness the performer is capable of. In music notation, where the quantization is at best 64 events per quarter note (assuming you are notating to 64th notes which is uncommon) the subtlety is much more limited. When recording live MIDI without quantize the performance will be very accurately reproduced, because, although the clock is controlled by a tempo nominally set by beats per minute, the recording is actually being accomplished in close to real time units of milliseconds. At 100 beats per minute = 0.6 beats per second the resolution of your recording can distinguish between events 0.625 milliseconds apart. The best you can get with a notated 64th note at that tempo is a resolution to 106.6 milliseconds. You can speed the performance up to the actual speed it was recorded at by altering the tempo in Sonar and it will retain all of its recorded subtlety, but unless you quantize (and thus inevitably lose expression) it will not fit a fixed tempo representation i.e. fit the notes and measures in the piano roll view or printed score. If you want to go back to the inherently inaccurate notation representation, then you need to do something like a tempo map that is capable of literally changing the tempo continuously for each event so that it lasts the duration of the real time performance. In the days when music was performed as an organic whole rather than assembled from isolated chunks the ability to continuously vary the duration (the equivalent of changing the tempo in Sonar) of identically notated events  both solo and ensemble was considered a sign of musicianship. Interpreting the ham fisted score representation was called expression not error. Now it is just a problem for the sound engineer who is trying to make a quilt with irregular patches. 
 
2014/11/17 16:49:44
Neole
Thanks for the replies!
 
I think most of you did not understand my problem, except kellerpj.
 
Kellerpj, I tried your suggestion and it almost worked, but I'm getting a tempo in fraction (130.52) instead of the exact tempo of 130bpm, because I'm unable to place the marker on the exact start of a note before pressing Shift+M, even when i zoom in to the max.
 
Shouldn't there be a simpler method to just change the embedded midi file tempo to 130bpm, so it automatically opens at 130bpm?
 
 
For the others -
 
The midi file is on a steady click. The yamaha keyboard played it at 130 bpm. However it was recorded in Cakewalk through midi in a project set at tempo 100 bpm, and then saved as a midi file. 
 
So -
 
1. the midi file has only one tempo, there are no tempo changes.
2. The midi file is not played by a human being with variable tempo
3. when i open the midi file (not import) it opens at 100 bpm,  while the actual speed it plays at is 130bpm, and does not align to measures and bars
4. If I change the project tempo to 130, the midi file then plays at around 170bpm, and still does not align to the measures/bars.
 
Hope that makes it clear!
Neole
 
 
 
2014/11/17 16:53:08
Neole
I also figured out an alternate solution to Kellerpj's, but it's still just a workaround when the solution should be more straightforward -
 
- Open the midi file - it opens at 100 bpm with the notes not aligned
- Select All Notes> Process> Length > Change Start Time and Duration by 130 percent
- Now the notes are aligned, but the file plays slower
- Change the project tempo to 130
 
 
 
2014/11/17 19:17:00
John
In the case you describe if you had set the BPM to 130 in sonar before you recorded it should have work out fine.  
2014/11/17 19:47:19
brundlefly
The process I gave will take care of it. Set the Now time at 101:00:000 and Shift+M to Measure 131, Beat 1.
 
 
© 2025 APG vNext Commercial Version 5.1

Use My Existing Forum Account

Use My Social Media Account