Custom Music and Ride Music Objects
NB: Ride Music objects were added in version 0.4.0
make sure you on this or a later version of the game.
Recommended applications:
- WinRar / 7-Zip
- Audacity
- Notepad++
Create a zip file and rename the .zip
extension to .parkobj
.
(It has to be a zip file! 7z or rar formats do not work!)
Make sure to use the following standard format when naming your files!
<username>.<type>.<name>.parkobj
For <type>
in this case, just use "music". (For Example: auraspecs.music.galaxy.parkobj
)
This renamed zipfile needs to contain the following files:
-
object.json
and .wav
Create as text document and rename this file to object.json
.
Copy and paste the following code in the object.json
.
"id": "<username>.music.<name>",
"authors": [
"<author name>"
],
"version": "1.0",
"objectType": "music",
"properties": {
"tracks": [
{
"source": "<name>.ogg",
"name": "<artist> - <song name>"
}
]
},
"strings": {
"name": {
"en-GB": "<name you want displayed in the game>"
}
}
}
Replace the follow:
-
<username>
: Your username -
<name>
: Name of your file, make it something recognizable. -
<author name>
: Full name of the artist. -
<artist>
: Artist name of the creator. -
<song name>
: Song title. -
<name you want to displayed in the game>
: This is the name you will see in the drop down menu and object selection.
Please keep in mind if the language file doesn't exist for a specific language it defaults to "en-GB".
Example:
"id": "auraspecs.music.galaxy",
"authors": [
"Karst van Galen Last"
],
"version": "1.0",
"objectType": "music",
"properties": {
"tracks": [
{
"source": "galaxy.ogg",
"name": "Jalmaan - Pandora"
}
]
},
"strings": {
"name": {
"en-GB": "Galaxy style"
}
}
}
Make sure your JSON file is correct by testing it in JSONLint.
OpenRCT2 accepts three audio formats, WAV, FLAC and OGG Vorbis. Due to the differences in size it's highly recommended to use OGG Vorbis format to keep the size low without losing too much in audio quality. If you really care about some of the high frequencies please use FLAC, but this will be barely noticeable in the game.
You can drag and drop an MP3 or any audio file into an online audio converter, DAW or a audio editing program like Audacity. You can export this to OGG Vorbis in whatever quality you like. Recommended is 192kbps. Make sure to rename the file to exactly match <name>.ogg
in the JSON file.
Add both the .json
and audio file to the parkobj file and you are set.
Put the parkobj file in \Documents\OpenRCT2\object\
and you are now able to select your own tune in the game!
And there you go! You have successfully added custom music to the game!
Afternote: If you want to update the file after you have already shared it around, please update the version number in the json file! For minor change it to 1.1
, or for major changes to 2.0
or something higher if you already made changes before.
RollerCoaster Tycoon 2 supports two custom music tracks that could be used by rides. OpenRCT2 also supports this feature.
In RCT2's Data
directory, you can find a file called CUSTOM.TXT
. Inside that file are instructions on how to correctly create the two custom songs.
Quotes from that file:
Custom ride music
-----------------
Additional ride music may be added as follows:
1. Convert the new music file into a .WAV file, PCM format, 22,050Hz,
16bit, Stereo.
2. Move the file into the 'Data' subfolder in the RollerCoaster Tycoon 2
installed folder, and rename it to either CUSTOM1.WAV or CUSTOM2.WAV
3. Run the game as normal. The additional music file should be recognized
by the game, and will appear in music selection menus as "Custom Music 1"
or "Custom Music 2".
Third-party software to make this process easier is available. An example is Music Manager by Robert Jordan (also known as Trigger-death).
!Disclaimer: Only use WAV if you are using version 0.4.0 or want to replace CUSTOM1.WAV and CUSTOM2.WAV.!
The wav file can be any music file that is rendered with PCM encoding. It's recommended to re-render any audio file in Audacity to the following settings to minimize the size of the file:
-
Set the project bitrate (see the lower left of audacity) should be set to 22050 Hz. // This so the bitrate is low enough to make the file size small, but not so low that it's noticable in game.
-
Export as WAV, and when saving you can set the Encoding to the following: "Unsigned 8-bit PCM".
Please make sure the file is named the same as<name>.wav
so it matches with the json file.
- Home
- FAQ & Common Issues
- Roadmap
- Installation
- Building
- Features
- Development
- Benchmarking & stress testing OpenRCT2
- Coding Style
- Commit Messages
- Data Structures
- CSS1.DAT
- Custom Music and Ride Music Objects
- Game Actions
- G1 Elements Layout
- game.cfg structure
- Maps
- Music Cleanup
- Objects
- Official extended scenery set
- Peep AI
- Peep Sprite Type
- RCT1 ride and vehicle types and their RCT2 equivalents
- RCT12_MAX_SOMETHING versus MAX_SOMETHING
- Ride rating calculation
- SV6 Ride Structure
- Settings in config.ini
- Sizes and angles in the game world
- Sprite List csg1.dat
- Sprite List g1.dat
- Strings used in RCT1
- Strings used in the game
- TD6 format
- Terminology
- Track Data
- Track Designs
- Track types
- Vehicle Sprite Layout
- Widget colours
- Debugging OpenRCT2 on macOS
- OpenGL renderer
- Overall program structure
- Rebase and Sync fork with OpenRCT2
- Release Checklist
- Replay System
- Reverse Engineering
- Using minidumps from crash reports
- Using Track Block Get Previous
- History
- Testing