Prototype/Sound

From Official Factorio Wiki
Revision as of 10:43, 21 September 2023 by BilkaBot (talk | contribs) (Updated styling of prototype doc migration note)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The prototype docs have moved to a new website with an improved format. This documentation page can now be found here: https://lua-api.factorio.com/latest/prototypes/SoundPrototype.html

This wiki page is no longer updated and will be removed at some point in the future, so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback on the forums.


Prototype definitions » Prototype/Sound


Specifies a sound that can be used with https://lua-api.factorio.com/latest/Concepts.html#SoundPath during runtime.


Prototype/Sound — sound
name::string
type::string
aggregation::table (optional)
allow_random_repeat::bool (optional)
audible_distance_modifier::double (optional)
category::string (optional)
filename::FileName (optional)
max_speed::float (optional)
min_speed::float (optional)
preload::bool (optional)
speed::float (optional)
variations::table (array) of tables (optional)
volume::float (optional)

Mandatory properties

type

Type: string
Must be "sound".

name

Type: string
Name of the sound. Must be unique. Used as a https://lua-api.factorio.com/latest/Concepts.html#SoundPath.

Optional properties

category

Type: string
Default: "game-effect"
One of "game-effect", "gui-effect", "ambient", "environment", "walking", "alert" and "wind".

This defines which slider in the sound settings affects the volume of this sound. Furthermore, some sound types are mixed differently than others, e.g. zoom level effects are applied.[1]

aggregation

Type: table
Table with the following members:

  • max_count - uint32 - Mandatory.
  • progress_threshold - float - Optional. - Default: 1.0 - If count already playing is true, this will determine maximum progress when instance is counted toward playing sounds.
  • remove - bool - Mandatory.
  • count_already_playing - bool - Optional. - Default: false - If true already playing sounds are taken into account when checking maxCount.

allow_random_repeat

Type: bool
Default: false

audible_distance_modifier

Type: double
Default: 1.0

variations

Type: table (array) of tables
Array of tables with the following members:

  • filename - FileName - Mandatory. Supported sound file formats are .ogg, .wav and .voc.
  • volume - float - Optional. - Default: 1.0
  • preload - bool - Optional.
  • speed - float - Optional. - Default: 1.0 - Speed must be >= 1 / 64. This sets both min and max speed.
  • min_speed - float - Optional. Not loaded if speed is present. - Default: 1.0 - Speed must be >= 1 / 64.
  • max_speed - float - Mandatory if min_speed is present, otherwise not loaded. - Default: 1.0 - Must be >= min_speed.

filename

Type: FileName
Mandatory if variations is not given.

Support sound file formats are .ogg, .wav and .voc.

volume

Type: float
Default: 1.0
Only loaded if variations is not given.

preload

Type: bool
Only loaded if variations is not given.

speed

Type: float
Default: 1.0
Only loaded if variations is not given. Speed must be >= 1 / 64. This sets both min and max speed.

min_speed

Type: float
Default: 1.0
Only loaded if variations is not given. Not loaded if speed is present. Speed must be >= 1 / 64.

max_speed

Type: float
Default: 1.0
Only loaded if variations is not given. Mandatory if min_speed is present, otherwise not loaded. Must be >= min_speed.