Guide

Crowd noise

The crowd you hear in a match is synthesised by default. A mod can replace it, piece by piece, with recordings: the room's murmur, the reactions to a big score or a missed double, and chants and shout-outs between throws.

There is nothing to declare in mod.json and no schema: put audio files in the right folders and they are picked up when a match starts. The mod must be a folder (not a zip) and enabled.

Where the files go#

my-mod/
  audio/
    crowd/
      bed/        the room's murmur, looped under everything
      roar/       a 180, a big checkout, the winning dart
      cheer/      a good visit
      applause/   polite appreciation
      groan/      a missed dart at a double, a bounce-out
      ooh/        a near miss
      chant/      played now and then while a match is on
      shout/      a single voice: a shout-out, a heckle, a "come on!"
      crowd.json  optional settings (below)

Files can be .mp3, .ogg or .wav. Put as many as you like in a folder: one is chosen each time.

  • A kind with recordings uses them. A kind without any keeps the synthesised sound, so a mod with only chant/ adds chants and changes nothing else.
  • Recordings from several mods are pooled, in load order, unless a mod says it replaces a kind (see replace).
  • Loudness follows the Crowd volume in Settings.
  • Trim the silence from the start of reaction files: they are played the moment the dart lands.
  • A bed should loop cleanly (same level at the start and the end). Its level follows the size of the crowd and drops when someone is on a double.
  • chant and shout are not played while the room is hushed.

Settings: audio/crowd/crowd.json#

Everything is optional.

{
  "kinds": {
    "chant": { "every": [40, 90], "minCrowd": 0.4, "gain": 0.8 },
    "shout": { "every": [20, 50], "gain": 0.7 },
    "bed": { "gain": 0.6 }
  },
  "files": {
    "chant/stand-up.mp3": { "weight": 3, "minCrowd": 0.7 },
    "roar/arena.mp3": { "gain": 1.2, "minCrowd": 0.8 }
  },
  "replace": ["bed"]
}
FieldMeaning
kinds.<kind>.gainLoudness of every recording of that kind, 0–2 (1 = as recorded)
kinds.<kind>.minCrowdOnly for crowds at least this big: 0 is a pub, about 0.5 a hall, 1 a full arena
kinds.<kind>.everychant and shout only: seconds between plays, [shortest, longest]. Defaults: chants every 40–90 s for crowds of 0.4 and up, shouts every 20–50 s
files.<kind>/<file>.weightHow often this file is chosen against the others of its kind (default 1; 0 = never)
files.<kind>/<file>.gainLoudness of this file, on top of its kind's
files.<kind>/<file>.minCrowdThis file only for crowds at least this big (a stadium roar should not come out of a pub)
replaceKinds for which this mod's recordings replace those of the game and of earlier mods instead of joining them

A later mod's kinds settings replace an earlier mod's, field by field.

Checking it#

Start an exhibition match with the mod enabled. A development build logs a warning for any file it cannot decode ([crowd] <file>: …).

Written for Darts Player Simulator 0.50.32. Built from the game's own schemas and its base pack.