Возможно ли чтение звуковых файлов .wma в R? - PullRequest
0 голосов
/ 07 сентября 2018

Есть ли способ чтения звуковых файлов .WMA в R или ограничения авторского права не позволяют этого?

Конечная цель - преобразовать его в другой формат (MP3 / WAV)

1 Ответ

0 голосов
/ 16 сентября 2018

Так или иначе, в аудиопакетах R используется конвертер ffmpeg .

Пожалуйста, смотрите следующие опции:

  • После его загрузки вы можете использовать R для конвертации WMA в формат MP3 непосредственно system вызовом функции;
  • или вы можете использовать ffmpeg упаковочный пакет для простых преобразований звука. Однако он ориентирован на Linux и может быть легко преобразован в Windows-совместимый.

Пожалуйста, см. Код ниже для варианта 2:

# install.packages("devtools")
# library(devtools)
# install_github("pmur002/ffmpeg")

library(ffmpeg)

# set path to your ffmpeg.exe file
ffmpeg_path <- "C:\\<Path to ffmpeg>\\ffmpeg-20180906-70a7087-win64-static\\bin\\ffmpeg.exe"

ffmpeg_win <- function (inputs, outputs, filters = NULL, overwrite = FALSE, 
                        wait = TRUE, echo = FALSE) {
  if (!is.null(filters)) {
    stop("Filters are currently unsupported")
  }
  if (inherits(inputs, "FFmpeg_input")) {
    inputs <- list(inputs)
  }
  if (inherits(outputs, "FFmpeg_output")) {
    outputs <- list(outputs)
  }
  options <- ""
  if (overwrite) {
    options <- paste0(options, "-y ")
  }
  cmd <- paste(ffmpeg_path, options, do.call(paste, inputs), do.call(paste, 
                                                                     outputs))
  system(cmd, wait = wait)
  if (echo) {
    cat(cmd, "\n")
  }
}

# just copy to your working directory required file, here is for example "mellow.wma"
ffmpeg_win(fileInput("mellow.wma"), fileOutput("mellow.mp3"), echo = TRUE)
...