R: Read audio binary and frequency data

read_audio_fft {av} | R Documentation

## Read audio binary and frequency data

### Description

Reads raw audio data from any common audio or video format. Use read_audio_bin to get raw PCM audio samples, or read_audio_fft to stream-convert directly into frequency domain (spectrum) data using FFmpeg built-in FFT.

### Usage

    read_audio_fft(
      audio,
      window = hanning(1024),
      overlap = 0.75,
      sample_rate = NULL,
      start_time = NULL,
      end_time = NULL
    )

    read_audio_bin(
      audio,
      channels = NULL,
      sample_rate = NULL,
      start_time = NULL,
      end_time = NULL
    )

### Arguments

`audio` | path to the input sound or video file containing the audio stream
`window` | vector with weights defining the moving fft window function. The length of this vector is the size of the window and hence determines the output frequency range.
`overlap` | value between 0 and 1 of overlap proportion between moving fft windows
`sample_rate` | downsample audio to reduce FFT output size. Default keeps sample rate from the input file.
`start_time, end_time` | position (in seconds) to cut input stream to be processed.
`channels` | number of output channels, set to 1 to convert to mono sound

### Details

Currently read_audio_fft automatically converts input audio to mono channel such that we get a single matrix. Use the `plot()` method on data returned by read_audio_fft to show the spectrogram. The av_spectrogram_video generates a video that plays the audio while showing an animated spectrogram with moving status bar, which is very cool.

### See Also

Other av: `capturing`, `demo()`, `encoding`, `formats`, `info`, `logging`

### Examples

    # Use a 5 sec fragment
    wonderland <- system.file('samples/Synapsis-Wonderland.mp3', package='av')

    # Read initial 5 sec as as frequency spectrum
    fft_data <- read_audio_fft(wonderland, end_time = 5.0)
    dim(fft_data)

    # Plot the spectrogram
    plot(fft_data)

    # Show other parameters
    dim(read_audio_fft(wonderland, end_time = 5.0, hamming(2048)))
    dim(read_audio_fft(wonderland, end_time = 5.0, hamming(4096)))

[Package av version 0.6.0 Index]