9

我刚刚完成了 https://github.com/overtone/overtone/wiki/Getting-Started 这太棒了。

现在,我想做更多。

我是数学/CS专业的,所以我知道傅立叶变换是什么;但是,我没有音乐背景。我想学习以下内容:

  • 模拟基本打击乐器
  • 组成一些短片。

但是,我对从头开始开发这些技能不太感兴趣,而对通过 clojure/overtone/supercollider 获得一个不错的教程/导游更感兴趣。

[我发现通过调整一些好的东西来学习更快;而不是为我的第一次运行从头开始构建。]

谢谢!

4

3 回答 3

8

我不知道任何导游本身,但 Overtone 的示例包含大量代码,用于合成各种乐器以及从这些乐器和/或采样乐器中创作作品。我个人推荐bells.clj(合成铃+作曲)和auto_dubstep.clj(合成鼓+作曲)

于 2012-04-19T14:44:48.117 回答
3

它并不能完全回答您的问题(与 clojure 无关),但我很确定您会欣赏 dave benson 的数学和音乐(似乎他也有其他书籍,但那是在线免费的)。

于 2012-04-19T14:52:19.813 回答
3

有很多关于制作声音的例子,虽然当开始使用 Overtone 时(我仍然是 99% 新手)发现line防止你泄漏合成器描述符并且metronome有时会导致声音发生的功能花了太长时间。

(definst
    ... create component sounds ...
    (out 0 (* v (clip2 (+ wob (* kick-vol kick) (* snare-vol snare)) 1)
              (line:kr 0 dur dur FREE)))

乘以调用以line:kr创建具有定义生命周期的合成器

metronome然后你可以像在这个小节拍中那样使用for 组合:

(defn beat2 [beat]
  (at (metro beat) (#'kick 220 0.3 0.5 1.5))
  (at (+ 0.5  (metro beat)) (#'kick 220 0.3 0.5 1.5))
  (if (= 0 (mod beat 2))
    (at (metro (+ 0.17 beat)) (#'kick)))
  (at (metro (+ 0.35 beat)) (c-hat))
  (if (even? beat) (at (metro (+ 0.45 beat)) (c-hat)))
  (at (metro (+ 0.5 beat)) (#'mew 8))
  (apply-at (metro (inc beat))
            (if (= 0 (mod beat 200)) #'beat1 #'beat2)
            (inc beat) []))
于 2012-04-19T22:01:28.267 回答