Creating a mod that adds music to Stellaris is rather easy. Following this guide, you'll create a mod that is essentially a modular music pack. That is to say, if you create a music pack as described in this guide, then create another, a user could download either or both from the Steam Workshop, install them both concurrently and have all the music that was included in both mods.
Essentially, one music pack does not override the other - you can install multiple over top of one another and so build a whole library of music to listen to in-game.
Getting Started[编辑 | 编辑源代码]
Let's take a look at the required folder structure and files. These are the contents of the base game's music folder:
Stellaris/music/[编辑 | 编辑源代码]
Folder/File | Summary |
---|---|
*.ogg | A music file. |
songs.asset | Controls the assignment of music to a code name, and sets the volume of playback. |
songs.txt | List of the code names mentioned in songs.asset. |
We will use this same structure in our mod in order to add foreign music files to the game.
Setting Up[编辑 | 编辑源代码]
First of all, follow the step-by-step modding guide to create the folder structure for your mod and enter all the relevant data in the newly created "YOUR-MOD-NAME-HERE.mod" file.
Once you've done that initial set up, it's time to create the folder structure for your music pack mod.
In quick overview, your created mod's folder will by the end of this guide contain this:
- a "descriptor.mod" file;
- a "music" folder containing:
* music files in .OGG format; * a "YOUR-MUSIC-PACK.asset" file; * a "YOUR-MUSIC-PACK.txt" file.
- and finally a "YOUR-MOD-THUMBNAIL.jpg" image for the Steam Workshop.
Mod structure[编辑 | 编辑源代码]
So create a folder inside your music pack mod's main folder and call it "music". Add to this folder two files:
- a "YOUR-MUSIC-PACK.asset" file;
- a "YOUR-MUSIC-PACK.txt" file.
Call them whatever you like.
However, you generally should not call it "songs.asset" and "songs.txt", because this is the name that Stellaris uses for its own files and doing so might overwrite the base game's settings and songlist.
In order to ensure that no other music packs will overwrite your own songlists, call it something unique like I did for my "shrooblord-musicpack.asset".
Next, put music files in Ogg Vorbis format (.OGG) in this same "music" folder. If you have music files in a different file format, convert them to Ogg Vorbis (44.1 kHz) first. A tool you could use for this is Audacity, which is free.
That's all for the main structure of the mod! Now, let's edit those ".asset" and ".txt" files so that Stellaris actually loads our music pack into the game.
Creating the List of Songs[编辑 | 编辑源代码]
To know which file names should be displayed as what song title in-game, Stellaris uses the syntax described below. Follow this same syntax and your music will show up in-game and be automatically played by the music player!
songlist.asset[编辑 | 编辑源代码]
First, let's build the ".asset" file; we'll call it "songlist.asset" for sake of simplicity.
So say I have placed in my "music" folder two songs I want to add to the game. One is called "LemonDemon-DinosaurchestraPartOne.ogg" and the other is "FoolsGarden-LemonTree.ogg". To get them to show up in-game, I have to put the following in the "songlist.asset" file:
songlist.asset
music = { name = "Dinosaurchestra - Part One" file = "LemonDemon-DinosaurchestraPartOne.ogg" volume = 0.50 } music = { name = "Lemon Tree" file = "FoolsGarden-LemonTree.ogg" volume = 0.50 }
What are these entries? The first variable "name" is the name that will show up in the Music Player*. The "file" variable is the exact filename of the song as it appears in the "music" folder that's in the mod's main folder you created for this music pack mod. "volume" is a relative volume for the music to play at. With it you can normalize volume for your tracks and avoid one getting louder than another. 0.5 is a standard value for it.
- If the music file got a name in his metadate, it's is this name that'll show up in the Music Player. If two song got the same name in metadata, only the first one will appear in game.
songlist.txt[编辑 | 编辑源代码]
Next, we write the following to the "songlist.txt" file: songlist.txt
song = { name = "Dinosaurchestra - Part One" } song = { name = "Lemon Tree" }
These are simply the same "name" variables as described in the "songlist.asset" file.
In the references I've seen, the order of the songs in both the "songlist.asset" and "songlist.txt" files are identical; I'm not sure if this is crucial, but it's probably best to follow that example.
Tools & utilities[编辑 | 编辑源代码]
- Audacity - Powerful, well-documented and free audio processing program that allows you to, for example, convert between music file types.
- dir2ogg - For Linux users, a very easy command line tool for converting mp3, m4a, wma, and wav files in bulk into the ogg-vorbis format.
- soundconverter - Also for Linux users, Soundconverter is a no Terminal based bulk converter for the most common formats into the Stellaris needed ones.
See also[编辑 | 编辑源代码]
References[编辑 | 编辑源代码]
帝国 | 帝国 • 思潮 • 政府 • 国民理念 • 起源 • 承诺 • 议程 • 传统 • 飞升天赋 • 法令 • 政策 • 遗珍 • 科技 • 自定义帝国 |
人口 | 岗位 • 派系 |
领袖 | 领袖 • 领袖特质 |
物种 | 物种 • 物种特质 |
行星 | 行星 • 行星特征 • 轨道矿藏 • 建筑 • 区划 • 行星决议 |
星系 | 星系 • 恒星基地 • 巨型结构 • 虫洞 • 星门 • 地图 |
舰队 | 舰队 • 舰船 • 部件 |
地面战 | 陆军 • 轰炸姿态 |
外交 | 外交 • 联邦 • 星海共同体 • 评价修正 • 宣战理由 • 战争目标 |
事件 | 事件 • 异常现象 • 特殊项目 • 考古遗址 |
游玩 | 游玩 • 定义 • 研究 • 经济 • 游戏开局 |
动态修改 | 动态 • 指令效果 • 触发条件 • 作用域 • 修正 • 变量 • AI |
媒体/本地化 | Maya 导出器 • 图形 • 肖像 • 旗帜 • 事件图片 • 界面 • 图标 • 音乐 • 本地化 |
Other | 控制台命令 • 存档编辑 • Steam 创意工坊 • 模组制作教程 |