Я пытаюсь создать 1-часовые клипы для кодирования анализа речи, 5-секундные клипы, случайно выбранные ниже из большого .wav, затем обрезанные и с 10-секундными клипами тишины между ними (для кодирования во время).Я застрял здесь, с тем, как я передаю информацию из списка, в .wav с частями тишины.Этот код был заимствован и изменен в различных областях Интернета, включая некоторую помощь в экспорте отдельных 5-секундных клипов в записи, похожей на эту.Спасибо Эдвард Карни !
install.packages("tuneR")
library(tuneR)
# Load audio wave into object
Rec12236 <- readWave(".wav")
# Make sure the file loaded correctly - should show sample rate, etc.
head(Rec12236)
# Creating a 10 second wav of silence
x <- seq(0, 0, length = 441000)
Wobj <- Wave(x)
writeWave(Wobj, "fill")
#Set frequency
freq <- Rec12236@samp.rate
# Set the length
totlen <- length(Rec12236@left) # 1 channel default is left
#Set the duration
totsec <- totlen/freq
# How long each sample is (in seconds)
seglen <- 5
#Defining the break points
breaks <- unique(c(seq(0, totsec, seglen), totsec))
index <- 1:(length(breaks)-1)
#Splitting the file
items <- lapply(index, function(i) Rec12236@left[(breaks[i]*freq):
(breaks[i+1]*freq)]
# Sampling 240 .wavs from items
ranitems <- sample(items, 240)
Спасибо за помощь!