Hi everyone.
I have something called a MIDI sprout. It is a biosonic data harvester and I make music from plants and accompany it with my koto. What I need to do, if possible, is change the tempo of the midi data IN REAL TIME through either my Mac or iPad. I can of course do this easily once it's recorded, but I haven't been able to find a way of doing this with a DAW or any 3rd party plugin. I have Googled extensively! I'm sure thhere must e a way to do this, but I fear it might require hardware and coding. If anyone has any advice or solutions, thank you in advance! P
Hello,
Yes, you CAN change tempo in real time, but not sure how practical this will be.
Tempo is usually set at the start of a piece, but it is often changed during a piece - I certainly have midi files that change tempo during playback. I don't know how the tempo change has been activated mind you. Maybe there are controllers that can do this?
The change tempo code comprises a data sequence (hex) FF, 51, 03 followed by a number for the new tempo, not sure if this is two bytes or a variable number of bytes, I'll have to dig further regarding this. The tempo number is the number of micro seconds per quarter note, or the number of 24ths of a micro second per midi clock. The actual effect of this number will vary dependent on other midi settings, for example the time signature set.
Depending on what sort of tempo changes you wish to implement, you'd need significant numbers, i.e. 1 or two would make almost no difference, even 100 might not be noticeable. You're not sending a change, but the new absolute number, so something (software) would need to keep track of the previous number (i.e. 2000) so that the next event would be 2100 to slightly increase the tempo.
Certainly possible to write a prog to do this, or to do something within an existing midi file, but not sure how a controller would do it. Or if there is something that can do it.
Your Google search should include MIDI CONTROLLER CHANGE TEMPO.
I'll see if I can find anything more.
Geoff
Looks like the number is three bytes.
Looked in one of my midi files, this shows a setting for tempo of 130 bpm, and the number in the data stream (3 bytes) is shown as 46538, so you could calculate that a difference of one bpm will need a change of the number of about 358.
Geoff
Just spent a couple of minutes in Google.
Found reference for two different DAW (?) systems that do allow something like what you're looking for.
Ableton Live and Logic Pro.
Both seem to use a similar method.
Using something called Mapped Controllers, two controllers are mapped to Tempo (or BPM). One controller is used to increase tempo, the other is used to decrease (I assume this is because one controller cannot do BOTH ADD and SUBTRACT) so you will have two mapped MIDI buttons.
Other DAW systems may allow something similar. Basically, a generic (or 'user') controller can be mapped to a MIDI function.
Geoff
Thank you so much Geoff. I'll research this and see what I can do. Appreciate the help! P