-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsoundtrack.yml
80 lines (74 loc) · 5.56 KB
/
soundtrack.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#skysongbuilder 0.1.3-pre
outputdir: ./out # Where to output the song files (it'll make the folder if it doesn't exist)
dsp: # Settings for stuff related to audio processing
resample_threshold: 22050 # If a sample has a sample rate above this threshold, it will automatically be resampled (in the highest-quality way possible of course) to the sample rate specified by "resample_at" below
resample_at: 22050 # See above
adpcm_encoder_lookahead: 3 # The higher the better, but also, the higher the slower; set to 3 while composing and when you're releasing your hack set it to 6, start the program, and go sleep
# Settings related to in-engine songs
mainbank: bgm.swd # Where the original game's main bank is (you can find this in the rom after unpacking under `data\SOUND\BGM`)
decoupled: false # false if a main bank should be generated (default and recommended), and true if samples should be included separately in each song file
sample_rate_adjustment_curve: 1 # Default is good
pitch_adjust: 0 # Adjust the pitch of everything (in cents)
vcrange: # Which Nintendo DS sound channels to utilize (ranged 0-15 for the 16 hardware channels available)
start: 0 # First channel to use
end: 15 # Last channel to use
## These are advanced options, use with care. Leave it as it is for normal usage.
### WAVI_POINTER_EXTENSION
### - This flag extends the 16-bit pointers used by the sample bank WAVI chunks to use 32-bit pointers instead. Only generated files are modified, input swd files can have either, and SkySongBuilder will read them accordingly.
### - Effects: Increases the number of samples allowed in each bank file to around 65,535 samples (theoretical, untested). (applicable to the massive main bank)
### - Requirements: The `MoreSamplesAndPresets` patch (requires `ExtraSpace`)
### PRGI_POINTER_EXTENSION
### - This flag extends the 16-bit pointers used by the sample bank PRGI chunks to use 32-bit pointers instead. Only generated files are modified, input swd files can have either, and SkySongBuilder will read them accordingly.
### - Effects: Increases the number and size of presets allowed in each bank file.
### - Requirements: The `MoreSamplesAndPresets` patch (requires `ExtraSpace`)
flags: # WAVI_POINTER_EXTENSION | PRGI_POINTER_EXTENSION
# Add soundfonts here
soundfonts:
Main Bank: out_bgm.sf2
2nd Bank: additional_banks/PMD_-_Explorers_of_Sky_full_soundfont.sf2
A 3rd Bank: ./additional_banks/Custom.sf2
# Add songs here
songs:
# First, here are some examples of how to do in-engine songs.
Pokemon Exploration Team Theme:
i: 1 # The id number for your song.
# If you set it to 100 for example, the files outputted will be bgm0100.swd / bgm0100.smd
# WARNING: Don't set it to 0. The game has a hard-coded check against it.
mid: 1_B_SYS_P3_OPENIN.mid # The path to the midi file for the song
uses: [Main Bank, 2nd Bank] # A list of soundfonts used by your song
Top Menu Theme:
i: 2
mid: 2_B_SYS_MENU.mid
uses: [A 3rd Bank, Main Bank, 2nd Bank]
Shindan:
i: 6
mid: Shindan.mid
uses: [Main Bank]
# Now here's a few examples of how to do raw audio songs.
A Town Called Hometown:
i: 7 # Same as in-engine songs
raw: a town called hometown.wav # The path to the raw audio file. Many common file formats are supported, although if it ever fails to work, simply re-export as wav in Audacity first
loop_point: 907198 # The loop start point in samples
formats: [Wav4BitAdpcmNDSPlanarStereoLooped] # Specifies the input and output format
## Formats available
### Wav4BitAdpcmNDSPlanarStereoLooped
### - Outputs dual-mono (planar) 4-bit NDS ADPCM wave files.
### - Expects stereo audio files!
### - Includes loop processing, although non-looped files are also supported if the loop point isn't set.
dsp:
adpcm_block_size: 16377 # Default is good
resample_at: 32728 # Note that configurations like `resample_at` can also be set here, overriding the global setting
adpcm_encoder_lookahead: 4 # Another example of overriding the global setting
flags: SND_STREAM # Default is good, required for playback using the patch
#mid: Custom paired midi.mid # You can actually specify these settings you would use for in-engine music here as well, and skysongbuilder will generate them as usual. This can be useful for access to DSE signals for example for coordinating cutscenes to music
#uses: [] # `uses` is also allowed here, although I can't really think of a use for it. It'll work though
Open Pass:
i: 8
raw: Open Pass.mp3
formats: [Wav4BitAdpcmNDSPlanarStereoLooped]
dsp:
adpcm_block_size: 16377
flags: SND_STREAM
# Note that in-engine songs and raw audio songs can co-exist in the same configuration and in the game's music directory with no problems.
# P.s. if the game shows a black screen for an in-engine track, that track uses too many samples and has caused a lack of memory error in the game.
# Note that since raw audio songs take up around 1/3 of the built-in engine's memory, some built-in tracks might also cause a lack of memory error if played together with a streamed track.