|
|
|
02-10-2013, 04:20 AM
|
#1
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,436
|
Tempo mapping and manipulation with SWS
SWS extension now includes a set of features for dealing with tempo. You might ask what's wrong with using native Reaper methods described in Tempo Mapping 101. Well, nothing really - features in SWS build on idea shown in that thread while trying to make the whole process easier without getting in your way.
Download:
Download here
Features and documentation:
Documentation can be found on wiki.cockos and is divided into two parts:
1. Tempo mapping- Accuracy (amount of tempo markers per measure) can be selected by the user
- Possibility of gradual (and thus more human) tempo map
- Use MIDI to create tempo map and hear the results immediately
- Easier handling of songs with multiple time signatures
2. Tempo manipulation- Warp grid
- Move tempo markers without doing a complete remap
- Delete or change shape of tempo markers without disturbing the rest of the tempo map
- Draw tempo map
- Tools for managing gradual tempo changes
- Select and adjust tempo in bulk
- Increase density of the tempo map
- Randomize tempo
3. Additional functionality:- User MusoBob has also developed a way to import tempo map from audio and fit any constant-tempo items to it, for more information read this post and the two posts following it
Donations:
A lot of effort has been invested in this. If you seriously use it, please consider supporting the developer. Thanks!
Big thanks goes to user G-Sun for helping with the wiki and all the advice without which gradual tempo would never receive so much love!
__________________
REAPER ReWorked: An elegant and self-sufficient all-around REAPER configuration
Other stuff
Last edited by Breeder; 09-03-2020 at 03:18 PM.
|
|
|
02-10-2013, 07:04 AM
|
#2
|
Human being with feelings
Join Date: May 2010
Location: Norway
Posts: 7,318
|
Thanks a lot Breeder for coding all these wonderful tools!
Awesome work!
Quick manual:
1) Add markers (just as Tempo Mapping 101)
2) Run action: "sws/br: Convert project markers to tempo markers.."
Done!
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
Last edited by G-Sun; 08-14-2013 at 01:11 PM.
|
|
|
02-10-2013, 07:54 AM
|
#3
|
Human being with feelings
Join Date: Jan 2009
Posts: 1,798
|
I've been doing mostly grid-based stuff lately, but will have to revisit tempo mapping in the near future to check out these cool new tools.
|
|
|
02-10-2013, 03:14 PM
|
#4
|
Human being with feelings
Join Date: Aug 2010
Location: Harrisburg, PA USA
Posts: 1,481
|
I've only had time to give this a quick glance, and it may be a few days before I have a chance to play around, but this looks very encouraging.
Thanks for putting forth the time and effort to lay this out. I think it's going to be quite helpful.
__________________
We act as though comfort and luxury were the chief requirements of life, when all that we need to make us happy is something to be enthusiastic about.
--Charles Kingsley... or maybe Albert Einstein... definitely somebody wiser than myself--
|
|
|
02-12-2013, 07:34 AM
|
#5
|
Human being with feelings
Join Date: Nov 2007
Posts: 674
|
Hi,
A Big thank u to Breeder and G Sun for this!
GSun..have u ever heard of a band from the 40s 50s called the Tune Toppers?
Guido
|
|
|
02-12-2013, 10:45 AM
|
#6
|
Human being with feelings
Join Date: Mar 2012
Location: Kentucky, USA
Posts: 254
|
Any thoughts/plans on something like this for the API?
Code:
bool BR_MoveTempoTimeSigMarker(ReaProject* proj, int ptidx, double timepos)
|
|
|
02-12-2013, 11:01 AM
|
#7
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,436
|
Quote:
Originally Posted by mwe
Any thoughts/plans on something like this for the API?
Code:
bool BR_MoveTempoTimeSigMarker(ReaProject* proj, int ptidx, double timepos)
|
Never tough anyone would want to use these commands in ReaScript, lol. Sure, I`ll throw it in, anything else?
|
|
|
02-12-2013, 12:22 PM
|
#8
|
Human being with feelings
Join Date: Mar 2012
Location: Kentucky, USA
Posts: 254
|
Quote:
Originally Posted by Breeder
Never tough anyone would want to use these commands in ReaScript, lol. Sure, I`ll throw it in, anything else?
|
The one that comes to mind is SWS/BR: Delete tempo marker (preserve overall tempo and positions if possible). If you could pass it the index of the marker you want to delete it might be handy.
I have a script that finds the closest marker to the cursor (skipping regions) and moves it to that position. I use it when I tempo map a song to speed up editing marker locations. After reading through the info on your actions, it occurred to me that it might be useful to be able to do something similar with a tempo marker.
|
|
|
02-12-2013, 12:48 PM
|
#9
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,436
|
Will do then for those two.
Would you mind if I stole your idea and put another action "Move closest tempo marker to edit cursor" ?
Because it seems really cool and that way it can be available to anybody.
|
|
|
02-12-2013, 02:00 PM
|
#10
|
Human being with feelings
Join Date: Mar 2012
Location: Kentucky, USA
Posts: 254
|
Quote:
Originally Posted by Breeder
Will do then for those two.
Would you mind if I stole your idea and put another action "Move closest tempo marker to edit cursor" ?
Because it seems really cool and that way it can be available to anybody.
|
Feel free. In fact, it's more of a trade actually. I was having a hard time dealing with some of the peculiarities of project markers in Reaper. I took a peek at the SWS source code and found this in one of your actions
Code:
if ((mPos != prevMPos)||(mPos == prevMPos && prevRegion == 1) || (previous == 0))
which I changed to this
Code:
if ((current_marker[4] != previous_marker[4]) or \
((current_marker[4] == previous_marker[4]) and previous_marker[3] == 1)) or \
(previous_marker[0] == 0)) :
Solved my problem. I guess I owe the code base something in return.
|
|
|
02-13-2013, 12:07 AM
|
#11
|
Human being with feelings
Join Date: May 2010
Location: Norway
Posts: 7,318
|
Quote:
Originally Posted by Guido
Hi,
A Big thank u to Breeder and G Sun for this!
GSun..have u ever heard of a band from the 40s 50s called the Tune Toppers?
|
Sorry, no. Should I?
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
|
|
|
02-18-2013, 03:23 PM
|
#12
|
Human being with feelings
Join Date: Jan 2009
Posts: 1,798
|
I gave this a go the other day.
My memory isn't that great but it seems to me that this method is MUCH more straightforward than the older method.
Very nice. Thank you.
|
|
|
03-10-2013, 03:24 AM
|
#13
|
Human being with feelings
Join Date: Jul 2009
Location: Wellington
Posts: 4,622
|
Just used this and key mapped moving tempo markers. So very good. The old tempo 101 is really good bit this is better.
|
|
|
03-10-2013, 01:05 PM
|
#14
|
Human being with feelings
Join Date: Sep 2008
Location: Location
Posts: 5,559
|
Breeder and G-Sun,
when doing all this programming stuff, I hope you guys find some time to make music in between.
-Data
|
|
|
03-10-2013, 01:49 PM
|
#15
|
Human being with feelings
Join Date: May 2010
Location: Norway
Posts: 7,318
|
Quote:
Originally Posted by Garrick
Just used this and key mapped moving tempo markers. So very good. The old tempo 101 is really good bit this is better.
|
Good to hear Garrick!
Quote:
Originally Posted by Mr. Data
Breeder and G-Sun,
when doing all this programming stuff, I hope you guys find some time to make music in between.
-Data
|
Shure. In between soldering preamps, designing and building a studio and reading up on virtual instruments
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
|
|
|
03-10-2013, 02:53 PM
|
#16
|
Human being with feelings
Join Date: Sep 2008
Location: Location
Posts: 5,559
|
-Data
|
|
|
03-10-2013, 03:35 PM
|
#17
|
Human being with feelings
Join Date: Jan 2010
Location: Kalispell
Posts: 14,745
|
Hi Breeder and G-Sun, I've got a rather stupid question.
The other day I had a project that I needed to tempo map to an audio track. I took a look in this thread thinking I'd try this procedure instead of the normal 101 way which I'm quite comfortable with.
In short, I was in a hurry and felt kind of baffled in reading through this thread as far as how to proceed. I ended up just doing it the old way.
Anyway, my dumb question is, what would I do different from the old 101 way, what is the significance between the two approaches?
-----------
With the 101 way I just figure out the basic beat and set the Project tempo to it. Then I put markers on the 1st, 2nd, and 3rd bars to give me a 2 bar count-in.
From there I hit play from the front and starting at bar 4, I manually put markers in on each bar to the end of the song. Then I go through and visually adjust each marker to better line up with the front of each bar.
Then of course I run my macro. This works quite well.
-----------
So what do I do different then that?
|
|
|
03-11-2013, 01:16 AM
|
#18
|
Human being with feelings
Join Date: May 2010
Location: Norway
Posts: 7,318
|
Good morning Tod
Not a stupid question at all.
If your happy with a resolution of 1/1 (bar, whole-note),
then you can use the old way.
You will however find Breeders action "Convert project markers to tempo markers" faster and better than your macro.
The new Breeder actions would be preferred if you want:
- higher resolution on your tempo-map (like quarter-notes and 8-notes), or
- would prefer linear points, or
- would like a fast workflow of adjusting time-position for individual markers, or
- have a complex project with different time-signatures
In addition there are other tempo-tools
for selecting, converting and adjusting.
Happy tempoing!
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
Last edited by G-Sun; 03-11-2013 at 01:27 AM.
|
|
|
03-11-2013, 01:27 AM
|
#19
|
Human being with feelings
Join Date: Jul 2008
Posts: 1,850
|
Just to clarify, do you mean SWS v2.3.0 #4 (August 30, 2012) ?
Looking by my installed SWS and the latest on the website, these must be the most updated?
I am looking forward to any new tempo based tweaks, especially full length tracks, although having said that and trying (unsuccessfully) with Reaper to record DJ mixes, I have now moved to Ableton which is much better at the job..
I would still be interested though in how Reaper does this in say, an Acid style?
|
|
|
03-11-2013, 01:48 AM
|
#20
|
Human being with feelings
Join Date: May 2010
Location: Norway
Posts: 7,318
|
Quote:
Originally Posted by buckman
Just to clarify, do you mean SWS v2.3.0 #4 (August 30, 2012) ?
Looking by my installed SWS and the latest on the website, these must be the most updated?
I am looking forward to any new tempo based tweaks, especially full length tracks, although having said that and trying (unsuccessfully) with Reaper to record DJ mixes, I have now moved to Ableton which is much better at the job..
I would still be interested though in how Reaper does this in say, an Acid style?
|
Sorry, it's not implemented in any official release yet.
You need the prerelease found here:
http://code.google.com/p/sws-extension/downloads/list
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
|
|
|
03-11-2013, 04:51 AM
|
#21
|
Human being with feelings
Join Date: Jul 2008
Posts: 1,850
|
Quote:
Originally Posted by G-Sun
|
Ah ok no problem - does it include any media explorer Tempo options for Full tracks, in a DJ style capacity, so they are locked to tempo with the "Tempo Match" ?
I think this is the main thing I am personally looking for...
|
|
|
03-11-2013, 06:05 AM
|
#22
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,436
|
Quote:
Originally Posted by buckman
Ah ok no problem - does it include any media explorer Tempo options for Full tracks, in a DJ style capacity, so they are locked to tempo with the "Tempo Match" ?
I think this is the main thing I am personally looking for...
|
Once you tempo map something and return timebase to beats (position, length, rate), items should stretch and change their position in accordance with tempo.
There are some quirks though (only one tempo change allowed per item). Read more here: http://wiki.cockos.com/wiki/index.ph..._tempo_markers
And btw, check pre forum for some interesting new features in regards to your question
|
|
|
03-11-2013, 06:24 AM
|
#23
|
Human being with feelings
Join Date: Jul 2008
Posts: 1,850
|
Ok thanks.. I did see some bits in the Pre.. but its just full tracks to tempo sync once dragged into a project that I am looking at..
A bit like Mixmeister does with puttting its own warp and beat markers in so it guesses the correct tempo 99% of the time.
Although Ableton makes you warp a track before hand, I have now discovered and clicked with warping, and it does do a really good job, so maybe Reaper can't compete?
|
|
|
03-11-2013, 09:24 AM
|
#24
|
Human being with feelings
Join Date: Jan 2010
Location: Kalispell
Posts: 14,745
|
Quote:
Originally Posted by G-Sun
If your happy with a resolution of 1/1 (bar, whole-note),
then you can use the old way.
You will however find Breeders action "Convert project markers to tempo markers" faster and better than your macro.
The new Breeder actions would be preferred if you want:
- higher resolution on your tempo-map (like quarter-notes and 8-notes), or
- would prefer linear points, or
- would like a fast workflow of adjusting time-position for individual markers, or
- have a complex project with different time-signatures
In addition there are other tempo-tools
for selecting, converting and adjusting.
|
Thanks Geir, it all makes sense now.
|
|
|
03-11-2013, 11:59 AM
|
#25
|
Human being with feelings
Join Date: May 2010
Location: Norway
Posts: 7,318
|
Making a tempo map
I'd like to share with you my typical workflow,
that may be a little different than others do things.
I'll guess typical tempo-mapping is about nailing the most accurate map of the recorded audio.
My approach is more aimed at creating a best possible tempo-map for a song, from scratch.
I'll often start with a
1) Cue/scratch take with let's say vocal, acoustic guitar and tapping my foot. Often just one mic.
then
2) I tempo-map it, using a resolution of 4/4 or 8/8.
I do prefer linear tempo, but maybe square is more practical for this. Accuracy is not the big point. The main goal is getting basic values for tempo, as it changes through the song.
then
3a) I delete as many tempo-markers as possible, without loosing important changes, tweaking and deleting more. I'll insert a meteronome. And I'll split the cue track on my resolution, to follow all tempo-changes. Or
3b) I open a new/blank project. And use the tempo mapped first project as a guid-line.
4) I'll try to add midi-based instruments first, to allow more changes to tempo if necessary.
5) I'll sing through the song, and commit to the tempo-map
6) I'll add audio-based tracks and whatever is needed
I'm very happy with Breeders help in making a good tempo-workflow possible. Yet, there are a few FRs left to make 3b) my preferred way
I'll upload a few pictures if anyone's interested.
Best
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
|
|
|
03-11-2013, 12:42 PM
|
#26
|
Human being with feelings
Join Date: Jan 2010
Location: Kalispell
Posts: 14,745
|
Quote:
Originally Posted by G-Sun
I'll upload a few pictures if anyone's interested.
|
Sure I'd like to see them.
|
|
|
04-05-2013, 07:42 AM
|
#27
|
Human being with feelings
Join Date: Feb 2013
Posts: 6
|
I'm sure I'm missing something basic. This is my first time using any SWS extensions.
I don't see the SWS actions the wiki talks about. The two SWS/BR actions I can find by pressing "?" are
SWS/BR: Move edit cursor to next tempo marker
SWS/BR: Move edit cursor to previous tempo marker
I just reinstalled the latest version of the SWS.
|
|
|
04-06-2013, 08:39 PM
|
#29
|
Human being with feelings
Join Date: Jul 2009
Location: Wellington
Posts: 4,622
|
This is working so well thank you very much
Cheers gsun, always thought you were a good sort, and breeder i'm sure you're good sort to.
|
|
|
04-07-2013, 07:09 AM
|
#30
|
Human being with feelings
Join Date: Feb 2013
Posts: 6
|
Quote:
Originally Posted by dug dog
|
There I go. What a snap. Thanks!
|
|
|
04-08-2013, 10:07 AM
|
#31
|
Human being with feelings
Join Date: Mar 2012
Location: Kentucky, USA
Posts: 254
|
Quote:
Originally Posted by Breeder
Will do then for those two.
Would you mind if I stole your idea and put another action "Move closest tempo marker to edit cursor" ?
Because it seems really cool and that way it can be available to anybody.
|
Just got a chance to try this. Only a dummy project and brief run through but seems to work great. Thanks.
|
|
|
04-11-2013, 10:29 AM
|
#33
|
Human being with feelings
Join Date: Jan 2010
Location: Kalispell
Posts: 14,745
|
Quote:
Originally Posted by G-Sun
|
Heh heh, there you go...
|
|
|
04-11-2013, 12:35 PM
|
#34
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
|
Just wanted to say thanks for all the work that went into this.
Used these new actions recently (with the help of the Wiki entry, so thanks for this also), worked out like a charm.
http://forum.cockos.com/showthread.php?t=120591
|
|
|
04-11-2013, 01:10 PM
|
#35
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,436
|
Quote:
Originally Posted by mwe
Just got a chance to try this. Only a dummy project and brief run through but seems to work great. Thanks.
|
And thank you for the neat idea - it is needed neat for faster workflow!
Quote:
Originally Posted by nofish
Just wanted to say thanks for all the work that went into this.
|
Thank you! It`s a great thing to see all those sleepless nights learning C++ actually helped other people too
|
|
|
04-11-2013, 01:31 PM
|
#36
|
Human being with feelings
Join Date: Jun 2012
Location: Spain
Posts: 7,242
|
Thank you indeed
I would not be able to use reaper without these tempo mapping features. Not everybody working at fixed tempo
|
|
|
04-11-2013, 01:54 PM
|
#37
|
Human being with feelings
Join Date: Jan 2009
Posts: 1,798
|
Quote:
Originally Posted by G-Sun
|
Nicely summarized. Gave me a good laugh. And, again, many thanks.
|
|
|
04-12-2013, 01:48 AM
|
#38
|
Human being with feelings
Join Date: May 2010
Location: Norway
Posts: 7,318
|
Quote:
Originally Posted by Breeder
Thank you! It`s a great thing to see all those sleepless nights learning C++ actually helped other people too
|
Award for you:
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
|
|
|
04-16-2013, 03:56 PM
|
#39
|
Human being with feelings
Join Date: Jan 2010
Location: Kalispell
Posts: 14,745
|
Hi G-Sun, Breeder, and all.
I may have found a problem with tempo mapping. Actually finzic came across it first.
http://forum.cockos.com/showthread.php?t=104927
This has nothing to do with you guys and your tempo mapping actions. I believe this is a problem with Reaper.
It will not process BPMs of 240 and over. It works fine with BPM-239 but from 240 on it basically cuts the BPM in half. BPM-240 becomes 120, BPM-260 becomes 130, etc..
Also instead of createing full measure tempo markers it's making them half measure tempo markers. In other words instead of going from Bar-1/Beat-1 to Bar-2/Beat-1 it's going from Bar-1/Beat-1 to Bar-1/Beat-3. You can see that in the pict below. The Project Settings remained the same but the Transport BPM changed which makes sense.
Heres a picture of trying to create double time with a basic 120-BPM project. In other words going from BPM-120 to 240. It just doesn't like BPM-240 and above.
This should probably be in the Bug reports but I wanted to run it by you guys first in case I'm missing something.
|
|
|
04-16-2013, 03:59 PM
|
#40
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,436
|
I'm not having problems with BPM over 240 here. It's all normal.
Can you please pm with the problematic project and the settings you're using for converting?
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 09:34 PM.
|