AUTHORING: Creating the Database File

Without the DTA, you would not be able to add songs. This guide will tell you how to create your own DTA file from a text editor.

Notice

Some info may be inaccurate, but we're doing the best we can to bring this up to speed as we learn more on how DTAs work!

Adding the First Few Bits of Data

Let's start by adding a line for The Clash's "Should I Stay or Should I Go":

(shouldistay ; The ending parentheses will come later.

The entire song is wrapped in the condensed title of the song (songname) that is present on folders from the Rock Band discs, or the UGC number for DLC. You can add more entries, including more songs, but make sure to keep song information separate with parentheses, i.e. you can not include another song in the same set of parentheses (for example, the correct format is (shouldistay ... ) then (orangecrush ...), not (shouldistay orangecrush ... )).

Now, indent the next few lines (using tab or four spaces), and type:

    (name "Should I Stay or Should I Go")
    (artist "The Clash")

This will display the full song name and artist in the list.

    (song_id 35) ; RB3 only.

In Rock Band 3, always give a song an ID. This can be a number or songname. By not assigning an ID, changing songs in slots or removing them will cause your scores to be messed up!

Also make sure to not assign the same ID to two songs, as this can make a conflict in-game which can cause hanging and crashes.

    (context 65) ; RB2 only.

Probably the same as a song ID for Rock Band 2; It's a static number.

    (master 1)

Is this a master track? 0 is no, and 1 is yes. You can also put TRUE or FALSE instead of 1 and 0, respectively.

Tracks

Now we need to put in the song data. Make sure you indent these lines further.

    (song
        (tracks
            (name "songs/shouldistay/shouldistay")
                ((drum (0 1 2 3 4 5))
                (bass 6)
                (guitar (7 8))
                (vocals (9 10))
            )
        )
        (vocal_parts 3)
        (crowd_channels 13 14)
        (pans (-1.00 1.00 -1.00 1.00 -1.00 1.00 0.00 -1.00 1.00 -1.00 1.00 -1.00 1.00 -1.00 1.00))
        (vols (0.00 0.00 0.00 0.00 -3.00 -3.00 -3.00 -4.00 -4.00 -4.50 -4.50 -0.50 -0.50 -5.00 -5.00))
        (cores (-1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1))
        (drum_solo
            (seqs (kick.cue snare.cue tom1.cue tom2.cue crash.cue))
        )
        (drum_freestyle
            (seqs (kick.cue snare.cue hat.cue ride.cue crash.cue))
        )
        (midi_file "songs/shoudistay/shouldistay.mid") ; RB2 only.
    )

Let's try to break this section down a bit more.

    (song ; start of song data.
        (tracks
            (name "songs/shouldistay/shouldistay") <<<
        ...
        (midi_file "songs/shoudistay/shouldistay.mid")

The name in the tracks wrapper is the path in the DLC folders, generally songs/songname/songname in the DTA. Same goes for the MIDI path.

For the Wii/vWii, ALWAYS use the full path (i.e. dlc/generation/foldernumber/content/songs/songname/songname, where generation could be sZAE, sZBE, etc. and foldernumber is a three-digit number pointing to the META folders of the song).

The tracks section assigns instruments to each track, starting with track 0 (the first track). Thus:

(tracks
    ((drum (0 1 2 3 4 5)) ; Six tracks are assigned to the Drums.
    (bass 6) ; Only one track is assigned to the Bass Guitar.
    (guitar (7 8)) ; Two tracks are assigned to the Guitar.
    (vocals (9 10)) ; Two tracks are assigned to the Vocals.
    (keys ) ; For RB3 only, no tracks are given to the Keytar.
)
(crowd_channels 13 14) ; The last two tracks are given to the Crowd, who will be heard when playing well.

Tracks 11 and 12 are backing tracks, so they are unassigned. From 0-14, that's fifteen tracks total. Now, the vocal_parts section is the microphone support, i.e. how many microphones can be used on this song. This number should not exceed 3.

If you assign too many tracks, the song could hang your console or cause other problems. Make sure to assign no more than the number of tracks in the song. To double-check this, open your MOGG in Audacity and count the tracks. Keep in mind that in the DTA, track 0 is the first track, so if you have seven tracks, then assign the instruments track 0 through 6.

        (pans (-1.00 1.00 -1.00 1.00 -1.00 1.00 0.00 -1.00 1.00 -1.00 1.00 -1.00 1.00 -1.00 1.00))
        (vols (0.00 0.00 0.00 0.00 -3.00 -3.00 -3.00 -4.00 -4.00 -4.50 -4.50 -0.50 -0.50 -5.00 -5.00))
        (cores (-1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1))

The next part of this segment modifies each and every track in the song:

Drums 1 Drums 2 Drums 3BassGuitarVocalsBackingCrowd
Track #01234567891011121314
Pans-1.001.00-1.001.00-1.001.000.00-1.001.00-1.001.00-1.001.00-1.001.00
Vols0.000.000.000.00-3.00-3.00-3.00-4.00-4.00-4.50-4.50-0.50-0.50-5.00-5.00
Cores-1-1-1-1-1-1-111-1-1-1-1-1-1

pans adjusts each track to either the left speaker (-1.00), the right speaker (1.00), or somewhere in between (0.00 for centered). Make sure to pan the right tracks so that similar track pairs come out in stereo.

vols increases or decreases the volume of each track (with -10.00 being the lowest and 10.00 being the highest). This may take a few tries before you can make the tracks sound similar to the original recording.

cores usually focuses on the guitar track (1, with everything else being -1). We're not entirely sure why this is, but it's best to just follow that format.

        (drum_solo
            (seqs (kick.cue snare.cue tom1.cue tom2.cue crash.cue))
        )
        (drum_freestyle
            (seqs (kick.cue snare.cue hat.cue ride.cue crash.cue))

drum_solo and drum_freestyle call the appropriate MILO files from within the game disc's data that will then produce the sounds needed for Solo and Freestyle gameplay, when using the Rock Band drums.

Tempos, Solos, and Song Lengths

    (song_scroll_speed 2300)

this is the speed of the lyrics when they scroll across the screen (in milliseconds). You may adjust this value if you like, but it's probably best to leave this value at 2300 for most songs.

    (anim_tempo kTempoMedium)

The beats-per-minute of the song, which the animations rely on. Possible values are a number, kTempoSlow, kTempoMedium, and kTempoFast.

    (bank "sfx/tambourine_bank.milo")

The sound effect used for vocal percussion (hitting the mic at certain points in the song). Possible values are sfx/tambourine_bank.milo, sfx/cowbell_bank.milo, and sfx/handclap_bank.milo. Again, this is pulled directly from the Rock Band disc files.

    (solo (vocal_percussion))

This value defines which instruments have solo sections in the song. Possible values include drum, guitar, and vocal_percussion.

    (song_length 160000)
    (preview 42000 72000)

Both of these values are in milliseconds. The song length is how long you are allowed to play the track, while the preview plays a small part of the song from a certain starting point (42000 milliseconds in) to an ending point (72000 milliseconds in).

Do NOT exceed thirty seconds for a preview; this can cause some problems. The preview must be set, along with a valid preview MOGG, in order for album art to show up in Rock Band 3 - this is especially true in the Wii version.

Difficulty Ranks

    (rank
        (drum 220)
        (guitar 80)
        (bass 80)
        (vocals 160)
        (keys 0) ; RB3 only.
        (real_guitar 0) ; RB3 only.
        (real_bass 0) ; RB3 only.
        (real_keys 0) ; RB3 only.
        (band 150)
    )

This sets the difficulty level for each instrument. A higher number indicates a higher difficulty, while 0 means that the instrument is not used. Here's a chart explaining each instrument's difficulty level (note that the values listed are the minimum values required to set the desired difficulty:

DifficultyDrumsGuitarBassVocalsKeysReal GuitarReal BassReal KeysBand
Rank 1 - Warmup1111TBDTBDTBDTBD1
Rank 2 - Apprentice133145166139TBDTBDTBDTBD159
Rank 3 - Solid169194220180TBDTBDTBDTBD219
Rank 4 - Moderate208247259220TBDTBDTBDTBD274
Rank 5 - Challenging294301298259TBDTBDTBDTBD328
Rank 6 - Nightmare349354349298TBDTBDTBDTBD383
Rank 7 - Impossible401406401373TBDTBDTBDTBD454

More Song Information

(genre punk) ; 1
    (decade the80s) ; RB2 only. 2
    (game_origin rb1) ; 3
    (album_art TRUE) ; 4
    (album_name "Combat Rock") ; 5
    (album_track_number 3) ; 6
    (rating 2) ; 7
    (year_released 1982) ; 8
    (downloaded TRUE) ; 9
    (vocal_gender male) ; 10

Okay, so this is a bunch more information, in order as they appear:

  1. The main genre of the song.
  2. The decade the song is in. Values are the60s, the70s, the80s, the90s, the00s, and the10s.
  3. Where the song originally came from. This includes rb1, rb1_dlc, rb2, rb2_dlc, rb3_dlc, and lego.
  4. Does this song have album art? TRUE (1) or FALSE (0)?
  5. The name of the album the song comes from.
  6. The track # of the song.
  7. The maturity rating of the song. 1 is Family Friendly, 2 is Supervision Recommended, 3 is Mature, and 4 is Unrated.
  8. The year the song was released.
  9. Was this track downloaded from the Music Store? TRUE (1) to make Rock Band think it came from the Music Store. Setting this to FALSE (0) may not make it work well.
  10. Set this value to either male or female. It's best to know the gender of the person who is singing the song in-game, so you don't have one of your female characters singing like David Coverdale!

Finishing the DTA

    (format 10)
    (version 1)

format is currently unknown. The other is the version of the song, usually best to leave it at 1.

    (vocal_tonic_note 2) ; RB3 only.
    (song_tonality 0) ; RB3 only.
) ; Ending bracket for the song! If packing multiple, add more songs after this line.

These last few lines adjust the tone of the song. vocal_tonic_note adjusts the overall key of the song (mainly the starting key, with 0 being C, 1 being D, and so on - no sharps or flats are used in this line) and song_tonality sets the song to either a major (0) or minor (1) key.

Now you can use your newly-created database file! To find out where to place the file and how to use it in conjunction with other files, navigate to the wiki of your console or emulator.




The Rock Band Customs Project 2019-2022. This site was created using GitLab Pages.
Images used are copyrights and trademarks of their respective corporations. Images used from Pexels: Background "rock band" photo by Thibault Trillet.