Read audio binary and frequency data
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.
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 )
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 |
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.
# 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)))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.