- A Detailed Guide to Subtitling with Reaper
- Quick and Easy Subtitling from a Transcript using Reaper and Subtitle Workshop
- Better Subtitling with SWS v2.6.0 and Custom EEL Scripts
REAPER v5, Text Items and Scripts: Subtitling, Faster Than Ever! / ExtremRaym
Until now, subtitling with REAPER, with the help of the famous community-made SWS extensions, could leave you some doubts. It was both extremely efficient for defining timecodes, and frustrating because some basic functions were missing. Worst, certain things were a bit buggy, and we also have to use external softwares.
Forget all of this, REAPER just came in a new era.
Sure, we have to keep in mind that REAPER is a software dedicated to sound treatment, not subtitling, the idea is not to make advanced text related tasks on your subtitles. However, as you could already noticed in the precedent article, REAPER, with the SWS extensions , is able to make our subtitling life easier, with a great comfort.
- 1 Content
- 2 SWS 2.6.0 #0
- 3 Custom EEL Scripts
- 3.1 Functions – console debug messages
- 3.2 Add italic markup to current region name
- 3.3 Add musical notes to current region name
- 3.4 Create regions from selected takes and from track name
- 3.5 Create subtitles from regions names
- 3.6 Merge consecutive regions as dialog lines
- 3.7 Merge consecutive regions with same name
- 3.8 Merge overlapping regions with same name
- 3.9 Merge region under cursor and the next one_v2
- 3.10 Snap all regions to grid
- 3.11 Split region under cursor
- 4 Conclusion
SWS 2.6.0 #0
The SWS extensions v2.6.0 #0 have a bug fixed, and functions enhancements… that I initiated !
Fixed new lines added in subtitles when saving the project
Since subtitling became available for REAPER, there was a small bug that occurred on every projects with subtitles we saved. Yes, all of them ! And it just has been fixed !
The problem was : a line was inserted on every subtitle. The kind of thing that could broke every subtitling workflows.
So, I report the problem and fortunately, it has been corrected (thanks to the person who did it !). You can now make your subtitles as nothing happened.
Import SubRip file: name regions with subtitles content
The big advantage of open source projects such as the SWS extensions, is that if you want to add or modify a function, you just have to code it, and propose it ! One of the thing I wanted to modify was the way the regions were named when we imported a subtitles file. Remember, I wanted the regions to be named with the dialog lines.
Well, it was not easy, I had to learn the C++ basis for the occasion. I never had coded at such low level, it required a lot of work, even for tiny things such as finding how to add a function in the project ! The good news was that I found what function I wanted to modify among the thousands of the files… there was hope.
Fortunately, two friends of mine accepted to help me on that. Without them, I would have been completely lost.
First there was Matthieu, who helped me to understand how the file was structured, and who put some code to allow the modification of the function.
Then, it is up to Lorine, who succeeded to format the subtitles into region names !
And then, it worked ! The regions were well named after importing a SRT file.
Once again, thanks both of you for this little success !
Sadly, we were not credited on the changelog for that, I guess the function has been rewritten to match the project technical constrain (not a lot of persons are explicitly credited in the changelog anyway). It is not bad, we have encourage the SWS masters to work on that, and they did it well !
This is a small option, that you can access via right clicking on the note windows, which will allow you to break the lines of text that are too long for the windows. Nice ! EDIT : it seems broken for now. Be patient !
Custom EEL Scripts
There is an other and simpler solution to add actions into REAPER. We can write a script, which could be directly interpreted into REAPER, in order to make some customs functions. Scripts cannot replace extensions for complex tasks, but for small actions, it is perfect. And the available scripting languages for REAPER are far more easier to read than C++ !
In order to know more about ReaScripts, you can have a look to this article : Learn ReaScript for REAPER.
It is spk77 who showed me the way, when we elaborated actions about REAPER Scripts : Take Properties Randomization / ExtremRaym. It inspired me, and I decided to learn EEL. I had some actions ideas that could really help during a subtitling workflow. And it works, because the feature requests I made about that… became reality ! 🙂 (I had also noticed some other non intuitive behavior, but they can be overcome with this actions).
The scripts are available on my GitHub account and will be updated if necessary. For simplicity, I advice you to download my whole folder, rather than downloading file after file. Go, it’s free![Téléchargement introuvable]
To load a script in REAPER, open the action window and click on ReaScript => Load.
Below, I will show you custom actions I wrote about subtitling. You can find more infos about some scripts on the REAPER forum (links are provided).
Functions – console debug messages
This script is used by the other scripts in order to display messages in the REAPER console, in order to debug the scripts or for display informations. It doesn’t add any action into REAPER, but it is indispensable.
Forum REAPER Thread : EEL : Console debug messages
Add italic markup to current region name
This action wraps a region name between markups that will make it displayed in italic in a video player. I have to admit, this is not my more advanced script, but well, I had to started small !
Add musical notes to current region name
This action wraps the current region name bewteen two musical notes. It is often use for people who can’t hear, to symbolize that music is playing in the scene.
Create regions from selected takes and from track name
This is an overpowered version of SWS:Created regions from selected items (name by active take), with color management from the track or the take, and the possibility to add the track name as prefix to the region name.
Forum REAPER Thread : EEL : Create regions from selected takes and from track name
Create subtitles from regions names
This script is for the upcoming REAPER v5. It allows us to create automatically regions subtitles from regions. Before that, it would needed a Macros software. But, we had to edit the project file in source mode to make it works, because there is no other way, at this point, to have the right formating for regions subtitles with the current functions in the API. I made a video to explain how to do it.
EDIT (17/02/2015): I just made v4 friendly version of this. You can find it here: X-Raym_Create subtitles from regions names – console version.eel at master
Forum REAPER Thread : EEL: Create subtitles from regions names
Merge consecutive regions as dialog lines
Merge two adjacents regions and format the resulting name as dialog lines.
Forum REAPER Thread : EEL : Merge consecutive regions as dialog lines
Merge consecutive regions with same name
This action will allow you to merge regions with same name. You will have to execute it several times, until the console tell you it is over. You can edit the script if you want to change the threshold which defines what is consecutive.
Forum REAPER Thread : EEL : Merge overlapping regions with same name
Merge overlapping regions with same name
This is basically the same action as the one above but with no threshold.
Forum REAPER Thread : EEL : Merge overlapping regions with same name
Merge region under cursor and the next one_v2
Forum REAPER Thread : EEL : Merge region under cursor and the next one
Snap all regions to grid
This script could help you a lot to have professional timecoded subtitles if you sync it with frame rate chosen accordingly to your video frame rate.
Forum REAPER Thread : EEL : Snap regions to grid
Split region under cursor
This action let you split a region in two.
Forum REAPER Thread : EEL : Split regions under cursor
As you can see, all this actions and scripts will be very useful in our subtitling workflow !
You will see in an other articles how to subtitle an entire piece without transcript, but only with elements inside your project !
If you have any suggestion, bug report, feature request, or if you just want to say thank you, don’t hesitate, every participation is welcomed !