Support This Work
DOWNLOAD FROM THE BELOW LINK
USE AT YOUR OWN RISK
Please only share as a link to www.WORKWEBS.com and specify checking the REAPER tab.
I opened a thread on the REAPER forum for discussion. Click here for that thread.
REAPER Tools Especially for Theatrical Audio Handling - an Introduction
USE AT YOUR OWN RISK
Please only share as a link to www.WORKWEBS.com and specify checking the REAPER tab.
What's on this page: A link to the REAPER Web Scripts and sample REAPER set-ups is on the left...below is some of my background and instructions and then details on using the scripts.
I have been working with sound design and running sound for community theater for many years and for a variety of entities. Sometimes this entails a 1-person job with 18-25 audio sources, sometimes 3 or 4 people and up to 80 - 90 sound sources (with about 20-30 of those being orchestra). In any situation, it is a difficult job that could benefit from some tooling.
Trusting that I am not alone in needing some tooling, and because I use REAPER extensively, I have developed and will be sharing some tools and sample files that hopefully will benefit the community at large.
My system that is used for what is provided here is as follows: A 4 core 2.60 GHz i7 CPU with 8 logical processors running in a notebook computer with a 4k screen, 7200 RPM internal and external (USB3) drives, 16 GB RAM, GB network with a GB Router just to handle the traffic for this purpose (wired + wireless).
It is also very important to note that the CPU and GPU run cool but did not originally do so. Originally, whenever the computer was loaded down, such as with many VST processes, the CPU speed would drop to protect the system from overheating...causing a real problem. However, I cleaned the fan, and more importantly, re-worked the cooling system with new cooling paste done properly...seems the original build gobbed on way too much paste (Toshiba). Once that was taken care of, I was able to run multiples of the number of VSTs that I had previously been able to run. My point, check your temperature, and if your CPU slows down when it is needed most, it just may be trying to protect itself from overhearing, and you can fix that rather easily...and it makes a huge difference.
For an audio interface to my PC, I have a TASCAM US-16x08 and a UART 8 channel tube pre-amp for the channels through the Tascam that lack pre-amps in the TASCAM unit. I use the TASCAM mixer driver and ASIO and set Mixer True Bypass on to totally bypass the TASCAM bult-in mixer. I use 128 samples for my buffer, and record at 48.0 kHz at 32 bits of depth.
OVERVIEW OF THE TOOLS AND THEIR USE
I have developed multiple sets of solutions.
For the first solution, which I used to run performances of The Wizard of Oz, Jr., I created a mixer in REAPER that provided main outs, aux outs, and a "listener" out that I could use for troubleshooting. I used Envelopes to mute and unmute tracks and placed Markers in REAPER for every state change in the mutes and marked up my script to show each marker as a cue (I designated them as "page number" followed by the sequence within the page. I then used the REGION/MARKER manager in REAPER to advance across the markers as the performance went on. I was also able to use envelopes for special effects such as on the Wizard's voice, and could have automated anything else using this same manner.
For the second solution, having learned form the first that the job of keeping up with the advancement of the cues took about all of my time and left little opportunity for working VSTs, Levels, or troubleshooting mic failures, I created several Web scripts that help navigate the path through the show and that can be spread between multiple screens on multiple computers/tablets so that everything I needed would be very conveniently placed and ready to use. This also would allow for multiple operators as well as remote operation...though I concede to being of limited mobility because I only have 16 input channels in my PC interface and need quite a few more...so had to augment the load with a few manual efforts on a separate board.
In both solutions, I run with 2 projects open in REAPER. One to handle all of the mixing and another to handle the recording of all 16 tracks...for the whole time. Be sure to set REAPER to keep running background projects for this to work for you (right click on the tab on the left side of the REAPER window where the project name is and be sure the options related to running are checked). ALSO, in the project that is only recording tracks, be sure to MUTE THE TRACKS. It seems this reduces latency in the overall set of projects.
Another special hint....In Preferences in the General tab at the bottom is an "Advanced UI/System Tweaks..." button. If you click it you will find "Scale UI elements of track/mixer panels, transport, etc. by:" and you can enter a value. It is too bad it messes with both the transport and the mixer panels, but...it is a very nice way to get your mixer to be as large as possible. Note that it does not always show an impact until REAPER is restarted...so it is tough to play with, but worth a little time.
Use with a Behringer X32...If you do not like the Cues and Snippets etc. of Behringer's X32 tools, you can use the Reaper State Table control web interface described and provided here...just add Patrick-Gilles Maillot's X32Reaper to interface REAPER to your X32. I have done this and it works great. One caveat...I highly recommend setting the last parameter in the X32Reaper ini file from -1 to 8 to ONLY allow Mutes to be controlled interactively between the REAPER surface and the X32...because if you allow fader control it will work, but every time you open a REAPER project the X32 will take the fader settings from REAPER...and vice versa...and this would be very dangerous in a live situation where the last saved settings in REAPER may not be what you want to jump into on the X32. The mutes are dangerous enough...but you can quickly jump to a state table entry once you start REAPER going. Note that the audio is not pushed through REAPER, just the mute control so you do not have to worry about ASIO and plugin delays driving noise or problems with the audio. The dialogue is only for control. Be sure your X32 is expecting input from the correct source (X32) to use it this way. Another nice option in case you want cues and have a Mac computer...or cannot run the X32 software. The Web interface I wrote is quite basic and runs on many old and new browsers. Have fun, but drive the X32 carefully because mutes will be impacted. ANOTHER CAUTION.,.if you have multiple tracks selected in REAPER and mute or unmute one of them from REAPER or the X32, all selected faders will be impacted...so be careful!
TOOLS and TEMPLATES INCLUDED
Here's what's in the downloadable ZIP file:
REAPER Projects
1 - Sample for Solution 1 based on The Wizard of Oz, Jr. using Envelopes and Markers for mute/unmute and changing fx and other characteristics. This includes multiple layers of tracks in a mixer that includes AUXs, Mains, and "PFL" type listeners, in mono.
2 - Sample for Solution 2 based on Disney's Beauty and the Beast using markers for envelope engagement.
3 - Sample Project to record 16 channels.
TOOLS
1 - LJ Track Muter and Numbered Marker Navigator for REAPER
This tool is used with Solution 1 to go to PRIOR and NEXT numbered markers.
It is used in Solution 2 to go to ANY numbered marker and to also set mute conditions on tracks via a state table.
--sample State Table content is also provided in .txt Tab Delimited format as well as in Excel.--
2 - LJ Track Muter and Volume Adjuster for REAPER
This tool can be used with any project to give an easy to manipulate interface to mute and unmute tracks and to raise or lower track volume. Tracks can be filtered by a string in the track name to help manage things.
2 - LJ Numbered Marker Navigator for REAPER
This tool can be used to navigate to any numbered marker in a project.
THE FIRST SOLUTION
The First Solution leverages lots of envelopes and markers. Each time an Fx is added or removed, each time a desired volume level is set, each time a track is to be muted or unmuted this action is accomplished by editing an envelope. NOTE THAT THIS PROJECT Transport is NEVER run. The transport timeline is only used to define and name every transition in states. Yes, you could run the transport in whole or in part if you know the exact timing or are playing the audio for the music for a song directly from REAPER. However, in theater, music is often live and timing is never quite exact. Because of this, and because the music for this sample show was managed elsewhere, the timeline shown here is simply a timeline to define and label every transition. Then, either the Region/Marker Manager in REAPER or other tooling can be used to move from marker to marker. The show is recorded (all 16 tracks) in another project that just records the whole show from start to end in a different REAPER tab.
The beauty of recording all sources is that the recording can be checked later to find out what needs fixing in terms of mute/unmute in the timeline. This is a great benefit for forensic analysis of what went wrong in the show...because the problem can be fixed after the show and made right for the future performances (for example, someone went offstage early to do a costume change for a next scene, but you failed to note that, but heard weird sounds in the recorded rehearsal...just go back and find the problem after the rehearsal is over and fix it....or...if you wonder if someone was singing in a certain chorus part or not...even if offstage, just check after the rehearsal...and then fix the envelopes).
NOTE that muting a track via an envelope is not the same as muting a track via the MUTE button for that track. All SENDS remain active even when the track is muted. Fortunately for this example, only the music track was sent to an AUX output ... so I only had to worry about this for the Music track...and the music track was just always on...so life was good. In reality, this is often not the case. To fix it, envelopes are needed for every SEND to mute the SENDs when muting the TRACK. The best way I found to do this was to get the track mute envelopes right, and then copying the envelope to the SEND envelopes in whole. This will work...but you do end up with a lot of envelopes to manage and it is not a lot of fun.
Now...I found that I wanted to spend time making the actors sound good...tweaking levels, EQ, compression, etc. in REAPER. This was hard to do when the same computer and same screen had to be used to navigate in the REGION/MARKER manager and had to be used to tweak the audio. It is easy to get lost in the manager, and once the manager has focus, the mixer is out of focus, and there is lots of clicking needed and not much real estate on the screen...even in 4k. See Figures 1 and 2 for illustrations of envelopes and the mixer and transport and the manager window in REAPER.
To improve on this, I have written a Web Script for REAPER that you can have. This script is the LJ Track Muter and Numbered Marker Navigator. See Figure 3 to see this tool in action. For this solution, you only use part of the tool...the part that allows you to navigate markers....and you would also use the REAPER REGION/MARKER MANAGER if you need to do something out of sequence...which should be rare or only needed in rehearsals or times when you are jumping around in the script. To use it, simply open the tool, and then navigate from marker to marker in a forward or backward direction (backward is provided in case you accidentally advance and need to back up). This only stops at numbered markers...the ones you would put in place to jump from envelope setting to envelope setting to handle the tracks you have in your timeline.
Let's look closer at the Mixer and tracks though. This REAPER file is also provided to you for a starting point. It is based on The Wizard of Oz, Jr. edition. It is pretty much all MONO...though I may have missed a constraint here or there...and disables all MIDI sends since I do not use MIDI. You will have to suffer through loading about 1000 VSTs...that you may or may not also have, but I left them to illustrate what was used.
Starting at the bottom left...we have BLUE tracks that are the outputs. These would deliver audio to the AUX output hardware and to the MAINs. These output direct to the audio interface output hardware...and of course receive their input from other receives...such as the vocals and music or the AUX tracks.
Then we have the purple tracks. These are the Physical inputs. In my case, all 16 of them. They pick up the sources from the PC interface. They are ARMED and MONITORED but pass their audio to the GREEN tracks via sends. The GREEN tracks are for each PERSON. Sometimes a mic gets swapped form person to person in a show. This allows each PERSON's use to have separate fx's,levels, etc. applied to tailor the use of the mic to the individual. In the example I provide, I removed the actual names so placed character names there...so you do not have people's names.
The GREEN tracks SEND to the YELLOW tracks. The Yellow tracks are where you play with levels throughout the show. I call these the CHARACTER tracks. These are the tracks where the envelopes are built...to match the script. This is nice because if you change roles or something, just change the SENDs. Likewise, if you swap inputs (mics), just mess with the Purple Tracks and either level things there or fix them in the Purple tracks. The layered approach separates physical devices and their relationships to people and the same for the relationships between people and roles. The Roles level and envelopes, in a pure build-out, would be defined by the script.
Also in the Yellow tracks, I define groups. The Jitterbugs, Winkies, etc. are large groups. They are also formed in large part from people with multiple roles. Simply sending all of the correct GREEN tracks to these groups defines who is on with each group.This makes it easy to add or remove people form the groups without any change to the envelopes.
Further up you see a parallel Yellow Music track...and some groups. The Character and Music Blue tracks are folders that send to the OUTs.
There is also a green AUX Masters group (collapsed here) with 3 AUX's defined in this case. Each Character can send to ANY AUX pre-post fader/fx etc. at any level desired via the IO button and the SENDS.
I also have a Gray EFFECTS set of tracks...which can hold a variety of reusable effects. As provided, they have no SENDS because I did not use them...but they provide some quick options that you can send any track to and then send the out to the MAINs or whatever.
There is also A LISTENs section. This sends to a hardware out in the PC interface and can receive any track desired. It is particularly nice to be able to listen to any purple track to see what's coming in on any mic. They are never muted, so you can always monitor and check quality of the audio. It is always nice to have a PFL available.
ALL OF THIS IS NICE, but if you are super busy with advancing marker to marker in the REGION/MARKER manager, you seldom have time to open things up and get to these capabilities so they are really hard to use.....if everything is on one PC and you have to do it all yourself. Fortunately, with eh Web navigator tool, you can run that on a Tablet or another PC and keep the main interface open for the other work. You could even buddy up with someone to handle the cues and movement between markers so you can concentrate on keeping the show healthy!
See further down on this page for another nice tool to easily mute and unmute tracks and raise or lower volumes. You could run this on another screen for remote and handy delegation of work!
NOTE: If you change projects in REAPER, you must reload these tools..or wait for the project tab to be back as active...because I do not keep re-reading Markers in these Marker related tools....also, they need to be reloaded if you add or remove markers.
THE SECOND SOLUTION
The Second solution is a big improvement on the first, making life even easier! My example here illustrates an implementation for Disney's Beauty and the Beast. Again, I only have 16 tracks, so also have an auxiliary board feeding the system to catch up whatever I could automate here.
Again, we do NOT run the transport. It is used for setting envelope values...but we do NOT need to specify Mute/Unmute in the transport envelopes. That's a big help because they are a nightmare to manage and add a lot of complexity to the setup.
Recording takes place just like in the first solution, in a separate project that runs with this project in a separate tab in REAPER.
You could run the timeline transport if desired to play audio, but it is not necessary. It is much easier to do so in this solution because you probably will have a lot less markers to deal with.
In addition, these MUTE settings actually MUTE the track just as if the button was selected in the timeline. This means that fxs get stopped and the SENDS get muted all together...very nice, improved system performance, and easier to manage.
This solution leverages a STATE Table or Action List that you can build in Excel or elsewhere and feed to a Web interface tool and then navigate through. It allows easy automation of Mutes as well as the ability to use track envelopes to handle anything else. In other words, it mutes and unmutes based on a state table and also navigates to desired numbered markers to enact anything else!!
Here's how it works.
First, create a State Table. Here I used Excel. See Figure 4. The Table consists of ROWS that start with ~keyword and end with ~.
The final export is TAB delimited...so be careful. For some reason, even a comma drives Excel to Quote content when exporting Tab Delimited. My parsing of the final file does NOT handle quoted strings...so be sure NOT TO USE ANY CHARACTER that gets Quoted in the export to TAB Delimited.
The keywords and formats are below. A "|" below indicates a change in CELLS in Excel:
~comment | xxxx | ~
where xxxx is any string that will not get quoted when exporting to TAB delimited. The content is otherwise ignored.
~HEADER | aaaa | bbbb | cccc | dddd | {track name | ... | track name} | ~
where aaaa is text. When displayed in the later tool it is described as a State ID.
likewise, bbbb, cccc, dddd are text and they are later shown in the tool as a state description, mute description, and marker description. Actually, any of these can be anything you want as long as an export to TAB delimited does not end up with a quoted string.
track name is the name of a track in your project that you will be muting or unmuting in the tool. TRACK NAMES also must not get quoted when exporting as TAB delimited...so plan ahead.
~STATE | aaaa | bbbb | cccc | dddd| { 1 or 0 | ... | 1 or 0} ~
Here aaaa is a unique STATE Identifier for the STATE being specified in this row. THESE MUST be UNIQUE or will be used unpredictably. A great way to name STATEs is by script page number and then a sequential number on the script page. You would annotate these with the script to halp navigate, and the resultant table would be unique.
bbbb and cccc are just descriptive for your use. Be sure the content does not get quoted in tab delimited export.
dddd is a numbered Marker Name you want to jump the transport timeline to when you enter this STATE. This allows you to set envelopes in the transport and engage those envelope settings when traversing the script and moving from state to state. Be sure the marker names do not get quoted when exported in TAB delimited format.
0 and 1 are used for each track specified... 1 is unmuted, 0 is muted.
~done | ~
this indicates the end of the file. When present, you will get confirmation in the tool that the entire state file was read in.
Let's look at an example. Figure 4 shows the sample Excel file.
Each mute STATE row defines the mute/unmute condition for each cue and also includes a Marker the position the transport timeline to when going to that STATE. This ensures that conditions are as desired. I only specified a Marker when a track is unmuted that depends on an envelope to be sure whenever any such track is unmuted it is in the desired state. This allows jumping around, and you never know what someone else is clicking on in the project separately...so always good to play it safe. A "1" indicates to be sure the track is unmuted, "0" ensures it gets muted.
That's it...just be sure you have it right and you are ready to go.
Export to TAB delimited. Double check that nothing got quoted. If it did, go back and fix the source material to not get quoted when exporting.
Figure 5 shows a TAB delimited export of this same table.
Figure 6 shows the REAPER Project for this show. You will see it is rather simple...tracks and just a few markers where special effects are needed, such as where the BEAST needs a special voice. That requires and envelope that turns an fx on or off.
Due to a fair lack of mix re-use, I made this one more simple than the when I did The Wizard of Oz in the illustration of the First Solution. I would still recommend keeping the added PERSON layer if your needs require it. I also just left this one in stereo, though outputs and inputs are mono...and so are my fxs for CPU use minimization.
Purple are again each of the 16 interface inputs to the PC, Green here are my outputs to hardware,
Blue receive the purple channels and feed a folder that feeds an output in the PC Interface that I can use as a track listener (pfl). Purple also feeds Yellow, which again are my Character tracks. These are the tracks that can be tweaked with envelopes but which are also muted and unmuted in the STATE table. You will see in the Transport the few Markers I needed.
Note that if you transit from marker to marker in the STATE table that MUTES are handled first and then the transport is moved. If you transit past a variety of envelopes, on tracks that are not muted, you may hear a brief exposure to the impact of the combination of mutes and envelopes. It is fast, but can happen. It is therefore recommended that envelopes and markers are used in sequence.
Here, the Yellow tracks are pretty much unique to people and characters, so fxs are used on the Yellow tracks. When muted by the STATE tool, the fxs are also disabled and sends are muted as well.
Figure 6 shows the LJ Track Muter and Numbered Marker Navigator for REAPER. This is a Web tool I wrote. Here's how it works.
Just as in the FIRST solution, you can use the top of the tool to go prior and next.
However, you can use the bottom of the tool to go to ANY STATE.
Here's how to load the STATE table into the tool. Copy the entire content of the tab delimited state table to your clipboard. I use NOTEPAD or a GOOGLE DRIVE view to help with this. Then, paste the clipboard to the text box shown in the tool....by default, it has focus when you open the tool. Then click in the box. You will then get to see the content on screen with navigation buttons. You will also receive a pop up message screen indicating that the complete table was read in based on the reading of the "done" row in the table.
See Figure 7 for a view of the tool.
Figure 8 shows a lower-down sample of the same tool where a particular state was selected, in Green, and also shows some rows where a Marker jump was specified.
It is easy to use, and engages any envelopes located at any numbered marker and also handles muting and unmuting any managed tracks for the same states.
This can be run on another computer, on a tablet, by the same person doing the mixing, or someone else. This allows spreading the load of running the show and allowing the separation of mixing and muting and handling the defined aspects of the run of the show.
NOTE: If you change projects in REAPER, you must reload these tools..or wait for the project tab to be back as active...because I do not keep re-reading Markers in these Marker related tools....also, they need to be reloaded if you add or remove markers.
RECORDING SAMPLE
In both solutions, I mentioned use of a separate project tab to just continually record the run of the show. Figure 9 shows how this tool would look. It is also available for download. it is pretty straightforward. Just remember to click record at the start of the show and click stop when done and save the recordings. As mentioned earlier, be sure you have the project tab options set to keep background projects active (right click the tab with the project name).
TWO MORE TOOLS - always useful
LJ Track Muter and Volume Adjuster
This tool does not require much setup, or even any if you don't want filtering, and can be used in many situations. Because I wanted to easily mute and unmute PFL tracks...those that receive from the raw input tracks and feed a master Listener track, I created another tool for quick muting, unmuting, and changing the volume levels on tracks. This tool includes a FILTER string that I an use to expose a subset of tracks.
In my last sample project, the CHARACTER tracks all contain a _ch_ so that if I filter to that in this LJ Track Muter and Volume Adjuster for REAPER I can quickly check and adjust the Character tracks without having to get to the main screen or my PC...it runs nicely on a Tablet. In fact, as of this time, all of these tools run just fine even back to a first generation ipad with Safari. They would not run on old Explorer copies on PCs with Windows ME though...but ...they are kept simple for a reason.
I also named all tracks in the Second Option that are meant for PFL with a _pfl_ in the file names. I also put this in the name of the master listener and made a listener for the combined vocal tracks...nice to have...
With this tool, I can filter to _pfl_ and just see the 18 or so tracks I have set to send output to the 8th output on my PC interface. I keep some headphones plugged in there and can do whatever I want while still navigating cues and mixing...YEAH!
I could also give this to a cohort to use to find problems while I keep the plane running. Imagine being able to concentrate on running the plane and not on fixing the engine on a flying plane! Now that is available!
This tool actually will auto refresh live and will keep sync with whatever the current project tab is. The other tools keep alive, but if you change projects in REAPER, you must reload the tool..or wait for the project tab to be back as active...because I do not keep re-reading Markers in those other tools....also, they need to be reloaded if you add or remove markers.
Yes, this tool also pulls custom colors from the tracks in REAPER. To apply a filter, simply type the filter in the text box and click in the box. It will update and keep current to the project in focus in REAPER.
Figure 10 shows what this tool looks like.
Track names and filters could even be used to get different people access to different sets of tracks if you want to manually run a show and spread the load for muting/unmuting, and even volume adjustments.
LJ Numbered Marker Navigator
This tool does not require any set up. Just run it. Refresh it as you add or remove markers or change projects. This one lets you drive to any numbered marker...it starts from where it is and moves up or down until it gets to the right marker. The selected marker button and name turns green. If you navigate to another marker outside of the list tool then the current marker name goes blue, the one last navigated to from the tool's main section stays green. If you externally navigate to a position between markers, the names of the markers you are between turn gray.
Figure 11 shows this tool (on top is normal prior/next tool, the bottom is the added navigator).
INSTALLING THE HTML FILES and Accessing them
The provided HTML files need to be placed properly on the PC on which you are running REAPER and need to get configured.
See Chapter 17 in the REAPER manual for some details. It is titled Controlling REAPER with a Web Browser Interface.
On a PC, the HTML files go to C;/users/name/ AppData/Roaming/REAPER/reaper_www_root
I do not have a Mac to validate installation there.
To enable the HTML in REAPER, go to Preferences ->Controls.OSC/web- and ADD.
Use Web browser interface as the control surface selection, pick a port, optionally add a userid and password for script access, use the down arrow to select the LJ... script to assign to the desired port and off you go.
I recommend a static IP for your REAPER PC so these do not change....and a separate ROUTER to control access at shows.
In Windows, you also need to open the port for the network type (private hopefully) involved so that desired users can get to the script via the specified port.
REVISION HISTORY and CONTACT INFORMATION
January 22, 2019 - LJ Numbered Marker Manager for REAPER v02.01 now honors marker colors and clarifies "YOU ARE HERE" in the lower list section.
April 19, 2018 - Initial release of all items.
Contact: Larry@WorkWebs.com