使用tuneR在R中创建大型.wav,该波形由5秒的随机段组成,每个段之间保持10秒钟的静默时间

时间:2018-09-27 20:04:07

标签: r wav tuner

我正在尝试创建1个小时的片段,用于语音分析编码,从下面的一个.wav中随机选择5秒钟的片段,然后将其剪辑,并在其间保持10秒钟的静默片段(以进行编码)。我被困在这里,如何将列表中的信息传输到带有静默片段的.wav文件中。这段代码是从Internet的各个区域借来并进行了调整的,包括一些帮助将单个5秒钟的剪辑导出到类似此帖子的帖子中。谢谢Edward Carney

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)

感谢您的帮助!

0 个答案:

没有答案