Pomi Git 256 Posted March 10, 2015 I'm looking to use a custom voice for characters in a mod I'm working on. So by this I mean the standard voice a soldier uses whenever an instruction is given, responses, etc. I've spent a fair amount of time looking through the games pbo's and configs. I can see CfgVoices, CfgIdentities and CfgFaces are relevant and I've also found all the .ogg files needed for the various commands and responses for each voice profile e.g Male01. Despite this I cant quite figure out what exactly I need in a config file to use my own voice sound files. I had a crack and ended up with soldiers with no voice. "LanguageENG" seems relevant but I cant see where this is defined. I've trawled the forum and see this has been asked in the past but no one appears to have been able to provide a complete answer. And there is nothing I could see in the BIS wiki. Does anyone know exactly whats needed? Cheers Pomigit 1 Share this post Link to post Share on other sites
moricky 211 Posted March 10, 2015 CfgVoice >> [VoiceClass] >> protocol defines which radio protocol will be used (e.g., "RadioProtocolENG"). Protocol class can then be found directly in the config root. I must warn you that protocol configuration is one of the most complicated things in Arma 3, so I suggest to take existing protocol structure and replace it with custom files. The list of all words to be recorder is in [ProtocolClass] >> Words. For example official protocol has 691 words. Have fun ;) 4 Share this post Link to post Share on other sites
Pomi Git 256 Posted March 10, 2015 (edited) CfgVoice >> [VoiceClass] >> protocol defines which radio protocol will be used (e.g., "RadioProtocolENG"). Protocol class can then be found directly in the config root.I must warn you that protocol configuration is one of the most complicated things in Arma 3, so I suggest to take existing protocol structure and replace it with custom files. The list of all words to be recorder is in [ProtocolClass] >> Words. For example official protocol has 691 words. Have fun ;) Thanks for responding Karel. I may need a little more info. Here is what I have in a config file: class CfgPatches { class MYMOD_Dubbing_Radio_F { units[] = {}; weapons[] = {}; requiredVersion = 0.1; requiredAddons[] = {}; }; }; class CfgVoice { voices[] = {"MYDUB01ENG"}; micOuts[] = {"micOut1","micOut2","micOut3","micOut4","micOut5","micOut6"}; preview = "preview.ogg"; default = "MYDUB01ENG"; class ENG; class MYDUB01ENG: ENG { directories[] = {"\mymod\myvoice\","\mymod\myvoice\"}; scope = 2; displayName = "Test Voice"; author = "Pomigit"; }; }; "mymod" is the pbo directory where I have my modified version of the sound files for "male01". Is this all I need to define it? If so, what do I then need to put in the unit class to get him to use it? I assumed I needed to define some sort of identity. Cheers Pomigit Edited March 12, 2015 by pomigit 2 Share this post Link to post Share on other sites
Pomi Git 256 Posted March 12, 2015 (edited) Figured it out and got it working. For anyone else interested, here is a full breakdown guide on what you need to do: depbo 'dubbing_radio_f_data' and copy one of the voice profiles e.g Male01 to your mod folder You'll note the voice profile contains a series of folders for radio protocols e.g RadioProtocolENG, RadioProtocolENGB, etc. You only need one, unless you intend to do different versions. So stick with RadioProtocolENG and delete the rest Rename the folder "Male01" to your own preferred name (ive used Sample01 below) Within RadioProtocolENG you will see more folders e.g Combat, CombatContact, etc and within these are the sound files you need to replace. Note: its really important you dont change the file structure after "Male01". In particular you need to keep the folder "RadioProtocolENG" and this needs to be last folder before the standard sound file folders. So in my example the folder structure is 'mymod\Sample01ENG\RadioProtocolENG\'. This was my key mistake. The most time consuming part of this process; go through every single one of these sound files and replace them with your own version. They need to be in .ogg file format Create a new config file and copy/paste my sample below Rename all the class and reference names to your own preference. You need both an identity and a voice class defined in order to use the new voice profile. Within the voice class, update 'directories' with your voice profile folder path excluding 'RadioProtocolENG';. It needs to be stated twice. No idea why Open the config file for your mod which contains your units and update identity types to reference the identity you created. So e.g in my case its "identityTypes[] = {"SampleID"}; Lastly and most obvious. Recompile your mod and it should work Sample voice config is as follows: class CfgPatches { class samplemod_Dubbing_Radio_F { units[] = {}; weapons[] = {}; requiredVersion = 0.1; requiredAddons[] = {}; }; }; class CfgIdentities { class SampleID { name = "Sample ID"; face = "whiteHead_01"; // doesnt have to be this one, you can use any head you want. Just look up the class names glasses = "None"; speaker = "Sample01ENG"; // your voice class defined below pitch = 1; nameSound = "Kerry"; // I believe this ties to the sound file for Kerry, I'm guessing you can change this but I havent bothered }; }; class CfgVoice { voices[] = {"Sample01ENG"}; micOuts[] = {"micOut1","micOut2","micOut3","micOut4","micOut5","micOut6"}; preview = "preview.ogg"; default = "Sample01ENG"; class ENG; class Sample01ENG: ENG { protocol = "RadioProtocolENG"; directories[] = {"\mymod\Sample01ENG\","\mymod\Sample01ENG\"}; identityTypes[] = {"SampleID"}; scope = 2; displayName = "Sample Voice"; author = "Pomigit"; }; }; }; Within the units class you add:identityTypes[] = {"SampleID"}; // Change to your identity class Final note: one thing I couldn't figure out is how to create a group of voice profiles and Id's which are randomly picked by a unit. What I have above locks in a unit to use one specific face and one specific voice Edited November 25, 2015 by pomigit 3 Share this post Link to post Share on other sites
moricky 211 Posted March 13, 2015 I published the internal radio protocol documentation I've wrote a few years ago, I hope it helps. 2 Share this post Link to post Share on other sites
Pomi Git 256 Posted November 25, 2015 Hi Karel (or anyone else for that matter) I've subsequently successfully deployed a voice profile for the star wars mod however I have a problem I'm struggling to resolve. The voice is being picked up by all sides. I've tried a few different tweaks to the config and nothing seems to fix it. The outcome I desire is to have the voice profile available only to units in the mod. Specifically within the Empire faction. Any ideas of how I can resolve this? Share this post Link to post Share on other sites
haleks 8212 Posted November 25, 2015 I think you forgot to define identityTypes[] in your cfgVoice - it defines wich units should use the voice profile. Share this post Link to post Share on other sites
Pomi Git 256 Posted November 26, 2015 I think you forgot to define identityTypes[] in your cfgVoice - it defines wich units should use the voice profile. Hey, thanks for the response. That was my first thought, I noticed it was missing from the released version. But adding it didnt resolve the issue. Share this post Link to post Share on other sites
Azza FHI 50 Posted March 12, 2016 Thanks for figuring that out! Not sure if you fixed the issue with all units getting the identity instead of just the modded units. If not i think this is how to fix that voices[] + = {"Sample01"}; The + means it does not overwrite the whole voices class but instead it keep the original entries and adds the new class on top Share this post Link to post Share on other sites
PineScentX-e0304386e58ff13a 0 Posted September 16, 2022 On 3/12/2015 at 10:27 AM, Pomi Git said: Final note: one thing I couldn't figure out is how to create a group of voice profiles and Id's which are randomly picked by a unit. What I have above locks in a unit to use one specific face and one specific voice Were you able to fix it so that the units aren't stuck with one specific face? I got my voice working however it only works when you specify it in editor in the identity section, and it doesnt work on the unit that you start out playing as, It only works on other units.... Share this post Link to post Share on other sites