Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Q&A, Tips, Tricks and Howto

Reply
 
Thread Tools Display Modes
Old 09-23-2018, 05:34 AM   #121
sjs94704
Human being with feelings
 
Join Date: Mar 2017
Location: Berkeley, CA USA
Posts: 1,336
Default

OK, so, let's approach it from this direction...

I have lots of songs and several of them say 'variable' while most others give a specific tempo. For the ones that don't, I realize it is largely subjective, but, if I was going to go about finding and selecting a single tempo for the whole song, any suggestions on things I might do to at least try to find a reasonable tempo that I can then set in Reaper without spending too much time getting there?

Before anyone says it, I'm not looking for that 'perfect' sweet spot. What I am asking about is the method I can use to go about finding a tempo that works for me ......
__________________
Bayside Studios, Berkeley, CA - Music That Brings People Together
Steven Schuyler, Singer
sjs94704 is offline   Reply With Quote
Old 09-23-2018, 12:07 PM   #122
JamesPeters
Human being with feelings
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
Default

Quote:
Originally Posted by sjs94704 View Post
if I was going to go about finding and selecting a single tempo for the whole song, any suggestions on things I might do to at least try to find a reasonable tempo that I can then set in Reaper without spending too much time getting there?

Before anyone says it, I'm not looking for that 'perfect' sweet spot. What I am asking about is the method I can use to go about finding a tempo that works for me ......
The first video explains this rather well.

If you mean "just a general ballpark", you can tap the BPM button in time with what you think every beat is, and the project tempo will change to that. (Keep the metronome on when doing this and you'll hear if you're close or not.) You'll have to have the timebase set to "time" otherwise the audio files will stretch. Also when you set the tempo, even if you get it 100% accurate, it's most likely the audio won't be aligned to the grid and you'll have to move it all to be aligned.

And, if you plan to assign a tempo and then use the metronome, you'll want it accurate. So starting by tapping the BPM button is ok but you'll still want to do what those videos show. Having a slightly off tempo is horrible. After the music plays for a while, your metronome will drift to the point where you'll be so out of time it'll be worse than having no metronome. So this is an all-or-nothing situation; you won't want to half-ass it. Also if the tempo changes during the song, it'll be even worse than that.

So either decide to tempo map it properly/accurately, or not at all.

Again, you're a singer and I assume you're relatively familiar with the songs you're covering. You shouldn't need to have the metronome enabled, and thus you won't need a proper tempo map.
JamesPeters is offline   Reply With Quote
Old 01-01-2019, 08:45 AM   #123
Plentos
Human being with feelings
 
Join Date: Dec 2018
Posts: 7
Default

Do you know which script that www.getsongbpm.com is using ? As I have said before I want to build a new website that could help visitors to find the BPM of any song...

Last edited by Plentos; 01-13-2019 at 04:44 AM.
Plentos is offline   Reply With Quote
Old 01-02-2019, 12:35 PM   #124
jrk
Human being with feelings
 
Join Date: Aug 2015
Posts: 2,969
Default

Quote:
Originally Posted by Plentos View Post
Hello,
Does anybody here know the technic how websites like getsongbpm work ?
I want to build a new website that helps visitors to find the tempo of a song...
Thank you
Well, the easiest way is to look it up. If you don't have access to a bpm database you'll have to work it out...

Start here: https://ieeexplore.ieee.org/document/1415691
__________________
it's meant to sound like that...
jrk is offline   Reply With Quote
Old 01-26-2019, 03:19 PM   #125
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

Once I have a tempo map in Reaper how can I drag a drum track in, set the bmp of that track if not an Acid track and fit it automatically to every tempo change like I can in Studio One.




In Reaper I have to split the Acid drum track at every tempo marker or mess around adding stretch markers. As you can see the middle acid track does not adjust at the bar but the whole track.

MusoBob is offline   Reply With Quote
Old 02-14-2019, 01:03 PM   #126
kirk1701
Human being with feelings
 
kirk1701's Avatar
 
Join Date: May 2015
Location: Ontario
Posts: 1,676
Default

This may have been answered already, but I just tempo mapped a reference track and only the track itself is mapped. There's atill four bars in front of the track that aren't on the same grid. How do I snap the entire project to the track's tempo?
__________________
"I've never trusted Klingons and I never will. I can never forgive them for the death of my boy."
kirk1701 is offline   Reply With Quote
Old 02-14-2019, 01:26 PM   #127
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Quote:
Originally Posted by kirk1701 View Post
This may have been answered already, but I just tempo mapped a reference track and only the track itself is mapped. There's atill four bars in front of the track that aren't on the same grid. How do I snap the entire project to the track's tempo?
Set timebasee to beat and set time0 tempo-marker to match desired tempo.
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 02-18-2019, 05:08 PM   #128
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

This will fit any item to the tempo map but loops/lengthens a section (or shortens if going down in tempo) on the end when it changes playback rate, not sure how to avoid that so I just set it to not loop but the length is still added, so just adjust it manually before gluing.

Here's some Drums to try (there's no embedded tempo though it will work with embedded tempo also)
https://www.dropbox.com/s/iyc2il43za...pm120.wav?dl=1
just create a tempo map, drag the wav in, run the script on the selected item, set it to 120.

Here's the Lua script

EDIT: Updated
Here's an updated script to try, just set the item on the start beat, run the script and set the items original tempo in the popup.
Let me know if it works for you.

right click Save Link/Target As
ReaTrak set item bpm and fit to project tempo map.lua

Watch Video


Code:
    -- Display a message in the console for debugging
    
    function Msg(variable)
      reaper.ShowConsoleMsg(tostring(variable).."\n")
    end
    cur_pos = reaper.GetCursorPosition()
    retval, org_bpm = reaper.GetUserInputs("Set Item's Original Tempo", 1, "Enter item's tempo (bpm):", "" )
    
    if retval then
    reaper.Main_OnCommand(40042,0) -- Transport: Go to start of project
    tempo_markers_count = reaper.CountTempoTimeSigMarkers(0)
    for i = 0, tempo_markers_count - 1 do
    
        reaper.Main_OnCommand(40759,0) --Item: Split items at edit cursor (select right)
        retval, timepos, measurepos, beatpos, bpm, timesig_num, timesig_denom, lineartempo = reaper.GetTempoTimeSigMarker(0, i)
        item = reaper.GetSelectedMediaItem(0, 0) 
        take = reaper.GetMediaItemTake(item, 0)
        playrate = bpm / org_bpm
        reaper.SetMediaItemTakeInfo_Value( take, "D_PLAYRATE", playrate )
        reaper.Main_OnCommand(41821,0) --Move edit cursor to next tempo or time signature change
        
    end    
        
    reaper.SetMediaItemInfo_Value(item, "B_LOOPSRC", 0)
    
    Info2 = [[
      
    "If you want to glue the items together"
    
    "make sure the end is correct"
      
    "else cancel out and adjust it"
    
    "then Remove fade in and fade out then glue" ]]
    
    reaper.MB(Info2, "Information", 0)
    
    
    retval,input  = reaper.GetUserInputs("Glue Items", 1, "This will glue split item", "")
    
    if retval then
       reaper.Main_OnCommand(40421,0) --Item: Select all items in track
       reaper.Main_OnCommand(41193,0) --Item: Remove fade in and fade out
       reaper.Main_OnCommand(41588,0) --Item: Glue items
    end
    reaper.SetEditCurPos(cur_pos, 1, 0)      
    
end

Last edited by MusoBob; 06-25-2019 at 03:44 AM.
MusoBob is offline   Reply With Quote
Old 04-17-2019, 08:14 PM   #129
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
Default

Breeder... seems like the download link in first post is broken? goes empty page with a 500 error???
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva
hopi is offline   Reply With Quote
Old 04-18-2019, 03:14 AM   #130
Breeder
Human being with feelings
 
Breeder's Avatar
 
Join Date: Nov 2010
Posts: 2,436
Default

Quote:
Originally Posted by hopi View Post
Breeder... seems like the download link in first post is broken? goes empty page with a 500 error???
Haha - it's fixed now, thanks! I think the broken link was the relic from the olden days during website redesign by Jeffos.
Breeder is offline   Reply With Quote
Old 06-03-2019, 04:53 PM   #131
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default Tempo Map from Sonic Visualiser or Audacity Win\Lin\Mac

This uses the SWS Convert project markers to tempo markers..
You can start Sonic Visualiser or Audacity from Reaper
Code:
os.execute [["C:\Program Files\Sonic Visualiser\Sonic Visualiser.exe"]]
you can change it to your mac path.


Tempo map from audio to Reaper

Audacity load your audio file
Analyze > Add Remove > Enable Tempo and Beat Tracker: Beat (& Beat Count)(& Bars)
Analyze > Tempo and Beat Tracker: Beat (or Beat Count)(or Bars)
File > Export > Labels

Sonic Visualiser load your audio file
Transform > Category > Time > Tempo and Beat Tracker: Beat (or Beat Count)(or Bars)
File > Export Annotation Layer txt or csv
https://www.sonicvisualiser.org/ Win/Lin/Mac

right click Save Link/Target As

ReaTrak audacity import bars or beats.lua

ReaTrak sonic visualiser import bars or beats.lua


Chords from audio to Reaper
Audacity load your audio file
Analyze > Add Remove > Enable Chordino: Chord Estimate
Analyze > Chordino: Chord Estimate
File > Export > Labels

Chordino Vamp Plugin
http://www.isophonics.net/nnls-chroma

Sonic Visualiser load your audio file
Transform > Chordino
File > Export Annotation Layer txt or csv
https://www.sonicvisualiser.org/ Win/Lin/Mac

Chordino Vamp Plugin
http://www.isophonics.net/nnls-chroma


right click Save Link/Target As

ReaTrak audacity chordino chords to regions.lua

ReaTrak sonic visualiser chordino chords csv txt to regions.lua



Thanks again to X-Raym Donation for Import markers and regions from tab-delimited CSV-TXT file.lua

The script will ask if you want to set the bar 1 start marker,
in the pic of a drum track bar 1 starts on marker 6 (bar 2 beat 2)






__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak

Last edited by MusoBob; 06-26-2019 at 01:06 PM.
MusoBob is offline   Reply With Quote
Old 06-25-2019, 03:46 AM   #132
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

Here's an updated script to try, just set the item on the start beat, run the script and set the items original tempo in the popup.
Let me know if it works for you.

right click Save Link/Target As
ReaTrak set item bpm and fit to project tempo map.lua

Watch Video
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 06-25-2019, 11:18 PM   #133
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

I updated this to give a bar or [grid] beat option (so if you right click the snap magnet and set it to 1/2 it will insert the stretch marker every half bar when set to beat), if you have sustained notes like a bass you get an artifact where the stretch marker is, to remove them from a sustained ending use (beats won't work with the grid set to swing, that's a Reaper issue, so use bar)
Item: Remove all stretch markers in time selection

right click Save Link/Target As
ReaTrak set item bpm and fit to project tempo map.lua

I used the ReaTrak sonic visualiser import bars or beats.lua above to get the map then fitted the constant tempo tracks to it.


__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 06-26-2019, 07:54 AM   #134
Breeder
Human being with feelings
 
Breeder's Avatar
 
Join Date: Nov 2010
Posts: 2,436
Default

MusoBob, I'm too busy to read/test what you did, but if you want for me to put it in the first post with links to your posts, write me a small/one sentence description what this does exactly

It seems you invested so much time, it would be smart to put it there so it doesn't get lost in the crowd.
Breeder is offline   Reply With Quote
Old 06-26-2019, 10:43 AM   #135
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

Import Tempo Map from Audio and fit any constant tempo items to it.
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 06-26-2019, 10:51 AM   #136
Breeder
Human being with feelings
 
Breeder's Avatar
 
Join Date: Nov 2010
Posts: 2,436
Default

Quote:
Originally Posted by MusoBob View Post
Import Tempo Map from Audio and fit any constant tempo items to it.
Done! Thank you for sharing your findings with us!
Breeder is offline   Reply With Quote
Old 08-25-2019, 11:31 AM   #137
Marantz
Human being with feelings
 
Join Date: Jul 2008
Posts: 41
Default

This is how I'm tempo mapping after reading the threads in here and trying out a few things.

1-insert media and place a marker at beginning of media

2-set playback rate to approximately 2 times the original speed and use this to fly through the track while pressing M and laying down markers.

3- after laying down the markers set the playback rate back to 1 times speed.

4- go to View-Region/Marker Manager and open it. Highlight all the markers ( I had 200 because I seem to HAVE to put a Marker on every beat )

** If I don't put a Marker on every beat, the sws script for changing markers to Tempo gives me funky numbers like 20bpm when it should be 80bpm. I want to put 1 marker for every bar, but I can't do this.**

Now that all the markers are highlighted, i.e. 1, 2, 3, 4, 5, 6, 7, 8, - I ctrl click on 1, then, 5, then 9, etc. Pressing Delete will delete all the highlighted Markers and leave me with the desired 1 marker per Bar, and then when I use the sws Tempo script and Set the Markers per Measure to "1", then will I get proper tempo.

I have to lay down markers 1 for every beat and delete 3 beats for every bar or I'll get incorrect BPMs, like 20 instead of 80, or 320 instead of 80.

5- now with the desired amount of Markers, I can go in and fine tune them to begin on the transient. After tuning the Markers I go to SWS and convert project markers to tempo markers, after setting the Markers per Measure to "1".
Marantz is offline   Reply With Quote
Old 10-21-2019, 10:56 AM   #138
buckman
Human being with feelings
 
buckman's Avatar
 
Join Date: Jul 2008
Posts: 1,850
Default

Firstly, apologies for my post here, as I have only had time to scan through these posts, but all look very promising for what I need to do.

I have asked on other posts, and Reaper 3rd party forums, and they pointed me to this post in particular. So hope I haven't missed anything, or that I'm repeating what's gone before.

Basically I am using Reaper and i need to 'beatmap'' full CD songs/tracks that i import from CD, that have tiny/drifting tempos of live drummers from 60's 70's etc. ie: a Disco track that bar 1 = 123.5bpm, bar = 122.2bpm etc, so they are all over the place!

Is there a quick and simple action/macro to build to use for example, 'dynamic split' with stretch markers to quantize and snap each beat of the bar and within the bars, so its locked to grid and maybe a solid tempo that i choose for my project like 125bpm in Reaper?

I have the latest Reaper and the latest SWS Extensions installed.

Again apologies if I am going over old ground, but I just can't see anyway to do this properly after looking at many tutorial videos, but on the other hand, know that Reaper would do this better than Ableton etc, and quicker with a combination of Macro's and Actions.

What actions would be the best way of doing this, if i imported a full song, roughly knew its bpm tempo (so I could set the Reaper project BPM), chopped of the intro 'air' of the CD track, so it starts on the first beat.

How would you go about getting these locked in time?

I know Reapers' Elastique seems and sounds far superior to Ableton, and I am sure it could be easier and quicker in Reaper!

Everything I have seen so far, seems to be for multitrack drummers/tracks of drums and other multi track instruments to get in time. Whereas I just want to do CD stereo tracks from original artists.

Also I don't need the variable tempo track that others have shown, to map every bar of a song, with the Master Track / Tempo lane. I personally need one single BPM and have the track 'snap' to that if that makes sense?
__________________
==
Reaper 6 needs Area Selection!
http://forum.cockos.com/project.php?issueid=122
buckman is offline   Reply With Quote
Old 10-21-2019, 02:48 PM   #139
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

You can drop the track into SonicVisuliser get the beat count then export to

Script: ReaTrak sonic visualiser import bars or beats.lua
then
Script: ReaTrak set tempo mapped items in selection to constant tempo.lua

TonE made a good suggestion here SonicAnnotator can be used within Reaper so it would do it with one button/script, so I will look into that.
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak

Last edited by MusoBob; 10-21-2019 at 03:45 PM.
MusoBob is offline   Reply With Quote
Old 02-19-2020, 09:49 AM   #140
buckman
Human being with feelings
 
buckman's Avatar
 
Join Date: Jul 2008
Posts: 1,850
Default

Quote:
Originally Posted by MusoBob View Post
This will fit any item to the tempo map but loops/lengthens a section (or shortens if going down in tempo) on the end when it changes playback rate, not sure how to avoid that so I just set it to not loop but the length is still added, so just adjust it manually before gluing.
Just tried this .LUA script with a full song once I had cut the start to the first downbeat, but it drifts after a while? as the stretch markers gradually get ahead of the beat..

It looks really good though!! and is the error i mention above, my fault as I didn't enter the correct tempo into the box?
__________________
==
Reaper 6 needs Area Selection!
http://forum.cockos.com/project.php?issueid=122
buckman is offline   Reply With Quote
Old 02-19-2020, 03:00 PM   #141
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

Are you using an item with a constant tempo or one with tempo drift ? it is only for constant tempo.
There is a setting somewhere I think for stretch markers to snap to grid ?
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 02-19-2020, 03:42 PM   #142
buckman
Human being with feelings
 
buckman's Avatar
 
Join Date: Jul 2008
Posts: 1,850
Default

Quote:
Originally Posted by MusoBob View Post
Are you using an item with a constant tempo or one with tempo drift ? it is only for constant tempo.
There is a setting somewhere I think for stretch markers to snap to grid ?
I I am using a tempo of drift as I am using many disco tracks from the 70s which drift and were not done to a click or drum machine.

I do know of a snap stretch markers to gride action that I have heard of which may help and dynamic split is very close in doing this also but just the odd bar here and there throws the whole thing off, so it manually needs all readjustment

So I am sure there is a quick auto way of getting reaper to do this well but it’s finding the combination of actions and maybe sws extensions to do it with then maybe some small manual adjustment. ??
__________________
==
Reaper 6 needs Area Selection!
http://forum.cockos.com/project.php?issueid=122
buckman is offline   Reply With Quote
Old 02-19-2020, 05:57 PM   #143
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

Item: Snap stretch markers in time selection to grid
Item: Snap stretch markers to grid
maybe that's what I'm thinking of ?

This looks useful MPL QuantizeTool 2.0:
https://forum.cockos.com/showthread.php?t=165672

__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 03-06-2020, 03:33 PM   #144
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

Try these, they are just working on Win at the moment though the zip also includes sonic-annotator for Mac and Linux.
Put these scripts and the sonic folder in REAPER\Scripts\ReaTrak if you don't have ReaTrak put them in the REAPER\Scripts\

ReaTrak get tempo map from item.lua
ReaTrak get chords from item to regions.lua

sonic.zip

EDIT: ReaTrak get chords from item to regions updated to give snap chord changes to beat option.

Select an audio item and run the script.
If you have Mac or Linux you can try and add them to the scripts if you like, if not I will get around to it some time...



__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak

Last edited by MusoBob; 03-08-2020 at 07:25 PM.
MusoBob is offline   Reply With Quote
Old 03-07-2020, 02:29 AM   #145
buckman
Human being with feelings
 
buckman's Avatar
 
Join Date: Jul 2008
Posts: 1,850
Default

Woah! So are you telling me this just finds the downbeat of your full song and snaps to grid if the project tempo is close?

That’s groundbreaking surely!

I am only on a Mac at the moment so maybe look at a PC to install Reatrak and this action too.

Sorry if I have this incorrect but that looks amazing, and would quantise looser drifting tracks to snap to grid and a metronome?

Is there a procedure to get this to work on any full track in the timeline or is it programmed with actions to do this from this action you’re showing? 😃
__________________
==
Reaper 6 needs Area Selection!
http://forum.cockos.com/project.php?issueid=122
buckman is offline   Reply With Quote
Old 03-07-2020, 04:46 PM   #146
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

To work on Mac all it needs is the Mac equivalent terminal command for the Windows command prompt
Code:
reaper.ExecProcess([[cmd.exe /C " cd ]] .. script_path .. [[sonic/win32/ & set VAMP_PATH=]] .. script_path .. [[sonic/win32/vamp; ]].. script_path .. [[ & "sonic-annotator.exe" -d vamp:nnls-chroma:chordino:simplechord -w csv "]].. filename ..[["]],0)
To get it to a constant tempo after is has been tempo mapped you can use
Script: ReaTrak set tempo mapped items in selection to constant tempo.lua
Is that what you mean ?

It just gets the source file location from the selected item and runs the vamp plugin on that file that will either get the chords and time location or the beats and time location then save it to a csv file that the scripts reads.
First right click the "Snap" set Show grid, line spacing
this will snap the chords to the grid.
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 03-10-2020, 09:46 PM   #147
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

Here's a couple of scripts for Reaper6 you can try and see if they work for you
ReaTrak set tempo mapped items in selection to constant tempo R6.lua
ReaTrak set item bpm and fit to project tempo map R6.lua




You can set it to fit automatically if you have the tempo in the filename
or it has embedded tempo (Acid) if not you can use the script:

__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 05-17-2020, 08:36 AM   #148
ayskura
Human being with feelings
 
Join Date: Apr 2019
Posts: 378
Default

is there a way to make it work on mac please?

Quote:
Originally Posted by MusoBob View Post
Try these, they are just working on Win at the moment though the zip also includes sonic-annotator for Mac and Linux.
Put these scripts and the sonic folder in REAPER\Scripts\ReaTrak if you don't have ReaTrak put them in the REAPER\Scripts\

ReaTrak get tempo map from item.lua
ReaTrak get chords from item to regions.lua

sonic.zip

EDIT: ReaTrak get chords from item to regions updated to give snap chord changes to beat option.

Select an audio item and run the script.
If you have Mac or Linux you can try and add them to the scripts if you like, if not I will get around to it some time...



ayskura is offline   Reply With Quote
Old 05-17-2020, 08:58 AM   #149
ayskura
Human being with feelings
 
Join Date: Apr 2019
Posts: 378
Default

Quote:
Originally Posted by ayskura View Post
is there a way to make it work on mac please?
i got this error "ReaTrak get tempo map from item.lua:236: attempt to index a nil value (global 'filetxt')" when running the script on mac... please help!
ayskura is offline   Reply With Quote
Old 05-17-2020, 02:35 PM   #150
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

This is line line for Win, it just needs the same thing in a terminal command for Mac, I'll look into it unless someone has a solution ?
Code:
reaper.ExecProcess([[cmd.exe /C " cd ]] .. script_path .. [[sonic/win32/ & set VAMP_PATH=]] .. script_path .. [[sonic/win32/vamp; ]].. script_path .. [[ & "sonic-annotator.exe" -d vamp:nnls-chroma:chordino:simplechord -w csv "]].. filename ..[["]],0)
It is just setting the vamp plugin path to the local folder that includes the plugins "sonic/win32/vamp" then applies that to the item source "filename"
The sonic.zip also has the Mac & Lin executable there already sonic/mac64/sonic-annotator sonic/lin64/sonic-annotator
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 05-17-2020, 03:02 PM   #151
ayskura
Human being with feelings
 
Join Date: Apr 2019
Posts: 378
Default

Quote:
Originally Posted by MusoBob View Post
This is line line for Win, it just needs the same thing in a terminal command for Mac, I'll look into it unless someone has a solution ?
Code:
reaper.ExecProcess([[cmd.exe /C " cd ]] .. script_path .. [[sonic/win32/ & set VAMP_PATH=]] .. script_path .. [[sonic/win32/vamp; ]].. script_path .. [[ & "sonic-annotator.exe" -d vamp:nnls-chroma:chordino:simplechord -w csv "]].. filename ..[["]],0)
It is just setting the vamp plugin path to the local folder that includes the plugins "sonic/win32/vamp" then applies that to the item source "filename"
The sonic.zip also has the Mac & Lin executable there already sonic/mac64/sonic-annotator sonic/lin64/sonic-annotator
I can locate it into terminal and I can try to launch with

./Sonic-annotator -h

but it's really beyond my understanding at the moment... is there a step by step tutorial for it?
ayskura is offline   Reply With Quote
Old 05-17-2020, 06:22 PM   #152
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

I have asked in the Reascript forum so will have to wait.

There are 3 commands in the one line "&"
it opens the command prompt and changes directory to sonic/win32/
&
then sets the Vamp plugin path to */sonic/win32/vamp
&
then apply the effect to the source "filename" that creates a csv file with chord or tempo info that's imported into Reaper.
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 05-17-2020, 06:44 PM   #153
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

Here's some more info on setting the Vamp path on Win/Lin/Mac

Quote:
You need to set the VAMP_PATH environment variable so as to point to the directory with the plugins in it. How you do this depends on the platform.

Linux and macOS using bash in a terminal window:

$ export VAMP_PATH=/path/to/plugin/directory
$ sonic-annotator -l

(or whatever sonic-annotator options you want)

Windows using Command Prompt:

> set VAMP_PATH=/path/to/plugin/directory
> sonic-annotator -l

Windows using PowerShell:

> $env:VAMP_PATH = "/path/to/plugin/directory"
> & sonic-annotator -l

Note that in all cases, setting the path to "." will make Sonic Annotator read plugins from the current working directory at the time you run it. If you have plugins + sonic-annotator binary in the same directory, you can cd to that directory and run (in bash) the one-liner

$ VAMP_PATH=. ./sonic-annotator -l
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 05-18-2020, 06:24 AM   #154
ayskura
Human being with feelings
 
Join Date: Apr 2019
Posts: 378
Default

Quote:
Originally Posted by MusoBob View Post
Here's some more info on setting the Vamp path on Win/Lin/Mac
thank you so much but I still can't get it to work... basically I would like to have an audio file recorded freely (A drum part i.e.) and have it tempo mapped automatically...

At the beginning I was using "Identify Beat" in Pro Tools which worked great but it was slow.

Then I discovered "SWS/BR: Move closest grid line to mouse cursor (perform until shortcut released)" and it opened my eyes as it was so much faster and easier (except to understand how to install).

Then I come across Logic function "Edit > Tempo > Detect Tempo of selected region" which works incredibly well, giving few option of possible tempo and creates a tempo map

I export it as midi file and import it in Reaper and tempo map is done. so I have a quick solution using another application.


I would like to be able to do what Logic does directly in Reaper so I put a post in feature requests which lead to this post. But I honestly I can't get my head around to how this feature vamp work... does it need Audacity?

or it can analyze audio files directly and do a tempo map?

thank you and sorry if I am going out of topic, I tried to read the whole thread from the top and I am even more confused... apologies and thank you for your kindness brother
ayskura is offline   Reply With Quote
Old 05-18-2020, 08:12 PM   #155
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

If you look above
https://forums.cockos.com/showpost.p...&postcount=131
you can use Sonic Visuliser on Mac.
But there will be a solution soon for the Mac command so you can do it without leaving Reaper in Mac or Win. Once I work out that command it will get the chords as well as tempo map or any other VAMP.
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak
MusoBob is offline   Reply With Quote
Old 05-25-2020, 05:03 PM   #156
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 2,640
Default

These seem to work, the chord one is using the 32bit plugin so I don't know how that will go with Catalina ?
Here's the update scripts to do both Mac/Win
ReaTrak get tempo map from item.lua

ReaTrak get chords from item to regions.lua

here's the scripts & executables as well
sonic.zip

Put them all in the Scripts folder or Scripts/ReaTrak/
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
STASH Downloads https://stash.reaper.fm/u/ReaTrak

Last edited by MusoBob; 05-25-2020 at 05:09 PM.
MusoBob is offline   Reply With Quote
Old 10-21-2022, 08:36 AM   #157
buckman
Human being with feelings
 
buckman's Avatar
 
Join Date: Jul 2008
Posts: 1,850
Default

Just revisiting this, is there now a Mac version at all?

I'm on Monterey and Mac M1 Max, and need to quantize tracks to a click that have a 'wavy' drummer that hasn't been recorded to a click.

So I need to import a single stereo CD track from say the 60's 70's etc and snap the transients/beats to a grid to give a straight bpm

Would Reatrak help with this, and whats the latest version (and is the Mac supported?)
__________________
==
Reaper 6 needs Area Selection!
http://forum.cockos.com/project.php?issueid=122
buckman is offline   Reply With Quote
Old 11-05-2022, 09:38 AM   #158
icarusi
Human being with feelings
 
Join Date: Feb 2011
Posts: 43
Default

I used some tempo mapping and got the results I wanted, but when I tried to export it as a midi file, it seemed that the tempo
data isn't exported 'baked into' the midi file, but it's metadata controlling the clocking of the playout of the file. I suspect
that tempo mapping is a legacy system from the midi-only days, to keep it simple and small. SMPTE-to-midi boxes used it, where
you could enter snapshots of tempo changes to sync midi sequences to existing audio.

I did a workaround by recording an audio click track from the tempo mapped project, and then hand adjusting the 'straight' midi
track to the tempo changes in the audio click track.

It would be handy to have a script which could extract or reference the meta data and 'bake' it into the actual midi timings, in
the same way we can save other midi manipulations as new takes which include the manipulations.
icarusi is offline   Reply With Quote
Old 02-21-2023, 06:55 AM   #159
cecilecolin
Human being with feelings
 
cecilecolin's Avatar
 
Join Date: Feb 2023
Location: Paris
Posts: 13
Default Modification Request to the Sonic Visualiser Script

Hi Musobob,

I'm currently using the ReaTrak sonic visualiser import bars or beats.lua script which is working great with the export txt file from Sonic Visualiser.

Now, I would like to skip a few in the script steps such as:
- the selection between csv or txt file extension (I will only use txt extension)
- remember the last directory of the imported file or choose a specific directory instead of the default Reaper directory each time the import txt file window appears.
- end the script after the markers have been imported to the timeline/ruler(I don't need the rest of the actions)

As I'm not familiar with coding, are these requests easy to do so maybe I can do them?

Anyway, you did a good job with this helpful script
__________________
Loving & Making Music!
cecilecolin is offline   Reply With Quote
Old 02-21-2023, 09:22 AM   #160
jrk
Human being with feelings
 
Join Date: Aug 2015
Posts: 2,969
Default

Quote:
Originally Posted by icarusi View Post
I used some tempo mapping and got the results I wanted, but when I tried to export it as a midi file, it seemed that the tempo
data isn't exported 'baked into' the midi file,
When you export there's a checkbox for "Embed project tempo / time signature changes"
__________________
it's meant to sound like that...
jrk is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 03:36 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.