# love.sound.newSoundData

Creates new SoundData from a filepath, File, or Decoder. It's also possible to create SoundData with a custom sample rate, channel and bit depth.

The sound data will be decoded to the memory in a raw format. It is recommended to create only short sounds like effects, as a 3 minute song uses 30 MB of memory this way.

## Function

### Synopsis

    soundData = love.sound.newSoundData( filename )

### Arguments

`string filename`
  The file name of the file to load.

### Returns

`SoundData soundData`
  A new SoundData object.

## Function

### Synopsis

    soundData = love.sound.newSoundData( file )

### Arguments

`File file`
  A File pointing to an audio file.

### Returns

`SoundData soundData`
  A new SoundData object.

## Function

### Synopsis

    soundData = love.sound.newSoundData( decoder )

### Arguments

`Decoder decoder`
  Decode data from this Decoder until EOF.

### Returns

`SoundData soundData`
  A new SoundData object.

## Function

### Synopsis

    soundData = love.sound.newSoundData( samples, rate, bits, channels )

### Arguments

`number samples`
  Total number of samples.
`number rate (44100)`
  Number of samples per second
`number bits (16)`
  Bits per sample (8 or 16).
`number channels (2)`
  Either 1 for mono or 2 for stereo.

### Returns

`SoundData soundData`
  A new SoundData object.

## Examples

### Loading SoundData from files

    wav = love.sound.newSoundData("doom.wav")
    -- Beware: if doom.mp3 is a huge file, it will take
    -- ages to decode.
    mp3 = love.sound.newSoundData("doom.mp3")

## See Also

- love.sound
- SoundData

##

Category:

- Functions