R - Аудио, запись до остановки

Я экспериментировал с "аудио" пакетом R. Я хочу написать сценарий для записи аудио на неопределенный срок без установленного ограничения времени (до остановки), который позволит анализировать аудиоданные в режиме реального времени, пока новое аудио все еще записывается.

До сих пор я был в состоянии написать функцию, которая записывает определенное количество времени. Вот минимально воспроизводимый пример, где он работает в течение десяти секунд:

library(audio)

audio.record <- function(samples, sample.rate) {
  a <- record(samples, sample.rate, 2)
  wait(a)
  x <- a$data
  close(a); rm(a)
  audio <- x * 2
  audio[audio < -1] <- -1
  audio[audio > 1] <- 1
  return(audio)
}

seconds <- 10
sample.rate <- 16000
samples <- sample.rate * (seconds / 2)

x <- audio.record(samples, sample.rate)
play(x)

Я даже немного не уверен, как работают сэмплы и частота дискретизации, так как раньше я не работал со звуком. Любой совет или инструкция будут оценены.

0 ответов

Другие вопросы по тегам