Long Lines Project
Originally, Skywind's dialogue lines were ported from Morrowind using a tool that would automatically split paragraphs of text into individual lines. This was all automatic, and the end result left us with some really long lines, beyond what Skyrim typically allows and sometimes split in awkward places.
Earlier this year I kicked off a project to go through and split up these long lines into smaller segments. All the lines to split have been figured out (Link: Long Lines Revisions), and now I need manpower to go through all audio so far and apply the changes.
In addition to software used for filecutting normally, I recommend getting Notepad++ or any similar text editor that has a "Find in Files" function.
Process
Pick a card in either of these two columns:
Pre-Retakes Update (move cards here after 2nd check)
Complete - Ready for Long Lines Split
The card you pick should not have the red label "Long Lines Updated". (It is OK to pick a card with the light red "Long Lines Partial" label---these cards have been partially checked already.)
Add yourself to the card and add the Filecutter Assigned label, as if you were cutting a submission normally.
Download and extract the most recent checked work.
For instance, if the VA has completed a main submission and three rounds of retakes, then download the "Checked Work V3" file.
Download all audio files for this card.
If some audio is no longer available, ask me (km816) to post a copy.
I have posted a ZIP file with a script of the long lines, plus all current label tracks, to each card. Download and extract this zip file. Overwrite whenever prompted.
This file is often just the VA's name, e.g. "SwindleVath.zip."
If this file hasn't been posted yet, then let me (km816) know and pick a different card for now.
This file may also include some audio files. Sometimes I make some adjustments to cards before retakes or implementation, such as removing mouthclicks or adjusting pauses. These additional audio files are the record of that.
If you are checking a Main Submission in the Pre-Retakes column, there will not be a zip file posted, because I have not downloaded or edited the audio or labels yet. Instead, the Long Lines Script will be posted on its own.
Open the "Long Lines Script" spreadsheet. This lists all the lines that need to split. The "Acting Notes" column describes what should be done with the line.
"Replace" means there is an existing label with the same filename as in this row. It should be adjusted or replaced to match the new dialogue from the long lines script.
"New" means add a new label. The filename for this segment of dialogue does not exist anywhere in the scripts the VA has previously recorded.
If there is an existing label for this segment of audio, leave it in place. Do not delete it.
"New from <...>" means add a new label, and points you to what existing label you should look for for this line.
Once again: Do not delete any existing label.
"Reference" means the line is only in the script as reference material. You don't have to do anything.
For anything else, ("Special", "New (edit audio)", etc...), ask me (km816) for guidance.
For each line in the spreadsheet, make the appropriate adjustment to the label track and leave a note.
If there is no issue, mark the line perfect.
If there is, for instance, a loud breath or mouth click in the middle a line where it is supposed to be split, mark is as a sound quality. Label the line, but add "edit" to the end of the label in Audacity. E.g. if the VA had a loud breath between "fbmwTownSa_fbmwTownSadrith_0000C8DD_1" and "fbmwTownSa_fbmwTownSadrith_0000C8DD_3", you would label them "fbmwTownSa_fbmwTownSadrith_0000C8DD_1 edit" and "fbmwTownSa_fbmwTownSadrith_0000C8DD_3 edit".
If the amount of silence is between 0.25 and 0.5 seconds, label the lines and mark them perfect. Make sure that the label does not extend into the audio for the other lines.
If the amount of silence is less than 0.25 seconds, mark it as a sound quality issue. Label the line, but add "space" to the end of the label in Audacity. E.g. if the VA only had an 0.1 second gap between "fbmwTownSa_fbmwTownSadrith_0000C8DD_1" and "fbmwTownSa_fbmwTownSadrith_0000C8DD_3", you would label them "fbmwTownSa_fbmwTownSadrith_0000C8DD_1 space" and "fbmwTownSa_fbmwTownSadrith_0000C8DD_3 space".
If there is some other issue (mispronunciation, acting, etc...):
If the card is in the "Pre-Retakes Update" column, then describe the issue like normal. Do not label the line.
If the issue is already described on the most recent checked work script, then you can just leave a note like "See checked work."
If the card is in the "Complete" column, then ask for guidance in the #filecutting channel. Retakes on these cards may not be possible, and we may want to look for another solution. Label the line, but add "error" to the end of the label in Audacity. E.g. if the VA mispronounced "Angaredhel" in line "fbmwTownSa_fbmwTownSadrith_0000C8DD_1", you would label it "fbmwTownSa_fbmwTownSadrith_0000C8DD_1 error".
If you can't find the base line, then mark it missing.
Once you are done, export all labels (overwriting the original versions) and zip up all of the labels and the long lines script. Post it to the Trello card with a name like "Long Lines Checked - (rest of filename)". Remove yourself from the card, remove the "Filecutter Assigned" label, and add the "Long Lines Updated" label. Move the card one column to the right.
From "Pre-Retakes Update" to "Pre-Retakes - Long Lines Split"
From "Complete - Ready for Long Lines Split" to "VOICE ACTING COMPLETE"
If your card had the "Long Lines Partial" label, remove that too.
Tips & Tricks
You should not expect filenames to be sequential. For instance fbmwTownSa_fbmwTownSadrith_0001B1E6_1 is followed by fbmwTownSa_fbmwTownSadrith_0001B1E6_3, not fbmwTownSa_fbmwTownSadrith_0001B1E6_2. That final number, the _#, records the order in which the segment was created in the Creation Kit, not the order in which it plays in-game. So, please make sure to copy filenames over from the script---don't just increase the number.
In my experience, the easiest way to find a label is to use something like Notepad++'s "Find in Files" function. This is a way to search for text within all files in a folder.
Use Ctrl+Shift+F to bring up the search.
Set the filter to *.txt (meaning, only search in text files), and set the directory to wherever you've extracted your files.
The search results will show you which file has the text you are searching for.
There is plenty of other software that does this; you don't have to use Notepad++. It's just the one I like personally.
Sometimes, the filename for a line may have changed between when the card was last checked, versus when the Long Lines Script was generated. If you can't find a line, try searching for just the final Form ID portion of the filename, e.g. search for "0000C8DD_1" instead of "fbmwTownSa_fbmwTownSadrith_0000C8DD_1".
There should only ever be one label per filename across all label tracks on a card. If you see a label twice, post in the #filecutting channel about what do to; generally speaking you will want to go with the more recent take (e.g. Retakes V1 over the main submission). There are a few common reasons this might happen:
I (km816) may have copied audio from a VA's submission into a smaller chunk of audio ("recuts") to e.g. trim out mouthclicks, fix long pauses, or combine elements of different takes. I should have removed the label from the original audio's label track, but may have failed to do so. If this is the case you should remove the label from the original submission's label track.
For a small number of lines, there used to be duplicate versions of the line, later combined into one filename. So it could appear twice in the label tracks. In this case, you should remove one of the two labels. You can listen to them both and determine which you like best. This mostly applies to merchant & trainer dialogue.
It could be that I didn't catch a filename change to a line, resulting in the line accidentally getting marked "missing" when making a retakes script. In these cases it's easiest to just use the most recent one, and remove the label from the earlier label tracks.
It's possible a line was flagged for a retake but was also labeled. This could be from a mistake, or it could be from how some pronunciation rules were later changed, e.g. the "dh" in Angaredhel. Listen to both takes and keep the label from the better/correct version. You can check the filecutter scripts from each submission to see what the issues may have been.
Some long lines involve shifting audio from one label to another, e.g.
(1) The Blight is a sickness you get from being outside during ash storms. The sickness comes from Red Mountain;
(2) it makes normal creatures into terrible monsters.
becoming
(1) The Blight is a sickness you get from being outside during ash storms.
(2) The sickness comes from Red Mountain; it makes normal creatures into terrible monsters.
Let's say the original (2) is in the main submission and the original (1) is in the retakes submission. In this case it's okay to use "The sickness comes from Red Mountain." In the main submission, so long as there were no issues with that part specifically. If there were issues, or if the lines were reversed with (1) in main and (2) in retakes, then you'd mark the line something like "Sound quality: good parts of line split between multiple audio files". Still label according to "<filename> edit".
The coding side of the split in long lines was started in June 2023 and finished in November 2023. I started using Trello card labels to mark completed ones in September. So, if the most recent retakes were in or after June 2023, some lines may already be split. If it has the "long lines partial" label, then only the lines on Sheet2 of the Long Lines Revisions Spreadsheet need to be checked. Also, a small number of long lines (e.g. Farvyn Oreyn, Mossanon, and Nammu lines) were split before this ever became the "long lines project", so those may already be handled. And if it has the "long lines updated" label then it is done. There is also the possibility that a card just doesn't have any long lines to split. I believe I've labeled all of these as "long lines updated" already, though.
Another trick, useful for main submissions, is to copy the label track into the spreadsheet, and use some Excel commands to make it show the timestamp of the lines.
Copy and paste the label track into the accompanying script, somewhere off to the right, like column J.
If prompted by Excel or LibreOffice, columns should be separated by tabs.
In the cell next to the label track filenames, use =trim(<label track filename cell>) to remove any spaces. Copy this formula down for the whole label track.
Enter =index(<label track starting time column>,match(<this row's filename cell>,<trimmed label track filename column>,0))/24/3600 in the column H (just to the right of Filecutter Notes). Replace the bits in brackets <...> with the actual cells and columns of your spreadsheet.
Copy this formula for all rows in the script.
Select the whole column, right click and go to Format Cells --> Custom and enter hh:mm:ss for "Type".
For LibreOffice, select "User-Defined" instead of "Custom", and enter hh:mm:ss for "Format Code".
If a line is in the label track, it will show up with an hour:minute:second timestamp. If not, it will show up as #N/A.
For instance, if you pasted the label track into a cell in column J, then you should have:
Column J: Label starting times
Column K: Label ending times
Column L: Labels
Column M: Labels with extra spaces trimmed off
For example, cell M4 would have a formula =trim(L4)
And the formula for getting the timestamp for the label in Row 4 would be: =index(J:J,match(A4,M:M,0))/24/3600
Process for Cut Files
Long line splitting has wrapped up for cards that are in-progress, and is nearing the end for cards that are complete but not yet prepped for mixing. The next step will be to process cards that have been previously prepared for mixing. On these cards, the VA submissions have been cut into the individual audio segments already, so the process for cutting long lines will be a little bit different (and easier).
Pick a card in the "COMPLETE/CUT - Waiting for 2024 Recheck" column. The card you pick should not have the red label "Long Lines Updated".
Add yourself to the card and add the Filecutter Assigned label, as if you were cutting a submission normally.
Download the script and cut audio files. The cut files will be an attached link in Trello named something like "VA for Mastering", which will take you to a Google Drive or OneDrive file named something like _<gender><VA name><race>, e.g. _FemaleJoyHDunmer.
Extract this file. It will consist of the individual audio segments, sorted by what round of submission it was a part of (main, retakes v1, v2, etc...)
Open the "Long Lines Script" spreadsheet. This lists all the lines that need to split. The "Acting Notes" column describes what should be done with the line.
See the process in the 1st section for what the notes mean.
For each line in the spreadsheet, find the corresponding audio file. Make note of what folder it is in, then open it in Audacity.
If you need to edit two files at once, open the first file, then click and drag the second one into the Audacity window. Then, cut and paste the audio into the first file's track. You want all the audio to be in the same track.
Apply labels to the track to match the script, and leave appropriate notes in the script.
It is very likely that retakes on these cards will not be possible, so follow these rules for leaving notes:
For lines with no issue, mark them as "Perfect."
If you cannot find the line, mark it "Missing."
Label lines with sound quality issues and/or passable mispronunciations as if there were no error. Leave a note about the issue, for example "Sound Quality: Mouth click on "muthsera", but still labeled line."
For severe mispronunciations, or for misreads of any severity, Label the line, but add "error" to the end of the label. Leave a note about the issue.
You may add/remove roomtone as needed to ensure that there is enough silence before/after lines, and that pauses within a line are not awkwardly long.
Don't insert true silence. Instead, copy and paste roomtone from elsewhere in the line. When you copy roomtone, listen first to make sure there are no breaths or spoken parts---sometimes these are too quiet to show up in the waveform, but are still audible. Logarithmic view is highly recommended for this.
Only add/remove audio at "zero crossings", in other words when the waveform crosses the 0.0 (or -∞ dB) line. Likewise, any roomtone you copy should start and end with a zero crossing. Otherwise, there editing will be audible in-game.
Export the cut audio. Not the label track; actual filecutting. :)
Go to File --> Export --> Export Multiple
Export to the same folder as the file was in originally, but add "Split" to the end. E.g. if the original file was in Retakes v1, export to Retakes v1 Split.
If prompted to create this folder, select "Yes."
Export as WAV, with Signed 16-bit PCM encoding.
Select to split files using Labels, and name files using Labels/Track names.
You do not need to export the label track.
Zip up the newly created files/folders along with your script, and post it to the Trello card. Remove the "Filecutter Assigned" label, remove yourself from the card, and add the "Long Lines Updated" label. Move the card one column to the right, to the "Preparing for Mixing" column.