Difference between revisions of "Arcane University:Voice Line Implementation"
(Created page with "{{Trail|Quest Implementation}} This guide covers how to implement voice files, starting from raw audio and ending with lip-synced lines in-game. ==Introduction== ===What's C...") |
|||
Line 10: | Line 10: | ||
* Taking audio submitted to you by a voice actor (or recorded yourself) and cutting it into individual files using a label track. | * Taking audio submitted to you by a voice actor (or recorded yourself) and cutting it into individual files using a label track. | ||
* Lip syncing the lines. | * Lip syncing the lines. | ||
− | * Compressing them to Skyrim’s | + | * Compressing them to Skyrim’s ".fuz" format. |
===What's NOT Covered=== | ===What's NOT Covered=== | ||
Line 31: | Line 31: | ||
==Audio File Naming Convention== | ==Audio File Naming Convention== | ||
− | Before I get started, I want to briefly talk about voice line filenames. This isn’t really a | + | Before I get started, I want to briefly talk about voice line filenames. This isn’t really a "step" in implementation, more like an explainer. |
In short: Voice filenames are implicit. They are defined by the quest & topic they reside in, as well as their FormID (load-order independent). What this means is that when you have a line of dialogue in-game, you don’t get to pick what audio file corresponds to it in a file selection window, the way you would for a sound effect, or the way you’d pick a mesh for a static object. Instead, when you create a line of dialogue in the Creation Kit, the filename for that line is immediately defined for you. | In short: Voice filenames are implicit. They are defined by the quest & topic they reside in, as well as their FormID (load-order independent). What this means is that when you have a line of dialogue in-game, you don’t get to pick what audio file corresponds to it in a file selection window, the way you would for a sound effect, or the way you’d pick a mesh for a static object. Instead, when you create a line of dialogue in the Creation Kit, the filename for that line is immediately defined for you. | ||
Line 37: | Line 37: | ||
This also means that if any aspect of the line changes (e.g. it moves between quests, between topics, or its Form ID changes (such as during a merge)) then the assigned filename will change as well. For this reason, it is often easiest to wait until dialogue implementation is finalized before implementing the voiced lines. | This also means that if any aspect of the line changes (e.g. it moves between quests, between topics, or its Form ID changes (such as during a merge)) then the assigned filename will change as well. For this reason, it is often easiest to wait until dialogue implementation is finalized before implementing the voiced lines. | ||
− | The exact way that the filename is defined isn’t important here, only that it’s not something you get to control. (If you are interested in how it’s defined, look at the | + | The exact way that the filename is defined isn’t important here, only that it’s not something you get to control. (If you are interested in how it’s defined, look at the "InfoFileName" function inside xEdit’s "Export Dialogues" function.) |
− | There are two main ways to find what a voice line’s filename is. The first is to navigate to the Response Window and look at the | + | There are two main ways to find what a voice line’s filename is. The first is to navigate to the Response Window and look at the "Voice Filename". |
[[File:QI-VoiceLines-Fig1-ResponseWindowFilename.png]] | [[File:QI-VoiceLines-Fig1-ResponseWindowFilename.png]] | ||
− | The second is to use the Creation Kit’s | + | The second is to use the Creation Kit’s "Export Dialogue" function. You can reach this by selecting "Filtered Dialogue" from the "Character" menu on the Creation Kit’s menu bar. Then, filter for the NPC or Voice Type that you want, and click "Export Dialogue." This will create a text file in your Skyrim directory. You should open this and copy it’s contents to a spreadsheet editor, such as Excel, Libre Office Calc, Google Sheets, etc… This will contain the lines, filenames, and other dialogue related information. |
− | [[File:QI-VoiceLines- | + | [[File:QI-VoiceLines-Fig2-ExportDialogue.png]] |
Alternatively, if you are a part of a larger project, that project may have it’s own method of generating scripts and matching lines to filenames. | Alternatively, if you are a part of a larger project, that project may have it’s own method of generating scripts and matching lines to filenames. | ||
Line 51: | Line 51: | ||
In a similar vein, the folder in which your voice lines will be placed is also implicitly defined, based on your plugin and voice type names—more on this in the next section. | In a similar vein, the folder in which your voice lines will be placed is also implicitly defined, based on your plugin and voice type names—more on this in the next section. | ||
− | == | + | ==Creating the Voice Type & Folders== |
− | Right click on your . | + | ===Voice Type & Applying to an NPC=== |
+ | A '''Voice Type''' represents a particular voice in game and can be used across multiple NPCs. For this guide we'll consider a single NPC only. | ||
+ | |||
+ | To create a new voice type, navigate to the "Voice Type" section under "Character" on the Object Window. Right-click anywhere and select "New". This will give you a window to create the voice type: | ||
+ | |||
+ | [[File:QI-VoiceLines-Fig3-VoiceType.png]] | ||
+ | |||
+ | Select the appropriate gender and name your voice type. I personally try to use a standard of: | ||
+ | |||
+ | <Mod Prefix><Gender><Voice Actor><Race> | ||
+ | |||
+ | However you could use a different standard if you’d like. Vanilla Skyrim’s format tended to be: | ||
+ | |||
+ | <DLC Prefix if applicable><Gender><Description> | ||
+ | |||
+ | For example "MaleElfHaughty" or "FemaleElderly". | ||
+ | |||
+ | The “Allow Default Dialogue” checkbox governs whether NPCs with this voice type will use generic dialogue; generally this means dialogue that is not conditioned to any specific NPC or group of NPCs. Full detail on what this means can be found on the Creation Kit Wiki: https://www.creationkit.com/index.php?title=VoiceType | ||
+ | |||
+ | Once you have created your voice type, the next step is to apply it to your NPC. To do that, first find your NPC in the Object Window and go to edit them. On the “Traits” type, look for the “Voice Type” dropdown menu. Find your voice type and select it. | ||
+ | |||
+ | [[File:QI-VoiceLines-Fig4-NPC.png]] | ||
+ | |||
+ | Press "Okay" and save your mod. | ||
+ | We’re now ready to move on to implementing the voice files. However, before moving on, let’s quickly talk about two special cases first. | ||
+ | |||
+ | ====Special Case: Talking Activators==== | ||
+ | "Talking Activators" are special activators that you can… talk to. Think of things like the Augur of Dunlain, the Dark Brotherhood’s Black Doors, or Daedric Princes communicating through their statues. | ||
+ | |||
+ | These talking activators use voice types a well. Like for NPCs, there is a dropdown menu to select your voice type. | ||
+ | |||
+ | [[File:QI-VoiceLines-Fig5-TalkingActivator.png]] | ||
− | + | ====Special Case: Creature Dialogue==== | |
==Success message== | ==Success message== |
Revision as of 16:51, 22 November 2020
This guide covers how to implement voice files, starting from raw audio and ending with lip-synced lines in-game.
Contents
Introduction
What's Covered
This guide will teach you how to add voice lines to your mod or modding project. It will cover:
- Creating a voice type and adding it to your NPC.
- Taking audio submitted to you by a voice actor (or recorded yourself) and cutting it into individual files using a label track.
- Lip syncing the lines.
- Compressing them to Skyrim’s ".fuz" format.
What's NOT Covered
This guide will NOT cover how to implement the dialogue itself—that is, Creation Kit entries for Dialogue Branches, Topics, TopicInfos, and so on. It is assumed for this guide that you already have all of this implemented. Guides for dialogue implementation can be found here:
Additionally, this guide will not teach you how to master the audio (Equalization, noise reduction, etc…). It is assumed that this will be done at some point prior to lip syncing & compression, although the exact point in time does not matter so much. Also, note that "Compression" in this case means "File Compression", unrelated to audio mastering.
Before You Start
What you need before starting this guide:
- The audio file(s) for the voice you will be implementing
- A script of the lines your voice actor read, ideally with filenames for each line
- You may need a spreadsheet editor, such as Microsoft Excel or OpenOffice Calc, for this. Excel is expensive, so if you don't already own it I recommend open-source software like OpenOffice or LibreOffice.
- Audacity, a free audio-editing program. You can download it here: https://www.audacityteam.org/
- FonixData.cdf for lip syncing. This specifically should be in the Data/Sound/Voice/Processing/ folder in your Skyrim directory. This file is reportedly created when the Creation Kit is installed; if not, then see here: https://www.nexusmods.com/skyrimspecialedition/mods/40971
- If you are using Skyrim Special Edition then you will need to download and install Nukem’s CK fixes: https://www.nexusmods.com/skyrimspecialedition/mods/20061. (If you are using the SSE CK, you should be using this anyways—trust me.)
Audio File Naming Convention
Before I get started, I want to briefly talk about voice line filenames. This isn’t really a "step" in implementation, more like an explainer.
In short: Voice filenames are implicit. They are defined by the quest & topic they reside in, as well as their FormID (load-order independent). What this means is that when you have a line of dialogue in-game, you don’t get to pick what audio file corresponds to it in a file selection window, the way you would for a sound effect, or the way you’d pick a mesh for a static object. Instead, when you create a line of dialogue in the Creation Kit, the filename for that line is immediately defined for you.
This also means that if any aspect of the line changes (e.g. it moves between quests, between topics, or its Form ID changes (such as during a merge)) then the assigned filename will change as well. For this reason, it is often easiest to wait until dialogue implementation is finalized before implementing the voiced lines.
The exact way that the filename is defined isn’t important here, only that it’s not something you get to control. (If you are interested in how it’s defined, look at the "InfoFileName" function inside xEdit’s "Export Dialogues" function.)
There are two main ways to find what a voice line’s filename is. The first is to navigate to the Response Window and look at the "Voice Filename".
File:QI-VoiceLines-Fig1-ResponseWindowFilename.png
The second is to use the Creation Kit’s "Export Dialogue" function. You can reach this by selecting "Filtered Dialogue" from the "Character" menu on the Creation Kit’s menu bar. Then, filter for the NPC or Voice Type that you want, and click "Export Dialogue." This will create a text file in your Skyrim directory. You should open this and copy it’s contents to a spreadsheet editor, such as Excel, Libre Office Calc, Google Sheets, etc… This will contain the lines, filenames, and other dialogue related information.
File:QI-VoiceLines-Fig2-ExportDialogue.png
Alternatively, if you are a part of a larger project, that project may have it’s own method of generating scripts and matching lines to filenames.
In a similar vein, the folder in which your voice lines will be placed is also implicitly defined, based on your plugin and voice type names—more on this in the next section.
Creating the Voice Type & Folders
Voice Type & Applying to an NPC
A Voice Type represents a particular voice in game and can be used across multiple NPCs. For this guide we'll consider a single NPC only.
To create a new voice type, navigate to the "Voice Type" section under "Character" on the Object Window. Right-click anywhere and select "New". This will give you a window to create the voice type:
Select the appropriate gender and name your voice type. I personally try to use a standard of:
<Mod Prefix><Gender><Voice Actor><Race>
However you could use a different standard if you’d like. Vanilla Skyrim’s format tended to be:
<DLC Prefix if applicable><Gender><Description>
For example "MaleElfHaughty" or "FemaleElderly".
The “Allow Default Dialogue” checkbox governs whether NPCs with this voice type will use generic dialogue; generally this means dialogue that is not conditioned to any specific NPC or group of NPCs. Full detail on what this means can be found on the Creation Kit Wiki: https://www.creationkit.com/index.php?title=VoiceType
Once you have created your voice type, the next step is to apply it to your NPC. To do that, first find your NPC in the Object Window and go to edit them. On the “Traits” type, look for the “Voice Type” dropdown menu. Find your voice type and select it.
Press "Okay" and save your mod. We’re now ready to move on to implementing the voice files. However, before moving on, let’s quickly talk about two special cases first.
Special Case: Talking Activators
"Talking Activators" are special activators that you can… talk to. Think of things like the Augur of Dunlain, the Dark Brotherhood’s Black Doors, or Daedric Princes communicating through their statues.
These talking activators use voice types a well. Like for NPCs, there is a dropdown menu to select your voice type.
File:QI-VoiceLines-Fig5-TalkingActivator.png
Special Case: Creature Dialogue
Success message
Wait a moment and you should see the log post a successful message. If not, try again or relaunch xEdit.
Check and distribution
You are done. Go to Skyrim\Data\seq
and you should see the name of your .esp. You can now run it in-game, provided you've set it up properly in the CK, of course. Remember to include this file with the archive when uploading to the Nexus or Steam Workshop.