-
Notifications
You must be signed in to change notification settings - Fork 5
/
09-other-libraries.html
77 lines (70 loc) · 3.52 KB
/
09-other-libraries.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<!DOCTYPE html>
<html lang="en">
<head>
<!-- 2023-10-04 Wed 20:40 -->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Other Libraries</title>
<meta name="author" content="modula t. worm" />
<meta name="generator" content="Org Mode" />
</head>
<body>
<div id="content" class="content">
<header>
<h1 class="title">Other Libraries</h1>
</header><div id="outline-container-org4570dd9" class="outline-2">
<h2 id="org4570dd9"><a href="https://github.com/defaultxr/cl-patterns">cl-patterns</a></h2>
<div class="outline-text-2" id="text-org4570dd9">
<p>
cl-patterns is a music sequencing library for Common Lisp. It is heavily inspired by the Patterns system in SuperCollider, but aims to improve upon it. A few notable differences are:
</p>
<ul class="org-ul">
<li><p>
More consistent argument order.
SuperCollider patterns:
</p>
<div class="org-src-container">
<pre class="src src-sclang"><span style="color: #78DCE8;">Pseq</span><span style="color: #AB9DF2;">(</span>list,<span style="color: #383539;"> </span>repeats<span style="color: #AB9DF2;">)</span>
<span style="color: #78DCE8;">Pstutter</span><span style="color: #AB9DF2;">(</span>repeats,<span style="color: #383539;"> </span>pattern<span style="color: #000000; background-color: #d0d040;">)</span>
</pre>
</div>
<p>
cl-patterns:
</p>
<div class="org-src-container">
<pre class="src src-lisp"><span style="color: #AB9DF2;">(</span>pseq<span style="color: #383539;"> </span>list<span style="color: #383539;"> </span>repeats<span style="color: #AB9DF2;">)</span>
<span style="color: #AB9DF2;">(</span>pstutter<span style="color: #383539;"> </span>pattern<span style="color: #383539;"> </span>repeats<span style="color: #000000; background-color: #d0d040;">)</span>
</pre>
</div></li>
<li>More introspectable and configurable.</li>
<li>Differing terminology: a SuperCollider pattern generates a <code>Stream</code> of results, while a cl-patterns pattern generates a <code>pstream</code> of outputs.</li>
<li>cl-patterns supports additional backends; for example, it can be used with SuperCollider/cl-collider, but it can also be used with Incudine.</li>
</ul>
<p>
See cl-patterns' <a href="https://github.com/defaultxr/cl-patterns/blob/master/doc/sc-differences.org">sc-differences.org</a> for more ways it differs from SuperCollider's patterns.
</p>
</div>
</div>
<div id="outline-container-orga8d124c" class="outline-2">
<h2 id="orga8d124c"><a href="https://incudine.sourceforge.net/">Incudine</a></h2>
<div class="outline-text-2" id="text-orga8d124c">
<p>
Incudine is a music and digital signal processing programming environment for Common Lisp. It is similar to SuperCollider in that it is a real time audio synthesis server with a large feature set, however it also differs from SC in several ways. Here are a few examples:
</p>
<ul class="org-ul">
<li>Designed from the start to be used with Common Lisp.</li>
<li>Allows user-definable "virtual UGens" to be written in Common Lisp. cl-collider supports "embeddable synthdefs" functionality, which is similar.</li>
<li>Differing terminology: for example, what SuperCollider calls "SynthDefs", Incudine calls "DSPs".</li>
<li>Built-in LV2 (Linux audio plugin) support.</li>
<li>Built-in LADSPA (Linux audio plugin) support. SuperCollider requires the sc3-plugins package to be installed for this.</li>
<li>Built-in FluidSynth (soundfont) support.</li>
<li>GPL 2.0 license instead of GPL 3.0.</li>
</ul>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="date">Last updated: 2023-10-04 Wed 20:40</p>
</div>
</body>
</html>