In this guide, you will learn how to use custom hitsounds in your beatmaps.
In order to use custom hitsounds in your beatmap, you will first need some! The custom hitsound library is a great resource for getting sound samples, including cymbals, drums, bells, whistles, and more. Alternatively, if you can't find what you are looking for, you can make your own samples!
Hitsounds should be in the .wav
or .ogg
format, as these have no playback delay and loop correctly. Sound files in .mp3
format have slight delays and may not accurately match up to the song you are trying to hitsound. However, they may still be usable for certain sound effects such as applause or ambient noises, where the size of .wav
or .ogg
files may be prohibitively large.
Once you have your desired sound files, move them into the folder of the beatmap you would like to use them in. If you don't know where that folder is located, follow these directions:
Edit
option.File
(the left-most option of the navigation menu).Open Song Folder
.If you are running osu! on macOS, you may need to take a slightly different approach:
Show Package Contents
.drive_c -> osu! -> Songs
(sorting by Last Modified
might be helpful).Once the sound files are placed inside the beatmap's folder, they must be named appropriately in order for osu! to recognise them as hitsounds.
Three basic categories of hitsounds, referred to as samplesets, exist in osu!: Normal (N), Soft (S), and Drum (D). Each sampleset can be furtherly subdivided into different sounds. The most common of these are: "hitnormal", "hitclap", "hitwhistle", and "hitfinish". More specialised sounds also exist, such as those that play during a slider ("sliderslide", "slidertick") or spinner ("spinnerspin").
For a full list of hitsounds that can be modified, please refer to the skinning entry on hitsounds.
Hitsound files are named to reflect these two properties of sampleset and the type of sound as follows:
<sampleset>-<sound>.wav
where <sampleset>
is either "normal", "soft" or "drum", and <sound>
is one of the additions mentioned above (e.g. "hitclap").
A typical beatmap folder containing custom hitsounds
In the image shown above, the first listed sound is named soft-hitclap.wav
, and will replace the default hitsound that plays when a hit object with the Soft sampleset and "hitclap" addition is successfully hit. Note that this will only play on the selected sampleset. If your beatmap uses other samplesets, they will require additional hitsound files (even if you intend to use the exact same sound sample), such as by adding a normal-hitclap.wav
while using the Normal sampleset.
Instructing osu! how to use custom hitsound additions
In order to have osu! play your custom hitsounds correctly, make sure to check the second option, "Custom 1", as in the image shown above. Default custom samplesets are shortened to <SS>:C1
, where <SS>
is the first letter of the sampleset group, either N (Normal), S (Soft), or D (Drum).
Note that you don't need to add a custom hitsound for every sound in a sampleset. You will notice in the first image that no instance of soft-slidertick.wav
is present, and in this case, osu! will continue to use the default sound for all successful regular slider tick hits when the Soft sampleset is in use.
Sometimes, a song may have multiple sections with very different musical styles, and one group of hitsounds won't fit all of them. In this case, it is often helpful to utilise a different hitsound (or group of hitsounds) entirely. This can be achieved by adding a number to the end of the hitsound file name as follows:
<sampleset>-<sound><#>.wav
where <#>
can be any number of your choice. The osu! editor natively supports values between 2 and 100, but greater values can be achieved via editing of the .osu
file if required. Note that the first group of hitsounds doesn't need to be labelled with the number "1" even if multiple hitsound groups are used. Therefore soft-hitclap1.wav
won't work, and soft-hitclap.wav
will be used instead.
In order to ensure that different-numbered hitsounds or hitsound groups play correctly, you'll need to add an inherited timing point (green line) and change the sampleset from "Custom 1" to the option immediately below it, as shown in the image below. Here you can enter the number of the hitsound group which you want to use.
Changing to a second custom hitsound group
When the sampleset of an inherited timing point is set to S:C2
as in the image above, all default hitsounds and hitsound additions will be replaced by appropriately named custom hitsounds, such as soft-hitclap2.wav
where present. These will continue to take effect until an inherited timing point with a different sampleset is encountered — in this image at 02:00:723
, when the sampleset switches back to S:C1
.