Epic Drums: FMOD Adaptive Music Challenge

one-sheetgame-audio-fmodgame-musicmusic-systems

Build a drum-driven adaptive score in FMOD Studio that a game controls with a single parameter. You get nine audio files and this brief. You get no FMOD instruction.

📝 Downloads

The challenge

You are the audio implementer on a game. The composer has delivered nine audio files and a description of how the score must behave. Build it in FMOD Studio so the game can run the whole score by changing one parameter.

This is sink or swim. Nobody will show you how FMOD works. This brief says what the player must hear, never which FMOD features to use. Figuring that out is the assignment.

  • Use FMOD Studio 2.03. It is free to download with an FMOD account.
  • The FMOD Studio User Manual, the FMOD forums, and videos are fair game from the start. Other kinds of help open up over time (see Getting help).
  • Do not edit the audio files. Every trim, fade, and alignment happens inside FMOD.
  • Build and test everything inside FMOD Studio. No game engine is needed.

Getting help

Start by working it out on your own. More kinds of help open up the longer you work. The clock pinned to the top of this page starts when the challenge starts in class. Working on it outside class? Start your own timer from the same bar. Each stage keeps everything the earlier stages allowed.

Time since you startedWhat opens upStill off limits
0:00–0:30The FMOD manual, ordinary web searches, forums, and YouTube videos. You work alone.Other people, AI-generated search results, and AI chatbots
0:30–1:00Asking other people in the classroomAI-generated search results and AI chatbots
1:00–1:30AI-generated search results, e.g. the AI summary at the top of a Google searchAI chatbots
1:30 onAI chatbots (ChatGPT, Claude, Gemini, Copilot, and the like)Giving a chatbot this page

Until 1:00, skip past any AI summary a search engine puts at the top of the results. From 1:30 on, ask a chatbot about the specific problem you’re stuck on, in your own words. Don’t paste, upload, screenshot, or link this page into the chat.

The audio files

All nine files are stereo WAVs at 48 kHz, 24-bit. All the music is 171 BPM in 5/4, so one beat is 0.351 s and one bar is 1.754 s. The one exception is a single measure of 6/4 in the transitions into Sections 02 and 03.

FileUsed forWhat’s in itComposer’s notes
Intro.wavIntro1 bar of silence, about 6 bars of music, then a ring-outThe music’s first downbeat is 1.754 s into the file. Count that as bar 1 of the intro.
Section_01.wavSection 012 bars of drums, then about 6 s of ring-outThe ring-out is part of the sound. It must never be cut off.
Section_02.wavSection 02, and the drums in Section 032 bars of drums, then about 5 s of ring-outThe ring-out must never be cut off.
Section_04_A_Synths.wavSection 03, first half8 bars of synths, then a release tailDespite its name, this belongs to Section 03.
Section_04_B_Synths.wavSection 03, second half8 bars of synths, then a release tailDespite its name, this belongs to Section 03.
Transition_01.wavIntro → Section 014 bars, with sound in roughly the first 2Play from the start of the file.
Transition_02.wavIntro → Section 02, Intro → Section 03, Section 01 → Section 02, Section 01 → Section 03Bars 1–2: silence, then a quiet swell. From bar 3: one measure of 6/4, then a long decay.Always start it at bar 3, which is 3.509 s into the file. The swell is never used.
Transition_04.wavSection 02 → Section 03About 4 loud bars, then a long decayPlay from the start of the file.
End-Stinger.wavEndAbout 2 loud bars that decay awayUse the first 4 bars only, fading to silence over bars 3–4.

There is no Transition_03.wav. The numbering skips it.

The sections

The score has five sections. The music stays in a section until the game asks for another one, and it leaves only at that section’s exit points.

SectionWhat playsLengthWhile the game stays hereExit points
IntroIntro.wavAbout 6 barsPlays once and never repeats. It always leaves at bar 6.Bar 6, beat 1 (to Section 01). Bar 6, beat 3 (to Section 02, Section 03, or End).
Section 01Section_01.wav2 barsRepeats foreverThe end of every 2-bar pass
Section 02Section_02.wav2 barsRepeats foreverThe end of every 2-bar pass
Section 03Section_02.wav drums on every 2-bar pass. Synth A over bars 1–8, then Synth B over bars 9–16.16 barsRepeats forever from bar 1The end of bar 8 and the end of bar 16
EndEnd-Stinger.wav4 barsPlays once, then the music stops by itselfNone

Bar 6 of the intro falls 10.53 s into Intro.wav, and beat 3 of that bar falls at 11.23 s.

Moving between sections

The game controls the score through one global parameter named Control. It has four labeled values: Section 01, Section 02, Section 03, and End. Its default is Section 01. The game starts one event, event:/Music, and after that only changes Control.

When Control changes, the music plays on to the current section’s next exit point, then moves to the section Control names. If Control never changes, the intro leads into Section 01, which repeats forever.

How the score moves between sections The event starts in the Intro. Intro goes to Section 01 through Transition_01, to Section 02 or Section 03 through Transition_02, or cuts to End. Section 01 goes to Section 02 or Section 03 through Transition_02, or cuts to End. Section 02 goes to Section 03 through Transition_04, or cuts to Section 01 or End. Section 03 cuts to Section 01, Section 02, or End. End plays once and the event stops. Intro Section 01 Section 02 Section 03 End Transition_01 Transition_02 Transition_02 Transition_02 Transition_04 Transition_02 Composed transition No transition content

Solid arrows play the composed transition music named on them. Dashed arrows have no transition content: the music cuts straight to the next section.

MoveTransition audioBefore the new section startsRings on into the new section
Intro → Section 01Transition_01, from the start2 bars of 5/4Transition_01, and the intro through Section 01’s first pass, fading out over its last 2 beats
Intro → Section 02Transition_02, from bar 31 measure of 6/4Transition_02 and the intro
Intro → Section 03Transition_02, from bar 31 measure of 6/4Transition_02 and the intro
Section 01 → Section 02Transition_02, from bar 31 measure of 6/4Transition_02, fading out
Section 01 → Section 03Transition_02, from bar 31 measure of 6/4Transition_02
Section 02 → Section 03Transition_04, from the start1 bar of 5/4, then 1 measure of 6/4Transition_04

The new section starts on its own downbeat right after the measure listed. Everything in the last column keeps sounding over the start of the new section. How long it rings, and how it fades, is your call.

Every other move is an immediate cut: the new section starts on its first downbeat at the exit point.

How the files line up

Pick where the music starts and where Control sends it. The timeline puts each audio file on the bar grid, so you can see where it starts, which part of it is heard, and what is still ringing when the next section lands. Hover over a file for its exact start and end points.

Hearing one play-through

The stems are one possible play-through of the finished music system, bounced to 14 stereo WAVs (48 kHz, 24-bit, 98.9 s each) with a MIDI tempo map. Use them to hear how the sections and transitions should flow. Your FMOD build still uses only the nine audio files above, and it can take other routes through the score.

  1. Download and unzip Epic_Drums_Stems.zip (172.6 MB).
  2. Import EPIC-DRUMS_Tempo-Map.mid into a new DAW session first. If your DAW asks, import its tempo and time signature changes too. The map is 171 BPM in 5/4 with two single measures of 6/4, at bar 14 and bar 22. If your DAW shows those, the map came in correctly.
  3. Import the 14 stems at the very start of the session, where the MIDI file starts.
  4. Play it back with the bar grid showing.

The tempo map also downloads on its own: EPIC-DRUMS_Tempo-Map.mid.

Rules that always apply

  • Loops are seamless. There is no gap, no flam, and no doubled downbeat where a section repeats.
  • Ring-outs are never cut. When a pass repeats, the previous pass’s ring-out keeps sounding under the new one. When the music moves, whatever was playing rings out underneath.
  • Moves wait for exit points. A change to Control never moves the music mid-pass.
  • Sections land on the grid. Every section starts on a downbeat, including after the 6/4 measure in a transition.
  • Nothing plays that shouldn’t. After the music leaves Section 03, no synth layer or extra drum pass starts over the new section.
  • The intro plays once. It plays each time the event starts and never again until the event restarts.
  • The ending ends everything. End plays the stinger, then the event stops with no further input from the game.

How it’s evaluated

There is nothing to hand in. Your build is evaluated in class against the test checklist below, with Control changed live in FMOD Studio.

Test checklist

Your build passes when every check below behaves as described. Run it yourself before class.

  • Default path. Start the event with Control at Section 01 and leave it alone. The intro plays once, Transition_01 starts at bar 6, and Section 01 repeats for at least a minute with no gaps and no cut ring-outs.
  • Waiting for the exit. In Section 01, switch Control to Section 02 mid-pass. The music finishes the pass, plays one measure of 6/4, and lands in Section 02.
  • Into Section 03. From Section 02, switch to Section 03. Transition_04 plays, and Section 03 arrives after one bar of 5/4 and one measure of 6/4. Synth A plays first, Synth B takes over after 8 bars, and the section starts over after 16.
  • Halfway exit. In the first half of Section 03, switch to Section 01. The music leaves at the end of bar 8, not bar 16, and no synth starts new material over Section 01.
  • Endings. From the intro and from each section, switch to End. The stinger starts at the next exit point and fades out, and the event stops by itself.
  • Intro routes. Start the event with Control already at Section 02, then at Section 03, then at End. Each time, the intro leaves at bar 6, beat 3, through the right transition.
  • Stress test. Change Control several times within one pass. At the exit point, the music goes wherever Control points at that moment. Nothing doubles up and nothing drops out.

The solution

Epic_Drums_Solution.zip (36.6 MB) is a finished build of this challenge: an FMOD Studio 2.03 project with the event event:/Music and the global parameter Control. Unzip it, open Epic Drum - Solution.fspro in FMOD Studio, and run it through the test checklist above to compare it with your own build.