Importing Custom Music

From Zenith
Jump to navigation Jump to search

This guide will teach you everything you may need for importing custom music into the game.

Prerequisites

Important notes before starting

  • Citric Composer is very buggy and has been unmaintained for some time. You may experience frequent crashes.
  • The entire BFSAR cannot go above the original file size. Since the game loads this entire file into memory, it allocates a specific size for it. The file size can always go lower, but if it goes above it will cause issues (likely crash the game).
    • If you need to free up space, replace the Yoshi and Baby Yoshi tracks that correspond with whatever track is being replaced or any unused tracks with this empty wav.

Preparing the audio file

Setting project sample rate and applying normalize effect.

First, open your audio file in Audacity. It is preferred to use a FLAC, MP3, or WAV file.

Set the Project Rate to 32000 Hz (This can be found in the bottom left corner of the window, see image on the right)

Now, apply the Normalize effect. This will make the audio as loud as possible (To match the game's audio) without causing distortions to the music.

If a window opens, you can leave the settings as default and press OK.

Getting loop points

In this section you will find loop points so that the music will be able to repeat while playing. (You can skip this section if the track you are importing won't loop)

First, set the playback rate to measure in samples.

Finding two similar groups of audio to use as loop points.


Next, find two similar groups of audio that we can use. (See image on the right)

To create a loop, right click the timeline and select "Loop On/Off". When you do this you'll notice the looping region appear in the timeline.

Now drag on the timeline to create loop points. When you find your loop points, you can press play to preview them.

To get a perfect loop you should not be able to tell that the song looped, and it should sound as if the song just continued playing.

Now, select the looping area in your audio. To prevent "clicks" in the audio after selecting the looping area, be sure to select at zero crossings with Select -> At Zero Crossings.

After you have done that, keep note of the selection sample sizes in "Start and End of Selection". You will need those later when importing the audio into Citric.

Exporting our file

Export as a WAV file.

Importing into Citric

First, open the game's BFSAR. This file is located in /content/CAFE/sound/cafe_redpro_sound.bfsar and holds all audio used in the game. You can open it with File -> Open.


In this tutorial the music being replaced will be the desert music, you can change this for any other music of your choice.

All music tracks are found inside Wave Archives. You can open the dropdown menu to reveal them.

The desert theme is WARC_13_GUESS_GROUP_BGM_SABAKU, so double-click to open that Wave Archive (or the alternative one you have chosen to replace).

The "War Brewer" tool in Citric Composer.


Once you are in the War Brewer (See image on the right), it is advised to NOT use the sound player on the side as it will likely cause a crash.

You can click on Waves to expand the list of waves inside the archive.

Double-click the first wave in the list to open it in Isabelle Sound Editor. This will usually hold the base track of the music we are trying to replace.

NOTE: Track display or storage order is not necessarily guaranteed to be ordered, "first" here refers to the track with a 0 (zero) in the name, NOT necessarily the first track you see displayed on the list.

NOTE (2): If there is only one track, the name or "being first" doesn't matter, just open the singular track.

With the wave open in Isabelle Sound Editor, you can then import the WAV file that was exported from Audacity in the last section with Edit -> Import file. (or Ctrl + Shift + I)

The "Isabelle Sound Editor" tool in Citric Composer.

Once you have imported your file, select Project Info. (See image on the right)

First, make sure the checkbox for Loop is checked, as this will allow the track to loop in-game.

Now you can enter the loop selection sample sizes you found in Audacity earlier, on the Loop Start and Loop End fields respectively.

Once you have entered them, click Update Project Info, then you can listen to it at the top.

NOTE: You may need to expand the Citric window if you cannot see the Update Project Info button.

After clicking on Update Project Info, also be sure to select Eliminate Loop Static and then Update Project Info once again. This will slightly change the loop points so that they function correctly in-game without the loop resulting in loud, distorted audio.

You can see what the loop will sound like by checking Loop Playback on the right side of the window and then playing the audio, skipping to a spot in the track before the red bar. If the track loops without noticeable issues, you're now ready to save! Press Ctrl + S or File -> Save to save the file.

If there is an issue, then it is likely due to the loop points shifting too much after selecting Eliminate Loop Static. If this happens, go back to Audacity and find a slightly different looping area, then try again with the new loop info.

Once you have saved, close Isabelle Sound Editor, going back to the War Brewer.

Set the internal wave version to 1 - 1 - 0, then click Force Internal Wave Version.

Now save the file in War Brewer, close it, and then save the whole BFSAR in Citric Composer's main window.

You can now preview the file in-game.