Strudel入门
Getting Started Strudel

原始链接: https://strudel.cc/workshop/getting-started/

Strudel 是 Tidal Cycles 模式语言的 JavaScript 版本,允许你用代码创作动态音乐。无需事先了解 JavaScript 或 Tidal Cycles,因为它提供交互式教程。最好的实验平台是 Strudel REPL。 Strudel 允许实时进行音乐现场编码和算法作曲。它是教授音乐和代码的低门槛入口,并通过 MIDI 或 OSC 无缝集成到现有设置中。 它提供生成各种声音的工具,如“海岸线”示例所示。你可以操纵模式、使用采样、创建和弦和旋律,并应用混响、房间混响、FM 合成等效果。Strudel 的功能远不止这些示例所示,各种视频也展示了这一点。要开始使用,请尝试 Strudel 教程,或直接开始创建你的第一个声音。

Hacker News 的讨论围绕 Strudel 展开,这是一个用于音乐创作的实时编码环境。用户称赞其易用性,特别是其可视化反馈和快速创建复杂节奏的能力。一些人强调其与传统乐器相比入门门槛低,而另一些人则指出一些音乐理论知识会有所帮助。 几位用户称赞 Strudel 的编辑器,它会在播放过程中高亮显示活动的代码。一些用户正在积极地将其整合到其他项目中,例如游戏引擎,尽管希望有更好的文档。该项目最近从 GitHub 迁移到 Codeberg,引发了关于使用自由和开放源码平台优势的讨论。 一些用户表达了使用大型语言模型 (LLM) 将音乐理念翻译成 Strudel 代码的兴趣,尽管现有的 LLM 难以处理该语言的语义。总的来说,社区似乎对 Strudel 在经验丰富的程序员和对算法音乐创作感兴趣的新手中的潜力都感到热情。
相关文章

原文

Welcome to the Strudel documentation pages! You’ve come to the right place if you want to learn how to make music with code.

What is Strudel?

With Strudel, you can expressively write dynamic music pieces.
It is an official port of the Tidal Cycles pattern language to JavaScript.
You don’t need to know JavaScript or Tidal Cycles to make music with Strudel. This interactive tutorial will guide you through the basics of Strudel.
The best place to actually make music with Strudel is the Strudel REPL

What can you do with Strudel?

  • live code music: make music with code in real time
  • algorithmic composition: compose music using tidal’s unique approach to pattern manipulation
  • teaching: focussing on a low barrier of entry, Strudel is a good fit for teaching music and code at the same time.
  • integrate into your existing music setup: either via MIDI or OSC, you can use Strudel as a really flexible sequencer

Examples

Here are some examples of how strudel can sound:

// "coastline" @by eddyflux
// @version 1.0
samples('github:eddyflux/crate')
setcps(.75)
let chords = chord("<Bbm9 Fm9>/4").dict('ireal')
stack(
  stack( // DRUMS
    s("bd").struct("<[x*<1 2> [~@3 x]] x>"),
    s("~ [rim, sd:<2 3>]").room("<0 .2>"),
    n("[0 <1 3>]*<2!3 4>").s("hh"),
    s("rd:<1!3 2>*2").mask("<0 0 1 1>/16").gain(.5)
  ).bank('crate')
  .mask("<[0 1] 1 1 1>/16".early(.5))
  , // CHORDS
  chords.offset(-1).voicing().s("gm_epiano1:1")
  .phaser(4).room(.5)
  , // MELODY
  n("<0!3 1*2>").set(chords).mode("root:g2")
  .voicing().s("gm_acoustic_bass"),
  chords.n("[0 <4 3 <2 5>>*2](<3 5>,8)")
  .anchor("D5").voicing()
  .segment(4).clip(rand.range(.4,.8))
  .room(.75).shape(.3).delay(.25)
  .fm(sine.range(3,8).slow(8))
  .lpf(sine.range(500,1000).slow(8)).lpq(5)
  .rarely(ply("2")).chunk(4, fast(2))
  .gain(perlin.range(.6, .9))
  .mask("<0 1 1 0>/16")
)
.late("[0 .01]*4").late("[0 .01]*2").size(4)

These examples cannot fully encompass the variety of things you can do, so check out the showcase for some videos of how people use Strudel.

Getting Started

The best way to start learning Strudel is the workshop. If you’re ready to dive in, let’s start with your first sounds

联系我们 contact @ memedata.com