Factorio.com|Forums|Wiki|Mod Portal|API Docs

# Factorio Prototype Docs Version 2.0.77

# SoundPrototype - Prototype Docs

## SoundPrototype 'sound'

Specifies a sound that can be used with SoundPath at runtime.

## Properties

- default
- sorted

type | :: `"sound"` |
name | :: string | Name of the sound. [...]
Name of the sound. [...]
category optional | :: SoundType |
priority optional | :: uint8 | Sounds with higher priority will replace a sound with lower priority if the maximum sounds limit is reached. [...]
Sounds with higher priority will replace a sound with lower priority if the maximum sounds limit is reached. [...]
aggregation optional | :: AggregationSpecification |
allow_random_repeat optional | :: boolean |
audible_distance_modifier optional | :: double | Modifies how far a sound can be heard. [...]
Modifies how far a sound can be heard. [...]
game_controller_vibration_data optional | :: GameControllerVibrationData |
advanced_volume_control optional | :: AdvancedVolumeControl |
speed_smoothing_window_size optional | :: uint32 |
variations optional | :: SoundDefinition or array[SoundDefinition] |
filename optional | :: FileName | Supported sound file formats are `.ogg` (Vorbis and Opus) and `.wav`. [...]
Supported sound file formats are `.ogg` (Vorbis and Opus) and `.wav`. [...]
volume optional | :: float | Only loaded if `variations` is not defined. [...]
Only loaded if `variations` is not defined. [...]
min_volume optional | :: float | Only loaded if `variations` and `volume` are not defined. [...]
Only loaded if `variations` and `volume` are not defined. [...]
max_volume optional | :: float | Only loaded if `variations` is not defined. [...]
Only loaded if `variations` is not defined. [...]
preload optional | :: boolean | Only loaded if `variations` is not defined.
Only loaded if `variations` is not defined.
speed optional | :: float | Speed must be `>= 1 / 64`. [...]
Speed must be `>= 1 / 64`. [...]
min_speed optional | :: float | Must be `>= 1 / 64`. [...]
Must be `>= 1 / 64`. [...]
max_speed optional | :: float | Must be `>= min_speed`. [...]
Must be `>= min_speed`. [...]
modifiers optional | :: SoundModifier or array[SoundModifier] | Only loaded if `variations` is not defined.
Only loaded if `variations` is not defined.

name | :: string | Name of the sound. [...]
Name of the sound. [...]
type | :: `"sound"` |
advanced_volume_control optional | :: AdvancedVolumeControl |
aggregation optional | :: AggregationSpecification |
allow_random_repeat optional | :: boolean |
audible_distance_modifier optional | :: double | Modifies how far a sound can be heard. [...]
Modifies how far a sound can be heard. [...]
category optional | :: SoundType |
filename optional | :: FileName | Supported sound file formats are `.ogg` (Vorbis and Opus) and `.wav`. [...]
Supported sound file formats are `.ogg` (Vorbis and Opus) and `.wav`. [...]
game_controller_vibration_data optional | :: GameControllerVibrationData |
max_speed optional | :: float | Must be `>= min_speed`. [...]
Must be `>= min_speed`. [...]
max_volume optional | :: float | Only loaded if `variations` is not defined. [...]
Only loaded if `variations` is not defined. [...]
min_speed optional | :: float | Must be `>= 1 / 64`. [...]
Must be `>= 1 / 64`. [...]
min_volume optional | :: float | Only loaded if `variations` and `volume` are not defined. [...]
Only loaded if `variations` and `volume` are not defined. [...]
modifiers optional | :: SoundModifier or array[SoundModifier] | Only loaded if `variations` is not defined.
Only loaded if `variations` is not defined.
preload optional | :: boolean | Only loaded if `variations` is not defined.
Only loaded if `variations` is not defined.
priority optional | :: uint8 | Sounds with higher priority will replace a sound with lower priority if the maximum sounds limit is reached. [...]
Sounds with higher priority will replace a sound with lower priority if the maximum sounds limit is reached. [...]
speed optional | :: float | Speed must be `>= 1 / 64`. [...]
Speed must be `>= 1 / 64`. [...]
speed_smoothing_window_size optional | :: uint32 |
variations optional | :: SoundDefinition or array[SoundDefinition] |
volume optional | :: float | Only loaded if `variations` is not defined. [...]
Only loaded if `variations` is not defined. [...]

## Properties

### type :: `"sound"`

### name :: string

Name of the sound. Can be used as a SoundPath at runtime.

### category :: SoundType optional

Default: `"game-effect"`

### priority :: uint8 optional

Default: `127`

Sounds with higher priority will replace a sound with lower priority if the maximum sounds limit is reached.

0 is the highest priority, 255 is the lowest priority.

### aggregation :: AggregationSpecification optional

### allow_random_repeat :: boolean optional

Default: `false`

### audible_distance_modifier :: double optional

Default: `1.0`

Modifies how far a sound can be heard. Must be between `0` and `1` inclusive.

### game_controller_vibration_data :: GameControllerVibrationData optional

### advanced_volume_control :: AdvancedVolumeControl optional

### speed_smoothing_window_size :: uint32 optional

Default: `0`

### variations :: SoundDefinition or array[SoundDefinition] optional

### filename :: FileName optional

Supported sound file formats are `.ogg` (Vorbis and Opus) and `.wav`.

Only loaded, and mandatory if `variations` is not defined.

### volume :: float optional

Default: `1.0`

Only loaded if `variations` is not defined.

This sets both min and max volumes.

Must be `>= 0`.

### min_volume :: float optional

Default: `1.0`

Only loaded if `variations` and `volume` are not defined.

Must be `>= 0`.

### max_volume :: float optional

Default: `1.0`

Only loaded if `variations` is not defined.

Only loaded if `min_volume` is defined.

Must be `>= min_volume`.

### preload :: boolean optional

Only loaded if `variations` is not defined.

### speed :: float optional

Default: `1.0`

Speed must be `>= 1 / 64`. This sets both min and max speeds.

Only loaded if `variations` is not defined.

### min_speed :: float optional

Default: `1.0`

Must be `>= 1 / 64`.

Only loaded if both `variations` and `speed` are not defined.

### max_speed :: float optional

Default: `1.0`

Must be `>= min_speed`.

Only loaded if `variations` is not defined. Only loaded, and mandatory if `min_speed` is defined.

### modifiers :: SoundModifier or array[SoundModifier] optional

Only loaded if `variations` is not defined.