我试着用R来做音乐。我发现:
我认为tuneR可以做我想做的一切,我找到了这个帖子(有可能在R中编码音乐并播放它吗?(Mac OS X))。这篇文章的第一个回应(来自'rakshith1124')似乎回答了我的问题,但要么我的编码不正确,要么我的操作系统或.wav播放器出现了问题。下面是我使用的代码:
library(tuneR)
sr <- 8000
bits <- 16
secs <- 1
amp <- 1
t <- seq(0, secs, 1/sr)
C0 <- 16.35
G3 <- 196
A5 <- 880
C0 <- floor(2^(bits-2)*(amp*sin(2*pi*C0*t)))
G3 <- floor(2^(bits-2)*(amp*sin(2*pi*G3*t)))
A5 <- floor(2^(bits-2)*(amp*sin(2*pi*A5*t)))
u <- Wave(c(C0,G3,A5), samp.rate=sr, bit=bits)
play(u)这应该播放三个音符(C0,G3,A5),每个音符播放1秒。我从https://pages.mtu.edu/~suits/notefreqs.html得到了音符的频率。脚本播放的.wav (你)似乎在截断第一个音符或其他我不明白的东西。有谁知道发生了什么事,并相关地说,是否有一个更好的软件包用于音乐创作?
发布于 2021-03-23 12:21:52
R软件包"gm“是为创造音乐而设计的。一个“你好!世界”的例子:
library(gm)
m <-
# initialize a Music object
Music() +
# add a 4/4 time signature
Meter(4, 4) +
# add a musical line of four quarter notes
Line(list("C5", "D5", "E5", "F5"), list(1, 1, 1, 1))
show(m)

您可以查看它的完整指南以获得更多的示例。它在R Markdown文档、木星笔记本、RStudio中生成音乐分数和音频文件。
我是这个方案的作者(我被要求公开我与建议的解决方案的联系)。
发布于 2018-10-16 15:17:07
好酷的问题!
代码在我的机器上完美地复制--包括开头那个奇怪的“截断”声音。为什么这是正确的?问题是,您的扬声器/声卡/播放器不能复制频率低至16赫兹(这是真正的低)。C0之后的其他音符似乎没什么问题。
另见关于SE电子学的这个问题。
https://stackoverflow.com/questions/52838230
复制相似问题