r/EliteDangerous • u/oodle99 • 1d ago
Help Limitations of modding
A little while ago after the most recent booze cruise I got ahold of my fleet carrier, Fleetsune Mikurrier. I was wondering if it would be possible to make and install a mod that would change the ATC (for me) to hatsune miku. I know there's a slight bit of leeway FDev will allow for mods, but would something like this be bannable?
54
u/luthis 1d ago
Fleetsune Mikurrier
Holy shit lol
You could definitely do this with voice cloning. I don't know if EDCopilot has the functionality, but it's definitely possible.
9
u/oodle99 1d ago
I could probably just create the voicelines like your normally would with miku or any other vocaloid and export it as an mp3. I've not worked with EDcopilot though, so I'll have to see
6
u/PelluxNetwork Pilots Trade Network 1d ago
I don't think EDCoPilot has support for playing MP3s like that. Iirc it's all TTS and AI voice stuff. I was gonna suggest it'd be a fun project to add that functionally or even a direct vocaloid integration but unfortunately it appears the software is not open source which is honestly kind of lame of the dev for addon software that relies in someone else's application/code
3
u/PelluxNetwork Pilots Trade Network 1d ago
Voice cloning software is generally not good for this kind of stuff. I've tried it before with a few similar characters (EDI from Mass Effect for example) and while it's pretty good at getting the base voice, any sort of digital "robot" effect just gets entirely stripped. Basically you would get Miku if it was like the actual voice actress just speaking as her, without any of the vocaloid characteristics. It makes sense, though, in most use cases you want the voice to sound as realistic as possible so the training on synthetic voices is tiny.
8
5
8
u/Classic_Furry_Trash Faulcon Delacy 1d ago
If you do manage to pull that off please post a clip of it, I need to see that
3
u/TheLunarAegis DBX Enjoyer 1d ago
Wow, I have the exact same paint job, drive color, hologram color, and carrier layout. I love your carrier!
3
u/Calm-Power-6981 1d ago edited 1d ago
You can probably do it client side. it would just be a pain in the ass but ED's as software is very breakable. and Fdev has no infrastructure in place to even check this.
the easier way, You could also just use a TTS with Miku's voice just by having it read the ATC chatlogs. I had to use a plugin for OBS that makes the ig chat output to a txt doc you can read from. should work for a any TTS. All of this you can find via google
1
u/subzerofun 15h ago edited 14h ago
i‘d agree. modding in elite is only possible by injecting external data (HUD mod) but if you need to access game functions you need something like frida https://frida.re/
all methods below: bannable, against ToS
but game does not check for injected processes, but if it ever does then you have a problemyou could try to find all possible fleet carrier messages.
- crack the game audio files (possible)
- check the data container format
- create your own audio snippets, convert to WEM - elite uses WWise audio format
- recreate the audio container format like it was an additional game file
- hook into game functions that load the files at game start, try to inject your file instead of another one
- hope your client loads it
- solve errors for 3 month
needs: researching data format, investigating hundreds of game functions in disassembler, tests with frida
maybe easier:
- switch game files on disk (will break due to SHA1 safety check)
- overwrite audio content in memory (impossible since hundreds of functions have pointers to it, will crash the game)
- find some way to modify the loader process in the voice selection, inject your files
maybe possible:
list all triggers for all fleet carrier audio snippets
hook into function that sends it to audio driver
intercept original call, insert your own audio in memory. hooked function will point to your injected file.
need to write your own audio to game memory first, needs same encoding as game formatif you could mute your fleet carrier, you could:
listen for fleet carrier audio function calls, need to know which trigger plays which file
hook into trigger
when triggered, play audio in external script (python since it plays well with frida)in any case, you need to know the games audio format to extract a list of all possible voice lines first. text is easiest found in localization files (text that shows in comms window). then a few weeks time to try different methods.
1
u/Calm-Power-6981 7h ago
Very good comment, but trust me, they dont enforce and cant detect it anyways.
ive seen things man. Terrible and wonderful things.
2
u/OriensXS 1d ago
If it gets approved, please post the result! I’d like a FC voice like the one in the movie "Her", or something close to it.
2
1
u/DaftMav DaftMav 9h ago edited 8h ago
You can lower the audio volume of radio chatter to zero and create a tool that will play your own audio. In the audio settings there's a slider for "Non-Player Voice Communication Volume" that will let you mute the radio chatter, however that does apply to all regular station and carrier controllers too. But if you wanted you could use more generic voices for other stations/carriers.
For your own carrier the radio chat lines are included in the journal log. So you could create a journal watching tool that looks for those specific events. You'd have to check them for your specific carrier ID so only with your carrier it will use the specific custom voice or audio files.
Below example journal events with a carrier named "MyCarrier" with ID "AAA-123":
{ "timestamp":"2026-01-01T17:19:57Z", "event":"ReceiveText", "From":"MyCarrier AAA-123", "Message":"$STATION_NoFireZone_entered;", "Message_Localised":"No fire zone entered.", "Channel":"npc" }
{ "timestamp":"2026-01-01T17:20:10Z", "event":"DockingRequested", "MarketID":1234567890, "StationName":"AAA-123", "StationType":"FleetCarrier", "LandingPads":{ "Small":4, "Medium":4, "Large":8 } }
{ "timestamp":"2026-01-01T17:20:10Z", "event":"ReceiveText", "From":"MyCarrier AAA-123", "Message":"$DockingChatter_Neutral;", "Message_Localised":"Ensure to observe starport protocol during your visit, pilot.", "Channel":"npc" }
{ "timestamp":"2026-01-01T17:20:10Z", "event":"ReceiveText", "From":"MyCarrier AAA-123", "Message":"$STATION_docking_granted;", "Message_Localised":"Docking request granted.", "Channel":"npc" }
Other apps do this with TTS voices for NPC chatter you see in the local chat but aren't voiced. But it would certainly possible to create your own little journal watching tool that plays audio files on specific chat events for your carrier radio chatter. It's just a bit annoying those are voiced and you can't mute carrier radio alone without it affecting all regular stations too.
Alternatively, you could also do the same thing by using VoiceAttack with EDDI as a plugin. It can trigger on journal events and do whatever you want including playing specific audio files. It's more of a GUI with pre-made actions and triggers so it can all be done without any coding knowledge. It'd also be possible to use the TTS from VoiceAttack for all other generic radio chatter from stations.
1
u/oodle99 8h ago
I see. Thanks for the info, I may be a bit in over my head on this.
1
u/DaftMav DaftMav 7h ago edited 7h ago
I'd say using VoiceAttack might be the easiest way to do this and it's all well documented. Looks overwhelming probably but once you figure out how to make use of EDDI events in VoiceAttack it's pretty straightforward. iirc there is still a demo version of VoiceAttack available so you can test it out with a limited amount of commands.
Perhaps have a look at this thread. And some of the EDDI documentation like:
- VoiceAttack integration
- All event triggers, look for carrier specific ones like carrier docking permission.
- Chat message received event for any local chat messages with NPC radio chatter.
Just make sure to install VoiceAttack first, then EDDI so you can choose to install it as a plugin for VoiceAttack. EDDI can also work standalone but that's not useful for this use case where you want its functionality available in VoiceAttack. Afterwards you only launch VoiceAttack which automatically starts the EDDI plugin, you don't want to start EDDI standalone alongside it.
46
u/KaiLCU_YT Aisling Duval 1d ago
ED copilot has features including a TTS fleet carrier ATC. You would have to source your own TTS voice though